Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Integrate the alpha markstream-angular renderer into Angular 20+ applications with standalone components, signals, safe HTML defaults, and optional peer features.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -41% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -39% | 0% |
Add Markstream to Angular 20+ while preserving standalone-component patterns, signal-friendly bindings, safe rendering defaults, and explicit optional dependencies. Use markstream-install for framework selection; use this skill once Angular is confirmed.
Use for Angular-specific standalone imports, CSS, signals, custom tags or components, streaming state, and optional peers. Do not use below Angular 20 or when the application cannot accept an alpha renderer API.
Before changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.
markstream-angular is alpha.markstream-angular/index.css; add KaTeX CSS only for math.MarkstreamAngularComponent into the standalone component's imports.[content] and [smoothStreaming]="'auto'". Use nodes plus final only when another layer owns the AST.[fade]="false" and opt into [typewriter]="true". On completion set [final]="true", disable pacing/cursor, and enable fade only if desired.[customHtmlTags] and [customComponents] only for trusted tag workflows.[htmlPolicy]="'safe'" and Mermaid strict mode unless a narrowly scoped trusted legacy surface requires otherwise.tsimport { Component, signal } from '@angular/core' import { MarkstreamAngularComponent } from 'markstream-angular' import 'markstream-angular/index.css' @Component({ selector: 'app-answer', standalone: true, imports: [MarkstreamAngularComponent], template: ` <markstream-angular [content]="markdown()" [final]="done()" [fade]="done()" [typewriter]="!done()" [smoothStreaming]="done() ? false : 'auto'" [htmlPolicy]="'safe'" /> `, }) export class AnswerComponent { markdown = signal('# Streaming answer') done = signal(false) }
Review dependency changes before installation. Never broaden HTML or Mermaid trust settings for untrusted model output.
Other measured skills in the registry, with their headline benchmark lift.