CtrlK
BlogDocsLog inGet started
Tessl Logo

markstream-svelte

Integrate the beta markstream-svelte package in Svelte 5 or SvelteKit apps. Use when Codex needs Svelte 5 runes, CSS and optional peers, smooth streaming, worker setup, renderer-local or scoped custom components, or SSR-safe boundaries. Svelte 4 is unsupported.

75

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Markstream Svelte

  • Confirm Svelte 5; ask Svelte 4 users to upgrade.
  • Add package and only requested peers.
  • Import CSS after resets; KaTeX CSS for math.
  • Treat the package as beta and confirm the app accepts that API maturity.
  • Default to <MarkdownRender {content} />.
    • For streaming AI chat, keep content and use built-in smooth streaming first.
      • smoothStreaming="auto" is the default and activates when typewriter={true} or maxLiveNodes <= 0.
      • typewriter only controls the blinking cursor and defaults to false.
      • fade controls node enter and streamed-text fade animations and defaults to true.
    • Streaming vs recovering history: in chat UIs the same renderer starts streaming and later switches to history when final={true}.
      • Streaming: smoothStreaming="auto", fade={false}, typewriter={true}. Smooth pacing handles gradual appearance; fade would flicker.
      • Recovering history: smoothStreaming={false}, fade={true}, typewriter={false}. Content is already complete — pacing would slow it down, but fade gives a polished entry animation.
      • Dynamic switch: smoothStreaming={isStreaming ? 'auto' : false}, fade={!isStreaming}.
    • Use nodes + final for worker-preparsed content, shared AST stores, or custom AST control.
  • Use $props() and callbacks.
  • Workers: setKaTeXWorker, setMermaidWorker, workers/*?worker.
  • Custom UI: prefer the renderer-local customComponents prop for one surface; use scoped setCustomComponents, customId, and customHtmlTags when shared registration is intentional.
  • Keep browser-only workers and heavy peers behind SvelteKit client boundaries.
  • Verify with svelte-check, build, or e2e.

Useful Doc Targets

  • docs/guide/svelte.md
  • docs/frameworks/svelte.md
Repository
Simon-He95/markstream-vue
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.