claude-skills/markdown-html/commands/cs-markdown-html.md
Claude b99505446a
fix: resolve 11 P0 correctness defects from newgen audit
- fda-consultant-specialist: QMSR transition (eff. 2026-02-02) correctly framed;
  legacy QSR sections mapped to ISO 13485:2016 clauses (17-row mapping)
- risk-management-specialist: ALARP-with-cost-benefit replaced by AFAP per
  EU MDR Annex I GSPR 1-4 + EN ISO 14971:2019/A11
- eu-ai-act-specialist: Art. 5(1)(f) sample corrected (workplace, not retail);
  both dual-published copies kept byte-identical
- financial-analyst: 4 scripts now read bundled sample shape (and flat shape),
  exit non-zero on missing data; verified real outputs (ROE 25%, DCF $13.90/sh)
- deal-desk: fixed-COGS margin math unified across script/reference/SKILL.md;
  margin scoring recalibrated (30% discount on 80% GM now scores 25, not 37)
- senior-qa/backend/frontend + email-template-builder: 8 corrupted code
  literals from past bulk YAML-quoting sweep reconstructed
- google-workspace-cli: install coordinates fixed to verified upstream
  (@googleworkspace/cli); phantom subcommands replaced with verified syntax
- project-management: fabricated Atlassian MCP tool names replaced with the 30
  real Remote MCP tools; new canonical references/atlassian-mcp-tools.md;
  unavailable capabilities routed to UI/REST; orphaned scripts wired
- command-guide: retired (documented a different repo's ecosystem)
- markdown-html: stale v2.10.0 'foundation' text replaced; routing now targets
  the shipped converters; never hand-render
- webinar_funnel_scorer.py: argparse added (--help/--sample/stdin)
- handoff redaction linter: missing 17th pattern (private CIDR) added

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-10 14:32:43 +00:00

3.2 KiB
Raw Permalink Blame History

description argument-hint
Top-level markdown-to-HTML router. Classifies the input markdown (document / review / slides), checks the design-system onboarding gate + 100-line threshold, then forks context to the right converter sub-skill via the markdown-html-orchestrator skill. Returns a ≤100-word digest with input lines, output path, design style, top features used, and one forcing question. <path to markdown file>

/cs:markdown-html — Markdown-to-HTML router

Route this conversion through the markdown-html-orchestrator skill:

$ARGUMENTS

Pre-flight gates (refuse and surface, never override)

  1. Input < 100 lines. Markdown still wins below the threshold (Shihipar). Refuse with the line count + recommendation to keep as markdown.
  2. Design-system not onboarded. Surface python3 markdown-html/skills/design-system/scripts/onboard.py and re-prompt after.
  3. Output directory unwritable. Refuse; let the user fix the path or re-onboard.

Routing (deterministic, two-signal threshold)

Signal class Filename hints Content signals Sub-skill
DOCUMENT report.md, spec.md, rfc-*.md, *-doc.md, *-analysis.md, *-explainer.md ## Table of Contents, ^# , ^## , table rows, GFM callouts md-document
REVIEW review.md, *-pr-*.md, *.diff.md, code-review*.md ```diff, ^[-+]{3} , ^@@, > [!BLOCKER]/[!MAJOR]/[!MINOR]/[!NIT], LGTM/nit:/blocker: md-review
SLIDES deck.md, slides.md, *-talk.md, presentation*.md ^---$ ≥ 3, <!-- notes:, H1 cadence ≥ 5 with median gap ≤ 12 lines md-slides

Pipeline:

python3 markdown-html/skills/markdown-html-orchestrator/scripts/doctype_classifier.py \
    --input "$ARGUMENTS" --output json \
  | python3 markdown-html/skills/markdown-html-orchestrator/scripts/route_explainer.py

python3 markdown-html/skills/markdown-html-orchestrator/scripts/output_path_resolver.py \
    --input "$ARGUMENTS" --doctype <verdict>
  1. Silent-route only when winner ≥ 3 AND (runner-up = 0 OR winner ≥ 2× runner-up).
  2. Single signal or tie → one clarifying question with a recommended answer.
  3. No signals → ask which lane, recommend md-document as the safe default.

Output (≤ 100-word digest)

  • Input lines + doctype
  • Output path (resolved by output_path_resolver.py)
  • Design style + brand primary applied (from config_loader.py)
  • Top 3 features used (sticky TOC, scrollspy, code-copy, severity badges, presenter mode, etc.)
  • One forcing question for the user (cite Shihipar / WCAG / Lupton / Tufte)

Hard rules

  • Never silently chain two converters. Pick one, finish, ask before chaining.
  • Never override a REFUSE from route_explainer.py.
  • Never invent brand colors when the user hasn't onboarded. Surface onboarding.
  • Output is single-file HTML. External CDN is limited to Google Fonts + Prism.js.

Status

All five skills are live (orchestrator + design-system + the three converters). This command runs the classifier + design-system gate, then hands the conversion to the routed converter sub-skill (/cs:md-document, /cs:md-review, or /cs:md-slides). Never render HTML inline — the converter scripts own the rendering.