Markstream Angular

← Back to skills

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.

Category: General & Miscellaneous
Repo: antigravity-awesome-skills
Path: skills/markstream-angular/SKILL.md
Updated: 7/27/2026, 5:10:22 AM

AI Summary

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. It is useful for general automation, multi-purpose workflows, cross-disciplinary tasks, and utility skills. Source: antigravity-awesome-skills (skills/markstream-angular/SKILL.md).

Markstream Angular

Overview

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.

When to Use

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.

Workflow

Before changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.

  1. Confirm Angular 20+ and record that markstream-angular is alpha.
  2. Install the package plus only requested peers. Import markstream-angular/index.css; add KaTeX CSS only for math.
  3. Import MarkstreamAngularComponent into the standalone component's imports.
  4. Start with [content] and [smoothStreaming]="'auto'". Use nodes plus final only when another layer owns the AST.
  5. For live chat use [fade]="false" and opt into [typewriter]="true". On completion set [final]="true", disable pacing/cursor, and enable fade only if desired.
  6. Use [customHtmlTags] and [customComponents] only for trusted tag workflows.
  7. Keep [htmlPolicy]="'safe'" and Mermaid strict mode unless a narrowly scoped trusted legacy surface requires otherwise.
  8. Validate with the smallest Angular build, typecheck, or dev command.

Example

import { 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)
}

Limitations

  • Requires Angular 20+ and an alpha package.
  • Browser-heavy peers may need bundler or client-boundary work.
  • This skill does not design the host chat architecture or visual system.

Security & Safety Notes

Review dependency changes before installation. Never broaden HTML or Mermaid trust settings for untrusted model output.

Related skills