Audit and migrate existing Markdown rendering to Markstream. Use when Codex needs to replace another renderer, classify direct vs custom vs plugin-heavy usage, preserve behavior during adoption, migrate custom renderers into scoped Markstream overrides, or decide when `nodes` streaming is worth adopting.
75
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Use this skill when a repo already renders Markdown and the task is to adopt Markstream safely.
Read references/adoption-checklist.md before changing code.
direct: simple string-in renderer swap.renderer-custom: custom renderers but limited parser work.plugin-heavy: remark, rehype, markdown-it, or other transform-heavy pipelines.security-heavy: allow or deny lists, URL rewriting, sanitization, or raw HTML policies.streamingComponents for parser-backed tags and htmlComponents for sanitized HTML-prop components; use setCustomComponents for built-in node overrides or shared compatibility registration.customComponents input when the mapping does not need shared registration.customHtmlTags.parseOptions.preTransformTokens, postTransformTokens, or postTransformNodes only when the old pipeline truly requires token or AST transforms.nodes.
mode="chat" for AI/SSE output, mode="docs" for rich document surfaces, and mode="minimal" for lightweight non-chat surfaces.content and only needs pacing, smooth-streaming="auto" (the default) handles it without requiring nodes.nodes only when the app needs custom AST control, worker preparsing, or high-frequency structural updates.mode="chat" defaults, pair it with :fade="false".mode="chat" on the same chat row and switch pacing/animation props instead. Vue 3 streaming: mode="chat", smooth-streaming="auto", :fade="false". Vue 3 completed chat history: mode="chat", :smooth-streaming="false", optional :fade="true". Use mode="docs" only for separate rich document surfaces.htmlPolicy / html-policy="trusted" and mermaidProps.isStrict = false instead of weakening defaults everywhere.docs/guide/react-markdown-migration.mddocs/guide/react-markdown-migration-cookbook.mddocs/guide/ai-chat-streaming.mddocs/guide/installation.mddocs/guide/component-overrides.mddocs/guide/advanced.mdf25ebd5
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.