brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
markstream-migrationAudit and migrate existing Markdown rendering to Markstream, or upgrade a markstream-vue 1.x integration to 2.x. Use when Codex needs to replace another renderer, classify direct vs custom vs plugin-heavy adoption, preserve behavior during adoption, migrate custom renderers into scoped Markstream overrides, decide when `nodes` streaming is worth adopting, o…
Independent GitHub snapshot · Automated classification · Original documentation governs
nodes streaming is worth adopting, or replace removed 1.x code-block dependencies, APIs, preview payloads, and parser types.Use this skill when a repo already renders Markdown and the task is either to adopt Markstream safely or to upgrade an existing markstream-vue 1.x integration to 2.x.
Inspect package.json, the lockfile, imports, and renderer props before changing code.
markstream-vue 1.x, read references/vue-1x-to-2x.md and follow Route B. Confirm the package dependency instead of routing only from shared names such as MarkdownCodeBlockNode or InternalParseOptions, which can also appear in other adapters.react-markdown, markdown-it, marked, or another renderer with a Markstream package, read references/adoption-checklist.md and follow Route A.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.smooth-streaming controls output pacing and fade controls opacity; they can be enabled together. mode="chat" keeps fade=false as a lightweight default. Add fade when gradual text reveal is desired; keep it off when animation cost matters more. Do not carry a legacy :fade="!isStreaming" binding into a Vue 3 migration unless the host wants that policy.mode="chat" on the same chat row and switch pacing/animation props instead. Vue 3 streaming: mode="chat", final, and optional fade. Vue 3 completed chat history: keep mode="chat", use :smooth-streaming="false" when pacing is unnecessary, and choose fade independently. Use mode="docs" only for separate rich document surfaces.markstream-vue version and package-manager resolution.next resolves to that generation, or markstream-vue@2 after stable release.monacoOptions / codeBlockMonacoOptions fields to the shared codeBlockOptions contract and delete unsupported Monaco-only fields.stream-diffs only when enhanced code or diff blocks are required; otherwise use the plain fallback.htmlPolicy / html-policy="trusted" and mermaidProps.isStrict = false instead of weakening defaults everywhere.docs/guide/migration-2-0.mddocs/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.md