Loading...
Loading...
Generate and serve rich HTML companions to markdown discovery documents: paired markdown→HTML rendering (marked + mermaid + data-driven cytoscape/plotly fenced blocks), a vendored draw.io stencil library (~AWS/GCP/Azure/K8s SVG icons) for composing custom architecture diagrams, an injectable design-tokens brandpack, and a reliable localhost server for HTML that pulls pinned CDN libraries. Use when turning a review/architecture/cost markdown doc into an interactive HTML view, when a diagram needs real cloud provider icons, when serving local HTML that file:// breaks, or when building a data-driven graph/chart view. Skip when the deliverable is plain mermaid-in-markdown authoring with no HTML companion, or a Python-rendered architecture diagram image.
npx skill4agent add neozenith/agentic-dotfiles richdocs.md| Intent | Do this |
|---|---|
| "Make an HTML version of DOC.md" | |
| "One file I can open / attach" | |
| "I need an AWS/GCP/Azure/K8s icon" | |
| "Build a custom SVG diagram with real icons" | read |
| "Interactive graph / chart in the doc" | fenced |
| "3D scene, colour-space study, or a map" | fenced |
| "Why is my palette not the palette I designed?" | |
| "HTML looks broken opened from Finder" | |
| "Render it in a brand theme" | default is |
| "Re-brand the output" | edit |
| "Override a theme for this project" | drop |
| "Add a new brand theme" | |
| "Is this theme readable?" | |
| "Show off / compare the themes" | |
| "Upgrade one of this repo's root docs" | read |
# 1. Render a markdown doc into a rich HTML companion (multi-file, live mode)
uv run --no-project .claude/skills/richdocs/scripts/md2html.py TARGET_ARCHITECTURE.md
# 2. Serve it (no-store headers, CDN libs load fine over http://localhost)
uv run --no-project .claude/skills/richdocs/scripts/serve.py tmp/richdocs --open
# 3. Or produce one self-contained file (no server needed)
uv run --no-project .claude/skills/richdocs/scripts/md2html.py REVIEW.md --inline
# 3b. Render in a brand theme (default is osakanights; pass --theme for another)
uv run --no-project .claude/skills/richdocs/scripts/md2html.py DOC.md --theme v2ai
# 4. Grab a tinted provider icon
uv run --no-project .claude/skills/richdocs/scripts/stencil.py search lambda
uv run --no-project .claude/skills/richdocs/scripts/stencil.py extract "mxgraph.aws4/lambda" \
--color '#ED7100' --out diagrams/lambda.svgcd```mermaidmd2html.pybun run .claude/skills/richdocs/vendor/mermaidjs-diagrams/scripts/mermaid_complexity.ts SOURCE.md
bun run .claude/skills/richdocs/vendor/mermaidjs-diagrams/scripts/mermaid_contrast.ts SOURCE.mdbun install --cwd .claude/skills/richdocs/vendor/mermaidjs-diagrams/scripts --frozen-lockfileParserFailure … yielded 0 nodesmd2html.pyvendor/mermaidjs-diagrams/SKILL.mdresources/learned/showcase.py [--theme NAME] [--out DIR]--themedefaultTheme--theme NAMEmxfilecontentuv run --no-project .claude/skills/richdocs/scripts/showcase.py # gallery
uv run --no-project .claude/skills/richdocs/scripts/showcase.py --theme osakanights # one brandmd2html.py DOC.md [--out DIR] [--inline] [--theme NAME] [--tokens FILE] [--title T]--theme NAMEdesign-tokens.jsontheme.css@import--tokens--helposakanightsmd2html.py DOC.md--theme NAME--tokens FILE--themetmp/richdocs/theme/<name>/resources/themes/<name>/--outtmp/richdocs<stem>.html.mddesign-tokens.json?v=<BUILD_ID>cache: no-store.mdserve.pyfile://--inlinewindow.__DOC_MD__window.__DOC_TOKENS__file://--tokens FILEresources/rich-blocks.md--themeosakanightsmd2html.py── richdoc output ──.md.htmlserve.pypython3 -m http.server <port> --directory <abs-dir>serve.py [DIR] [--port 8642] [--open]tmp/richdocs127.0.0.1Cache-Control: no-store--openhttp://localhostfile://stencil.py packs | list | search | extractassets/stencils.json.zip"<pack>/<name>"mxgraph.aws4mxgraph.gcp2mxgraph.azuremxgraph.mscae*mxgraph.kubernetes*stencil.py packs # pack prefixes + counts
stencil.py list --pack mxgraph.gcp2 --limit 40
stencil.py search "cloud run"
stencil.py extract "mxgraph.aws4/lambda" --color '#ED7100' --size 64 --out lambda.svgcurrentColor--color--colorcolor```mermaid```cytoscape
{ "elements": [ {"data": {"id": "a", "label": "API"}},
{"data": {"id": "b", "label": "DB"}},
{"data": {"source": "a", "target": "b"}} ],
"height": 420 }
```
```plotly
{ "data": "cost_series.json" }
```{ "data": "relative/path.json" }.jsondesign-tokens.jsoncanvas.cytoscape.*canvas.plotly.*resources/rich-blocks.md{{BUILD_ID}}?v=<BUILD_ID><script></<\/</script>design-tokens.jsonFALLBACK_TOKENStmp/richdocs//tmp| File | Content |
|---|---|
| Localhost serving contract, pinned CDN table (Tailwind, fonts, cytoscape, deck.gl, plotly, mermaid), |
| Stencil pack schema, tint mechanism, registry pattern, composing full custom SVG diagrams from icons |
| Fenced block contract, design-tokens schema, two-palette (chrome vs canvas) theming |
| Recipes for upgrading each discovery-doc archetype (diagram-driven, table-driven, prose review) to rich HTML |
| Global-audience standard for prose this skill authors: no em-dash, Australian English, short clauses, inclusive language, standardised vocabulary (self-contained copy) |
| No-store localhost server |
| Stencil library query/extract CLI |
| Paired markdown → rich HTML generator |
| Vendored draw.io icon library (see |
| Default neutral brandpack |
| Vendored mermaid toolchain: parse/complexity gate, WCAG contrast gate, color-theming references, render script |
| Prior adjudications and self-taught facts — read before re-litigating |