From babel-fish
Create shareable HTML visual artifacts from markdown, plans, architecture docs, brainstorms, and other structured content. Prefer browser-viewable HTML first when it will materially improve clarity or sharing; otherwise fall back to terminal rendering. Triggers: visualize, mindmap, mind map, show me the structure, draw a map, make this clear, make this visual.
npx claudepluginhub ondrej-svec/heart-of-gold-toolkit --plugin babel-fishThis skill is limited to using the following tools:
Translating structured text into spatial understanding. The job is not to "turn markdown into HTML." The job is to create a visual artifact that helps a human understand the material faster.
scripts/agent-artifact-template.htmlscripts/new-authored-artifact.jsscripts/new-authored-artifact.shscripts/publish-authored-html.jsscripts/publish-authored-html.shscripts/render-and-share.shscripts/render-mindmap/color.jsscripts/render-mindmap/compact.jsscripts/render-mindmap/grid.jsscripts/render-mindmap/index.jsscripts/render-mindmap/layout.jsscripts/render-mindmap/package.jsonscripts/render-mindmap/parse.jsscripts/render-mindmap/render.jsscripts/render-mindmap/vertical.jsscripts/smart-render.jsMandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Translating structured text into spatial understanding. The job is not to "turn markdown into HTML." The job is to create a visual artifact that helps a human understand the material faster.
Create one clear, polished, shareable visual artifact that:
Do not mirror the source document structure one-to-one unless the user explicitly wants a document view.
The coding agent should be the author of the visual artifact. The renderer is a finisher/fallback, not the brain.
Instead:
HTML should feel like:
Not like:
These are guidance categories for the coding agent. They are not rigid parser outputs.
outlineUse when the user wants:
roadmapUse when the source is best understood as:
architectureUse when the source is best understood as:
mindmapUse only when the content is genuinely:
explainerUse when the artifact should help another human quickly understand:
mockupUse when the user really wants:
Apply these defaults unless the user asks for something else:
See also:
docs/architecture/visualize-design-rules.mdWrite artifact copy like a strong product/design-systems editor:
Prefer lines like:
One code change, bounded migration riskThree priority tiers, one directionDeferred — tracked, not scheduledAvoid:
share-html is configured.roadmap or richer execution-oriented views for plans when that improves understanding.architecture views for system/design-heavy documents.Scope at a glance, Why this shape, What could go wrong, Deferred — tracked, not scheduled.When invoked, behave like a visual editor, not a format converter.
If the user says "you decide," choose the clearest non-gimmicky artifact, not the fanciest one.
When the best visualization is not clear, do not silently guess if the choice would materially affect usefulness.
Ask one concise question at a time:
Good pattern:
Roadmap — show phases, sequencing, and implementation progressOutline — show the document structure clearlyMind map — show branching ideas and relationshipsArchitecture view — show components, boundaries, and decisionsIf the harness supports structured choices, use them. If not, use a short plain-text question such as:
I can visualize this a few different ways. Which would be most useful?
1. Roadmap — phases and tasks
2. Outline — document structure
3. Mind map — branching ideas
4. Architecture view — components and boundaries
If the user does not care or says "you decide," choose the safest useful mode:
outlineroadmap for clearly execution-heavy plansarchitecture for clearly system-design-heavy docsmindmap only when the artifact is genuinely concise and branchyPreferred implementation order:
scripts/smart-render.js — fallback renderer when the agent wants a quick scaffold or safe structured defaultscripts/render-mindmap/index.js — specialized mind-map renderer for branchy contentThe key rule: if the artifact needs real design judgment, the coding agent should author the HTML directly instead of delegating the whole job to a parser.
Locations:
scripts/smart-render.jsscripts/render-mindmap/index.jsTo find the smart renderer path:
# Option 1: Use CLAUDE_PLUGIN_ROOT if available
SCRIPT="${CLAUDE_PLUGIN_ROOT}/skills/visualize/scripts/smart-render.js"
# Option 2: Search for it
SCRIPT=$(find ~/.claude/plugins -path "*/babel-fish/skills/visualize/scripts/smart-render.js" 2>/dev/null | head -1)
First run for the mind-map renderer:
RENDER_DIR=$(dirname "$SCRIPT")/render-mindmap
if [ ! -d "$RENDER_DIR/node_modules" ]; then
(cd "$RENDER_DIR" && npm install --silent)
fi
When quality matters more than speed, start from the shared authored-artifact template, write the HTML directly, then publish it.
Cross-platform preferred path: use the Node helpers first. They work better across macOS, Linux, Windows, Codex, Claude Code, and Pi than shell-specific one-liners.
# 1. Print a fresh temp HTML path based on the shared template
node /absolute/path/to/new-authored-artifact.js
# 2. After editing the file, publish it
node /absolute/path/to/publish-authored-html.js --url-only /tmp/path/from-step-1/artifact.html
Shell fallback: if Node helper usage is awkward in a specific harness, the .sh helpers are still available.
Template and helper files:
scripts/agent-artifact-template.htmlscripts/new-authored-artifact.jsscripts/publish-authored-html.jsscripts/new-authored-artifact.shscripts/publish-authored-html.sh# Generate a safe default HTML visualization for a markdown file
node "$SCRIPT" path/to/file.md --out /tmp/view.html
# Usually the coding agent should choose the mode from context
node "$SCRIPT" path/to/file.md --mode roadmap --out /tmp/view.html
node "$SCRIPT" path/to/file.md --mode outline --out /tmp/view.html
node "$SCRIPT" path/to/file.md --mode architecture --out /tmp/view.html
node "$SCRIPT" path/to/file.md --mode mindmap --out /tmp/view.html
# Use the specialized mind-map renderer directly when needed
node "$(dirname "$SCRIPT")/render-mindmap/index.js" --html /tmp/map.html path/to/file.md
Use this when the artifact needs stronger design judgment than the fallback renderer can provide.
node /absolute/path/to/new-authored-artifact.js
node /absolute/path/to/publish-authored-html.js --url-only /tmp/your-artifact.html
Shell helpers remain available as a fallback if a harness prefers bash.
Use the helper script when the user wants a browser URL and the fallback renderer is sufficient:
bash scripts/render-and-share.sh path/to/file.md
This script:
share-html/scripts/publish.shIf publishing fails because the share server is not configured, say so clearly and fall back to terminal rendering unless the user wants to stop and run share-server-setup first.
Use terminal rendering when:
IMPORTANT: Output the mind map in the assistant response text, not as raw bash tool output.
Many harness bash panels truncate long output and wrap wide content, breaking alignment. Instead:
--no-color, redirect to a temp file:
node "$SCRIPT" --no-color [file] > /tmp/mindmap-result.txt 2>&1
/tmp/mindmap-result.txt.rm -f /tmp/mindmap-result.txt
The default mode is vertical layout — boxes on main branches, compact leaves, about 40 chars wide.
When authoring HTML directly, follow this sequence:
new-authored-artifact.js or new-authored-artifact.sh.publish-authored-html.js or publish-authored-html.sh.Harness note:
mktemp /tmp/name-XXXXXX.html works on every shell; use the provided helper instead.sh helpers as fallbackFor plans specifically:
For substantial HTML artifacts, prefer this structure:
Must usually include:
Must usually include:
Must usually include:
When the artifact still feels too markdown-like, do one or more of these:
what / why / risk / next into separate visual unitsBefore returning a shared HTML result, check mentally:
If the answer to several of these is no, reconsider the mode or ask the user.
Scope at a glanceThree priority tiers, one directionWhat could go wrongDeferred — tracked, not scheduledStandard markdown with # headings defining hierarchy.
Tree structure with label and children.
When visualizing conversation context with no file path:
Write the generated markdown to /tmp/mindmap-XXXXXX.md, render it, then clean up.
The Babel Fish translates between languages. This skill translates between modalities — from linear text to spatial understanding, and from private working notes to clear shareable browser artifacts.