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-reactIntegrate the beta markstream-react package into a React 18+ or Next app. Use when Codex needs to add the React renderer, choose the root, `next`, or `server` entrypoint, import CSS correctly, choose between `content` and `nodes`, keep client boundaries safe, add renderer-local `streamingComponents` or `htmlComponents`, use parser transforms, or prepare a r…
Independent GitHub snapshot · Automated classification · Original documentation governs
next, or server entrypoint, import CSS correctly, choose between content and nodes, keep client boundaries safe, add renderer-local streamingComponents or htmlComponents, use parser transforms, or prepare a repo for react-markdown migration.Use this skill when the host app is React or Next and the task is to wire Markstream safely.
markstream-react plus only the requested optional peers.markstream-react/index.css from the app shell or client entry.markstream-react for the normal client renderer.markstream-react/next for the Next-specific component surface.markstream-react/server for server rendering without client hooks.content.
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.final={true}.
smoothStreaming="auto", fade={false}, typewriter={true}. This is a conservative visual/performance choice, not an API incompatibility. This adapter has not adopted Vue 3's bounded append fades, so verify its animation behavior before enabling both.smoothStreaming={false}, fade={true}, typewriter={false}. Content is already complete — pacing would slow it down, but fade gives a polished entry animation.smoothStreaming={isStreaming ? 'auto' : false}, fade={!isStreaming}.nodes + final only for worker-preparsed content, shared AST stores, or custom AST control.htmlPolicy now defaults to safe, and Mermaid strict mode is on by default through mermaidProps.use client, dynamic imports with ssr: false, or other client-only boundaries when browser-only peers are involved.streamingComponents receives parser-backed NodeComponentProps, supports incomplete custom tags, and automatically contributes its keys to the effective customHtmlTags list.htmlComponents receives sanitized HTML attributes plus children; it does not receive the parser node/loading contract.defineStreamingComponents(...) and defineHtmlComponents(...) for typed maps.setCustomComponents for built-in node overrides or shared compatibility registration.parseOptions transforms only when migration requires token or AST changes.react-markdown, pair this skill with markstream-migration.content with built-in smooth streaming for most AI chat / token streaming surfaces.final becomes true), switch props dynamically — smoothStreaming="auto", fade={false} for streaming; smoothStreaming={false}, fade={true} for history. See docs/guide/ai-chat-streaming.md for full examples.nodes only when another layer owns parsing or AST transforms.smoothStreaming={true} for first-screen SSR content unless intentionally starting from blank; auto mode uses the mounted gate.htmlPolicy="safe" and Mermaid strict mode unless the request is preserving trusted legacy rendering.htmlPolicy="trusted" and mermaidProps={{ isStrict: false }} only on that surface and explain why.docs/guide/react-quick-start.mddocs/guide/react-installation.mddocs/guide/react-components.mddocs/guide/react-next-ssr.mddocs/guide/react-markdown-migration.mddocs/guide/component-overrides.md