Agent skill · Frontend

md-document

Converts long-form markdown (specs, RFCs, reports, plans, explainers) into a single-file, lightly-interactive HTML document with sticky TOC, scrollspy, search filter, code-copy buttons, and design-system-driven brand tokens. Triggers when the markdown-html-orchestrator classifies an input as DOCUMENT, or when invoked directly via /cs:md-document. Reads the design-system config via config_loader.py and inlines the user's 12 derived CSS custom properties; refuses to render if onboarding hasn't run. Single-file output — Google Fonts + Prism.js CDN are the only externals; no framework runtime, no

Alireza Rezvani23,369★ · +428/wk · 1 repos on radarProfile →
claude-codecodexcursorships scriptsMIT
Install
npx skills add alirezarezvani/claude-skills --skill md-document --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 8
SKILL.md size: 6 KB
Bundled scripts: yes
Version: 2.10.1
Declared author: Alireza Rezvani
Path: markdown-html/skills/md-document/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 23,791 · +422 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# md-document — Long-form Markdown to HTML The general-purpose converter — handles the 90% case Shihipar describes (specs, plans, RFCs, reports, explainers). Three stdlib tools pipeline together: ``` markdown_parser.py → html_renderer.py → interactivity_injector.py (md → JSON AST) (AST + tokens → HTML) (HTML + JS behavior) ``` Output is one `.html` file with sticky TOC, search filter, scrollspy, code-copy buttons, and the user's 12 derived brand tokens. Externals limited to Google Fonts CSS + Prism.js CDN. ## When to invoke | Symptom | Action | |---|---| | `markdown-html-orchestrator` routes input as DOCUMENT | Invoke this skill | | User runs `/cs:md-document <path>.md` directly | Invoke this skill | | User says "convert this spec/report/RFC/plan to HTML" | Invoke this skill | | Input is a code review (has ` ```diff ` blocks) | Route to `md-review` instead | | Input is a slide deck (clear `---` boundaries) | Route to `md-slides` instead | | Input is < 100 lines | Refuse (Shihipar threshold — markdown still wins) | | Design-system not onboarded | Refuse, surface `/cs:design-system` | ## Pipeline ```bash # 1. Parse markdown → JSON AST python3 markdown-html/skills/md-document/scripts/

What's inside
Steps it walks through
  1. When to invoke
  2. Hard rules
  3. Forcing-question library (Matt Pocock grill discipline)
  4. Distinct from
  5. Output artifact
  6. References
Ships with 7 files
  • assets/md_document_template.html
  • references/information_density_patterns.md
  • references/single_file_html_discipline.md
  • references/toc_and_nav_ux.md
  • scripts/html_renderer.py
  • scripts/interactivity_injector.py
  • scripts/markdown_parser.py
Commands it runs
python3 markdown-html/skills/md-document/scripts/markdown_parser.py \
python3 markdown-html/skills/md-document/scripts/html_renderer.py \
python3 markdown-html/skills/md-document/scripts/interactivity_injector.py \
python3 markdown-html/skills/md-document/scripts/html_renderer.py --sample \
More from claude-skills
All skills →
About this skill
What does the md-document skill do?

Converts long-form markdown (specs, RFCs, reports, plans, explainers) into a single-file, lightly-interactive HTML document with sticky TOC, scrollspy, search filter, code-copy buttons, and design-system-driven brand tokens. Triggers when the markdown-html-orchestrator classifies an input as DOCUMENT, or when invoked directly via /cs:md-document. Reads the design-system config via config_loader.py and inlines the user's 12 derived CSS custom properties; refuses to render if onboarding hasn't run. Single-file output — Google Fonts + Prism.js CDN are the only externals; no framework runtime, no

How do I install it?

Run `npx skills add alirezarezvani/claude-skills --skill md-document --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From alirezarezvani/claude-skills, a repository with 23,791 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going