CLAUDE.md@markdown-html · git:20260721.9cb3eb9 · 2026-07-21 · sha256 90a3babad83d7617
CLAUDE.md@markdown-html git:20260721.9cb3eb9A
Immutable. This exact content is served forever at /api/v1/blob/90a3babad83d7617.
# Markdown-HTML Skills - Claude Code Guidance
This domain is the **markdown-to-HTML publishing pipeline**: authored markdown
goes in, a polished self-contained HTML artefact comes out, with a review gate in
front of it and a shared design-token layer underneath.
Distinct from `documents/` (docx, pdf, pptx, xlsx), which *parses* existing
OOXML and PDF binaries. This domain *produces* HTML from markdown you wrote.
## Markdown-HTML Skills Overview (4 skills)
- **md-document/** — render markdown into a polished self-contained HTML
document: semantic structure, automatic table of contents, figure/table
numbering with cross-references, footnotes, and print/PDF-ready CSS with page
breaks. Use when producing a report, whitepaper, or memo for distribution.
- **md-slides/** — render markdown into a self-contained HTML slide deck: slide
splitting rules, speaker notes, per-slide layouts, keyboard navigation, and a
content-density linter that flags overloaded slides. Use when building a deck
from an outline or auditing an existing one for density.
- **md-review/** — pre-publication review gate: heading-hierarchy and structure
validation, on-disk link and anchor checking, readability scoring, terminology
consistency, alt-text and accessibility checks, and frontmatter schema
validation. Use before publishing, or wire it into CI.
- **design-system/** — the shared visual layer the other three consume: design
tokens (type scale, spacing, color ramps, semantic roles), light/dark theming
via CSS custom properties, WCAG contrast validation, and generation of a single
inlinable CSS bundle. Use when establishing or auditing document theming.
**Total Tools:** 14 Python automation tools (stdlib only)
## Scope Boundary
`design-system/` is the **document/HTML theming layer** — tokens and CSS for
rendered output. It is not a product UI component library; for that, see
`product-team/ui-design-system`.
## Hard Constraints
Two constraints apply across this domain and must not be relaxed:
1. **Stdlib only, including the markdown parser.** No `markdown`, `mistune`,
`jinja2`, or CSS toolchain. Each converter implements the markdown subset it
needs itself.
2. **No network access, ever.** `md-review`'s link checker resolves relative and
anchor targets **on disk**. External URLs are inventoried, never fetched — the
tools report `network_requests_made: 0`. This keeps the gate fast,
deterministic, and safe to run in CI.
All rendered user content is HTML-escaped at the boundary. Treat any change that
emits unescaped input as a security regression.
## Common Patterns
```
markdown-html/<skill>/
├── SKILL.md
├── references/
│ └── *.md (rulebooks, severity models, layout and density guidance)
├── scripts/
│ └── *.py (render, lint, validate — stdlib only)
└── assets/
└── theme CSS/JS + sample_*.md and sample_*.json inputs
```
Per Pattern 9, each skill carries its own copy of any shared helper — md-document,
md-slides, and design-system do not import from one another.
## Exit Code Contract
`md-review` is a gate: it exits **2** on blocking findings, **1** on tool error,
**0** on a clean pass. Its shipped `sample_article.md` contains deliberate defects
so the failure path is demonstrable; `sample_article_clean.md` exercises the pass
path. Both are intentional — a non-zero exit on the flawed sample is correct
behaviour, not a broken example.
## Related Skills
- `documents/` — parsing docx, pdf, pptx, xlsx (opposite direction)
- `product-team/ui-design-system` — product UI components
- `engineering/write-a-skill` — authoring standards for this library
- `marketing/content-production` — content workflow upstream of publishing
## Quality Standard
Each skill must:
- Use stdlib-only Python and make zero network calls
- Support both JSON and human-readable output (`--format` flag)
- HTML-escape all user content
- Ship runnable sample input for every documented workflow
- Emit a single self-contained artefact with CSS/JS inlined
---
**Last Updated:** July 2026
**Skills Deployed:** 4/4 markdown-html skills