From superpowers-gstack
Generate beautiful, pedagogical HTML companions for superpowers-gstack MD artifacts (design docs, handoffs, plans). Auto-opens via --open flag. Generates per-directory dashboards. Triggered manually or via PostToolUse hook on Write/Edit of artifact-pattern MD files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/superpowers-gstack:htmlifyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Lager visuelt elegante HTML-companions ved siden av MD-artefakter, og en aggregert dashboard-side per katalog. Designet for vibe-codere som ikke orker å lese verbose MD-output fra skills som /office-hours, /autoplan, /plan-eng-review, /context-handoff osv.
bin/htmlifybun.lockpackage.jsonsrc/classifyArtifact.tssrc/cli.tssrc/helpers/exit-codes.tssrc/helpers/levenshtein.tssrc/helpers/markdown.tssrc/helpers/planWiring.tssrc/helpers/render.tssrc/output.tssrc/readArtifact.tssrc/readPlan.tssrc/render/components/callout-box.tssrc/render/components/comparison-matrix.tssrc/render/components/diff-card.tssrc/render/components/expandable.tssrc/render/components/feedback-panel.tssrc/render/components/flowchart-svg.tssrc/render/components/index.tsLager visuelt elegante HTML-companions ved siden av MD-artefakter, og en aggregert dashboard-side per katalog. Designet for vibe-codere som ikke orker å lese verbose MD-output fra skills som /office-hours, /autoplan, /plan-eng-review, /context-handoff osv.
Når det aktiveres:
/superpowers-gstack:swiftui-design-consultation
for Phase 3 proposal preview and Phase 6 DESIGN.html generationSkill-katalogen oppdages av Claude Code som "Base directory for this skill" ved invokering. Wrapper-binæren bin/htmlify self-lokaliserer og kan kjøres fra hvilken som helst cwd:
"$SKILL_DIR/bin/htmlify" <args>
Hvor $SKILL_DIR er katalogen denne SKILL.md filen ligger i. Eksempel når installert via Claude Code marketplace:
~/.claude/plugins/cache/paretofilm-plugins/superpowers-gstack/<version>/skills/htmlify/bin/htmlify <args>
Wrapper-en sjekker at bun og deps er installert; printer feilmelding (exit 5) hvis ikke.
Deps må installeres én gang per installasjons-lokasjon. Wrapperen forteller deg den nøyaktige kommandoen hvis den feiler:
cd "$SKILL_DIR" && bun install
Etterpå er skill'en klar til bruk uansett antall invokeringer.
"$SKILL_DIR/bin/htmlify" <path-to-md>
Output: <dir>/.superpowers-html/<name>.html. Også en companion.css blir kopiert til samme katalog.
"$SKILL_DIR/bin/htmlify" <path-to-md> --open
"$SKILL_DIR/bin/htmlify" dashboard <dir>
Output: <dir>/.superpowers-html/index.html med liste av alle artefakter i katalogen sortert by mtime desc.
--plan <plan.json> — Last v2 rendering plan (rik layout: comparison-matrix, flowchart-svg, pullquote, callout-box, stats-bar, two-column, expandable, diff-card, feedback-panel). Uten flagget rendres v1-template.--open — Åpne resulterende HTML i Safari (macOS only) som distraksjonsfri leser. Alle eksisterende Safari-vinduer lukkes først så HTML-en er det eneste som vises. Brukerens default-nettleser røres ikke.--no-clobber — Skip render hvis HTML er nyere enn MD--force-rebuild — Tving render selv ved no-clobberv1 gir "penere MD med strukturerte cards" — det er en god default. v2 gjør HTML-en til en informativ plansje med komponenter som comparison-matrix, flowchart-svg, pullquotes, stats-bar, callout-boxes, diff-cards og en interaktiv feedback-panel.
V2 fungerer via en rendering plan (JSON-fil) som du genererer i Claude Code-sesjonen (gratis under Max-plan; bruker IKKE Anthropic API) og sender til CLI med --plan.
comparison-matrixflowchart-svgpullquote med after_sectioncallout-boxstats-bartwo-columnexpandablediff-card"$SKILL_DIR/bin/htmlify" <md> --plan <plan.json> --openfeedback_panel med relevante premises/approaches + tilpasset spørsmål. Bruker kan trykke "Copy feedback as prompt" og lime inn i neste sesjon.{
"version": 1,
"sections": [
{
"heading": "Approaches Considered",
"treatment": "comparison-matrix",
"data": {
"items": [
{"title": "Option A", "summary": "...", "pros": ["..."], "cons": ["..."], "effort": "1d", "risk": "low"},
{"title": "Option B", "pros": ["..."], "cons": ["..."], "highlighted": true}
]
}
},
{
"heading": "Architecture",
"treatment": "flowchart-svg",
"data": {
"orientation": "LR",
"nodes": [{"id": "a", "label": "Input"}, {"id": "b", "label": "Process", "emphasis": true}, {"id": "c", "label": "Output"}],
"edges": [{"from": "a", "to": "b"}, {"from": "b", "to": "c", "label": "transform"}]
}
}
],
"pullquotes": [
{"text": "...", "attribution": "...", "after_section": "Problem Statement"}
],
"feedback_panel": {
"enabled": true,
"premises": ["P1 label", "P2 label"],
"approaches": ["A1 label", "A2 label"],
"custom_questions": [
{"id": "q1", "label": "Did this layout help?", "type": "radio", "options": ["yes", "no"]},
{"id": "q2", "label": "Free notes", "type": "text"}
]
}
}
| Treatment | Når bruke | Data-form |
|---|---|---|
section-card | Default — vanlig prosakort | (ingen — bruker MD-body) |
comparison-matrix | 2-5 alternativer side-ved-side | {items: [{title, summary?, pros?, cons?, effort?, risk?, highlighted?}]} |
flowchart-svg | Pipelines, state machines, arkitektur | {nodes: [{id, label, shape?, emphasis?}], edges: [{from, to, label?}], orientation?: "TB"|"LR"} |
pullquote | Memorable quote (kan også stå i pullquotes-array) | {text, attribution?} |
callout-box | Note/warning/insight/danger | {level?: "info"|"warn"|"insight"|"danger", title?, body} |
stats-bar | Tall, metrics, before/after counts | {items: [{label, value, delta?, trend?: "up"|"down"|"flat"}]} |
two-column | Sammenligning innenfor ett tema | {left: {heading?, body}, right: {heading?, body}} |
expandable | Lang side-info som skal kunne kollapses | {summary, body, open?} |
diff-card | Før/etter kode eller tekst | {title?, before: {label?, content}, after: {label?, content}} |
treatment: "section-card" = ikke override; bruk default renderingfeedback_panel har alltid et kommentar-felt — uavhengig av om premises/approaches/custom_questions er tomme--plan får brukeren v1-rendering (samme som før)type: design-doc — fra /office-hourstype: handoff — fra /context-handoff (eller filnavn handoff.md for legacy)type: plan — fra /autoplanFor automatisk å fyre htmlify når en skill skriver en artefakt-MD, kjør installeren én gang. Path avhenger av om du jobber fra repo-rota eller fra plugin-installasjonen:
Fra repo (utvikling):
./scripts/setup-htmlify-hook.sh
Fra plugin-installasjonen (marketplace):
~/.claude/plugins/cache/paretofilm-plugins/superpowers-gstack/<version>/scripts/setup-htmlify-hook.sh
Hook'en matcher:
handoff.md*-design-YYYYMMDD-HHMMSS.md, *-plan-YYYYMMDD-HHMMSS.md.gstack/projects/.superpowers-html/Hook-skriptet self-lokaliserer — det vil alltid kalle htmlify fra den katalogen den selv ligger i, så det er trygt å installere hooks fra plugin-cache-stien.
Kun relevant hvis du jobber fra repo-rota i ~/Developer/superpowers-gstack/:
cd skills/htmlify
bun install # first run
bun test # 138 tests (v2)
Artefakter brukt under utvikling: se design-doc og test-plan i ~/.gstack/projects/Paretofilm-superpowers-gstack/.
npx claudepluginhub kjetilge/kjetil-claude-marketplace --plugin superpowers-gstackGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.