Agent skill

Markstream Vue

by Simon-He95 in Simon-He95/markstream-vue

Integrate markstream-vue into a Vue 3 app. An agent skill from Simon-He95/markstream-vue.

MITAuto-check passedMedia & Creative

Install Markstream Vue

skills CLI
$ npx skills add Simon-He95/markstream-vue --skill markstream-vue -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Simon-He95/markstream-vue markstream-vue --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Simon-He95/markstream-vue.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/markstream-vue .claude/skills/markstream-vue && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
markstream-vue
GitHub stars
3k
Token cost
~2.2k tokens
SKILL.md length
1,042 words
Files
2
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Integrate markstream-vue into a Vue 3 app. An agent skill from Simon-He95/markstream-vue.

  • Works in 7 steps: Confirm the repo is Vue 3 and not Nuxt. → Install markstream-vue plus only the… → Import markstream-vue/index.css after… → …
  • Codex needs to add the Vue 3 renderer
  • SKILL.md covers Workflow, Default Decisions and Useful Doc Targets
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Markstream Vue is an agent skill from Simon-He95/markstream-vue. Integrate markstream-vue into a Vue 3 app. Use when Codex needs to add the Vue 3 renderer, import CSS in the right order, choose renderer and DOM modes, choose built-in, plain, or custom code-block paths, choose between content and nodes, coordinate long AI timelines with MarkstreamVirtualTimeline, useMarkstreamVirtualAdapter, or vue-virtual-scroller, enable optional peers such as stream-diffs, Mermaid, KaTeX, D2, or Infographic, or wire scoped custom components in a non-Nuxt Vue repository.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Media & Creative, covering Diagrams and Infographics. It works with Vue.js, Nuxt and Mermaid. The repository describes itself as: Multi-framework streaming Markdown renderers for AI apps: Vue/Nuxt, React/Next.js, Svelte, and Angular, with Mermaid, KaTeX, stream-diffs code blocks, safe HTML, and low-jitter… The licence is MIT.

When your agent uses it

  • Codex needs to add the Vue 3 renderer
  • Import CSS in the right order
  • Choose renderer and DOM modes
  • Choose built-in

Example prompts

  • “/markstream-vue”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the repo is Vue 3 and not Nuxt.
  2. Install markstream-vue plus only the optional peers required by the requested features.
  3. Import markstream-vue/index.css after resets.
  4. Start with content and choose the renderer mode by surface.
  5. For long AI transcripts or existing message virtualizers, choose the virtual-scroll path.
  6. Use custom-id plus scoped setCustomComponents(...) for local overrides, or import { VueRendererMarkdown } from markstream-vue and install…
  7. Validate with the smallest useful dev, build, or typecheck command.

What it can do on your machine

Read from SKILL.md and the folder at commit d5d0c00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Markstream Vue loads about 2.2k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 1,042 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Simon-He95/markstream-vue at commit d5d0c00, republished under its MIT licence (© Simon-He95). 1,042 words, ~2,188 tokens.

Download SKILL.mdSave it as .claude/skills/markstream-vue/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
markstream-vue
description
Integrate markstream-vue into a Vue 3 app. Use when Codex needs to add the Vue 3 renderer, import CSS in the right order, choose renderer and DOM modes, choose built-in, plain, or custom code-block paths, choose between `content` and `nodes`, coordinate long AI timelines with `MarkstreamVirtualTimeline`, `useMarkstreamVirtualAdapter`, or `vue-virtual-scroller`, enable optional peers such as stream-diffs, Mermaid, KaTeX, D2, or Infographic, or wire scoped custom components in a non-Nuxt Vue repository.

Markstream Vue 3

Use this skill when the host app is plain Vue 3, typically Vite-based, and not Nuxt.

Workflow

  1. Confirm the repo is Vue 3 and not Nuxt.
  2. Install markstream-vue plus only the optional peers required by the requested features.
  3. Import markstream-vue/index.css after resets.
    • In Tailwind or UnoCSS projects, use @import 'markstream-vue/index.css' layer(components);.
    • The root JS import does not inject styles; use markstream-vue/index.css or markstream-vue/index.px.css explicitly.
  4. Start with content and choose the renderer mode by surface.
    • Use mode="chat" for AI chat or SSE output. It uses lightweight batches, fade=false, and max-live-nodes=0; smooth-streaming="auto" paces visible output.
    • Use mode="docs" for rich document surfaces. It is the default and enables larger batches, tooltips, and fade.
    • Use mode="minimal" when the surface is lightweight but not chat.
    • Regular fenced code uses the built-in CodeBlockNode, enhanced by stream-diffs when that optional peer is installed and otherwise falling back to <pre><code>. Set render-code-blocks-as-pre=true to force the plain path, or replace code_block through scoped setCustomComponents(...) when the app owns the renderer.
    • Use dom-mode="minimal" only when the surface can also disable wrapper-dependent features such as fade, batching, deferral, virtualization, typewriter, and custom components; otherwise it falls back to full DOM.
    • typewriter only controls the blinking cursor and defaults to false. Prefer typewriter="simple" for high-frequency chat and precise mode for complex inline cursor placement.
    • Set :smooth-streaming="false" to preserve raw chunk cadence; set :smooth-streaming="true" to force smooth pacing even on first-screen content (may cause hydration mismatch in SSR).
    • In Vue 3 (including Nuxt), 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. Vue 3 append fades use stable batches (200 ms, 50 ms coalescing window, at most four batches per text node); later appends do not restart earlier batches.
    • Streaming vs recovering history: in chat UIs the same MarkdownRender starts streaming and later switches to history when final=true.
      • Streaming: start with mode="chat" and final; add fade for text reveal and typewriter only when a cursor is wanted.
      • Recovering/completed chat history: keep mode="chat" on the same chat row to avoid switching layout strategy when final=true; use :smooth-streaming="false", typewriter=false, and choose fade independently for the desired entry/reveal effect. Do not bind it to the inverse of streaming state unless that visual policy is intentional.
      • Use mode="minimal" for lightweight non-chat recovered content, and use mode="docs" only for rich document surfaces, not for finalizing an existing chat message.
    • Switch to nodes plus final only when the app needs custom AST control, worker preparsing, or structural updates beyond pacing.
    • Remember that html-policy now defaults to safe, and Mermaid strict mode is on by default through mermaid-props.
  5. For long AI transcripts or existing message virtualizers, choose the virtual-scroll path.
    • Prefer MarkstreamVirtualTimeline when the app does not already own timeline virtualization.
    • If the app already uses vue-virtual-scroller DynamicScroller, use useMarkstreamVirtualAdapter() and bind adapter.markdownProps(item, index) to Markdown items.
    • Put adapter.measureItem(item, index, el) on the outer timeline row so row chrome is included in item height.
    • Use Markstream's reported logical height (metrics.totalHeight through the adapter/virtualizer), not the renderer element's current offsetHeight, because Markdown node virtualization may only mount the live window.
    • On thread switches, save adapter.captureThreadState() together with the scroller cache; restore the scroller cache before restoring the Markstream anchor.
  6. Use custom-id plus scoped setCustomComponents(...) for local overrides, or import { VueRendererMarkdown } from markstream-vue and install it when the repo already has an app-level plugin entry.
  7. Validate with the smallest useful dev, build, or typecheck command.
Show full SKILL.md (452 more words)Show less

Default Decisions

  • Vue 3 apps default to content; choose mode before fine-tuning lower-level render props.
  • Omit mode only when the surface should use rich docs defaults.
  • Smooth streaming (smooth-streaming="auto") is on by default when typewriter or max-live-nodes <= 0. It only paces the content path; nodes mode is never affected.
  • For manual pacing with nodes, use useSmoothMarkdownStream directly: enqueue() chunks, finish() when done, render from visible, and wait for caughtUp before final parsing.
  • For a non-virtual chat scroller that should follow streaming output, import useStickToBottom from markstream-vue/utils and call scheduleScrollToBottom() after Vue commits new content. It coalesces writes and preserves manual scrollback; do not run scrollIntoView({ behavior: 'smooth' }) for every token. For long mixed timelines, use MarkstreamVirtualTimeline with stick-to-bottom="auto" instead.
  • Streaming vs recovering history: keep the same renderer mode for a given chat row; completed history can disable pacing/cursor; fade is an independent visual choice and may remain enabled throughout streaming and completion. Switch to mode="docs" only when moving content into a separate rich document surface. See docs/guide/ai-chat-streaming.md for full examples.
  • Prefer local component registration unless the repo already uses a shared plugin entry.
  • If a Vue 3 app already virtualizes messages, keep that outer virtualizer in charge and enable virtual-scroll only on large Markdown messages.
  • For vue-virtual-scroller, keep sessionKey tied to content identity (thread:item:revision) and measurementKey tied to layout identity such as width, theme, font, and density.
  • When enhanced code blocks need app-level preloading, use preloadCodeBlockRuntime. For intentional low-level controller use, import the advanced API directly from stream-diffs; do not depend on a raw-runtime getter from markstream-vue.
  • The Vue 3 enhanced code surface uses stream-diffs only; do not install stream-monaco.
  • For large code blocks (tens of thousands of lines) in Vue 3, offload Shiki tokenization to Web Workers by injecting an upstream @pierre/diffs WorkerPoolManager via setStreamDiffsWorkerPool(...) from markstream-vue. The host builds the pool with its own bundler (@pierre/diffs/worker/worker.js?worker) and adds @pierre/diffs as a direct dependency; markstream-vue forwards it as the workerManager runtime option and syncs the active isDark/theme/themes theme to the pool on every change. Without injection, or when the pool reports itself unavailable, highlighting stays on the main thread (unchanged behavior). Do not bundle or spawn the worker inside the library.
  • Configure the built-in surface through top-level code-block-options or direct CodeBlockNode.codeBlockOptions. Keep header/toolbar props in code-block-props; Markstream retains ownership of theme, code/language, streaming lifecycle, header, mount/reveal timing, and disposal.
  • Keep html-policy="safe" and Mermaid strict mode unless the task is explicitly preserving trusted legacy behavior.
  • If a trusted surface needs pre-hardening behavior, opt out locally with html-policy="trusted" and :mermaid-props="{ isStrict: false }", and call out the trust boundary in the final handoff.
  • If the host is actually Nuxt, leave SSR-specific setup to markstream-nuxt.

Useful Doc Targets

  • docs/guide/quick-start.md
  • docs/guide/installation.md
  • docs/guide/usage.md
  • docs/guide/ai-chat-streaming.md
  • docs/guide/performance.md
  • docs/guide/component-overrides.md
  • docs/guide/code-block-runtime.md

© Simon-He95, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/markstream-vue of Simon-He95/markstream-vue.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit d5d0c00

Compare with similar skills

Markstream Vue next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Markstream Vue compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Markstream Vue this skillSimon-He95/markstream-vue3k—~2.2kAutomated safety check: PassMIT
Bm Mdmiantiao-me/bm.md616—~2.1kAutomated safety check: PassLGPL-3.0
SVG Technical Infographic Authormodu-ai/moai-adk1.2k—~5.2kAutomated safety check: NotesApache-2.0
Microsim Generatordmccreary/ibook-skills105—~11kAutomated safety check: PassNone
Show Mefmflurry/settings-opencode171—~1.2kAutomated safety check: PassMIT
Smart Illustratoraxtonliu/smart-illustrator564—~1.8kAutomated safety check: PassMIT

Similar skills

  • Bm Md

    miantiao-me/bm.md

    使用 bm.md 写作、改写、排版或渲染 Markdown;生成 Mermaid 与 AntV Infographic,设置图片尺寸、高亮重点,以及执行 HTML/纯文本转换和 Markdown lint

    616 GitHub stars~2.1k tokensUpdated 9 days ago
    Media & CreativeAuto-check passed
  • Builds hand-editable SVG diagrams from computed layout coordinates, lints the source and renders a 2x PNG, with rules for when mermaid is the better choice.

    1.2k GitHub stars~5.2k tokensUpdated today
    Media & CreativeAuto-check: notes
  • Microsim Generator

    dmccreary/ibook-skills

    Creates interactive educational MicroSims, routing to the best-matched generator - p5.js, Chart.js, Plotly, Mermaid, vis-network, timelines, maps, Venn, causal-loop/feedback-loop diagrams (CLD)…

    105 GitHub stars~11k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Show Me

    fmflurry/settings-opencode

    Help the user understand the current topic visually. An agent skill from fmflurry/settings-opencode.

    171 GitHub stars~1.2k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Smart Illustrator

    axtonliu/smart-illustrator

    Generates article illustrations, batch slide infographics and cover images from your text, using Gemini, Mermaid or Excalidraw engines and a prompt-only mode.

    564 GitHub stars~1.8k tokensUpdated 3 mo ago
    Media & CreativeAuto-check passed
  • Chatbot Mvp Distillation

    pdsuwwz/chatgpt-vue3-light-mvp

    Distill the chatgpt-vue3-light-mvp project into reusable architecture for building similar ChatGPT-style web products in other repositories.

    578 GitHub stars~722 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed

More from Simon-He95/markstream-vue

All 11 skills in this repo
  • Markstream Custom Components

    Simon-He95/markstream-vue

    Override built-in Markstream node renderers and add trusted custom tags across Vue, React, Svelte, and Angular.

    3k GitHub stars~955 tokensUpdated 3 days ago
    Auto-check passed
  • Markstream Install

    Simon-He95/markstream-vue

    Install and wire markstream-vue, markstream-react, markstream-vue2, markstream-angular, or markstream-svelte into an existing repository.

    3k GitHub stars~2.2k tokensUpdated 3 days ago
    Auto-check passed
  • Markstream Angular

    Simon-He95/markstream-vue

    Integrate the alpha markstream-angular package into an Angular 20+ app.

    3k GitHub starsUsed in 1 repo~802 tokens
    Auto-check passed
  • Markstream Migration

    Simon-He95/markstream-vue

    Audit and migrate existing Markdown rendering to Markstream, or upgrade a markstream-vue 1.x integration to 2.x.

    3k GitHub stars~2k tokensUpdated 3 days ago
    Auto-check passed
  • Markstream Nuxt

    Simon-He95/markstream-vue

    Integrate markstream-vue into a Nuxt 3 or Nuxt 4 app. An agent skill from Simon-He95/markstream-vue.

    3k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Markstream Vue2

    Simon-He95/markstream-vue

    Integrate markstream-vue2 into a Vue 2.6 or 2.7 app. An agent skill from Simon-He95/markstream-vue.

    3k GitHub starsUsed in 1 repo~733 tokens
    Auto-check passed

Questions about Markstream Vue

What does Markstream Vue do?

Integrate markstream-vue into a Vue 3 app. An agent skill from Simon-He95/markstream-vue. Markstream Vue is an agent skill from Simon-He95/markstream-vue. Integrate markstream-vue into a Vue 3 app.

When should I use Markstream Vue?

Markstream Vue fits situations like: Codex needs to add the Vue 3 renderer; import CSS in the right order; choose renderer and DOM modes; choose built-in.

How do I install Markstream Vue in Claude Code?

Run `npx skills add Simon-He95/markstream-vue --skill markstream-vue -a claude-code`. Or copy the skill folder (.agents/skills/markstream-vue in Simon-He95/markstream-vue) into .claude/skills/markstream-vue in your project. Claude Code loads it when a task matches its description.

How do I install Markstream Vue in Codex?

Run `npx skills add Simon-He95/markstream-vue --skill markstream-vue -a codex`. Or copy the skill folder (.agents/skills/markstream-vue in Simon-He95/markstream-vue) into .agents/skills/markstream-vue in your project. Codex loads it when a task matches its description.

Can I use Markstream Vue in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Simon-He95/markstream-vue --skill markstream-vue -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/markstream-vue, .gemini/skills/markstream-vue, .github/skills/markstream-vue and .opencode/skills/markstream-vue in your project.

What does Markstream Vue need to run?

SKILL.md names no scripts, command-line tools or credentials: Markstream Vue is instructions for the agent only.

Does Markstream Vue access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Markstream Vue safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Markstream Vue use?

Markstream Vue is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Markstream Vue use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Markstream Vue?

Skills that share tags, products or a category with Markstream Vue: Bm Md (miantiao-me/bm.md, 616 stars), SVG Technical Infographic Author (modu-ai/moai-adk, 1.2k stars), Microsim Generator (dmccreary/ibook-skills, 105 stars) and Show Me (fmflurry/settings-opencode, 171 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Markstream Vue?

Simon-He95 (a GitHub user) maintains it in Simon-He95/markstream-vue, which has 3,025 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 5, 2026.

Source: Simon-He95/markstream-vue on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.