From core
Generate rich HTML artifacts instead of Markdown for specs, code reviews, designs, reports, and custom editors. Triggers: /core:html-output, html artifact, html spec, html report, html editor
How this skill is triggered — by the user, by Claude, or both
Slash command
/core:html-outputsonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You generate **HTML artifacts** instead of Markdown when richer expression, easier sharing, or interactivity helps the reader. Inspired by Thariq's "The Unreasonable Effectiveness of HTML" (https://thariqs.github.io/html-effectiveness/).
You generate HTML artifacts instead of Markdown when richer expression, easier sharing, or interactivity helps the reader. Inspired by Thariq's "The Unreasonable Effectiveness of HTML" (https://thariqs.github.io/html-effectiveness/).
Do NOT introduce yourself or explain. Execute the steps below.
If the user passed an argument, parse it as <mode> [<topic or path>]. Otherwise ask once which mode applies, then proceed.
| mode | When to pick | Example trigger |
|---|---|---|
spec | Implementation plan, side-by-side option exploration, design brief | "plan the onboarding refactor" |
review | PR writeup, code explainer, reviewing someone else's code | "explain this PR" |
design | UI prototype, animation tuner, component playground | "prototype the checkout button" |
report | Research summary, postmortem, status report, learning doc | "explain how the rate limiter works" |
editor | One-off UI to manipulate data, then export back to Claude | "let me reorder these tickets" |
Mode-specific. Run gathering tools in parallel where independent.
spec: Read referenced files, Grep for similar patterns, git log --oneline -20 for recent direction.review: git diff <base>...HEAD, git log <base>..HEAD, read changed files end-to-end (don't rely on diff alone).design: Look for ~/.claude/design-system.html (Thariq's recommended pattern); if present, read it. Otherwise inspect existing UI code for tokens (colors, spacing).report: git log --since="<period>", read referenced source files; WebFetch only if the user named an external URL.editor: Read the input data (JSON/YAML/CSV) the user wants to manipulate.If a design-system.html was found, the artifact MUST inherit its visual style.
Mentally check off the required elements for this mode before writing a single tag.
spec<pre><code> and a one-line "why this matters"review<aside> or two-column flex)design<input type="range">, color pickers, dropdowns wired to live previewreporteditorROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)" then write to $ROOT/artifacts/. Never use a bare ./artifacts/ — CWD-dependent paths land outside the project when invoked from ~.<YYYY-MM-DD>-<kebab-slug>.html where <kebab-slug> is the topic lowercased, non-alphanumerics replaced with -, collapsed runs of -, trimmed to ≤50 chars. Append -2, -3, … on collision.<style> and <script>. CDN allowed only if absolutely required (e.g. https://cdn.jsdelivr.net/npm/[email protected]); pin a specific version, never @latest.<meta name="viewport" content="width=device-width, initial-scale=1"> for responsive layout.@media (prefers-color-scheme: dark) block for dark-mode parity.editor mode, the export button writes to the clipboard via navigator.clipboard.writeText.Run these checks in parallel; abort and regenerate if any required check fails:
wc -c <file> — flag if >500KB (likely bloated)grep -oE 'https?://[^"'\'']+' <file> | sort -u — list every external URL so the user can auditgrep -q 'name="viewport"' <file> — viewport meta presentgrep -q 'prefers-color-scheme' <file> — dark-mode block presenteditor mode: grep -q 'navigator.clipboard' <file> — export button wired upopen <file> so the user can launch it on macOSThen output a short report:
## HTML artifact generated
**File**: ./artifacts/<file>.html (<size>)
**Mode**: <mode>
**External URLs**: <count> (listed above)
**Open**: `open ./artifacts/<file>.html`
### Next
- Tweak: re-run with adjustments in your prompt
- Share: upload to S3 / GitHub Pages for a link
- Iterate: derive a `<other-mode>` artifact from the same context
Borrowed from Thariq's article — adapt freely.
Why a skill if Thariq says "don't make a skill"?
The skill is a checklist — it never templates HTML. It exists so each mode reliably ships its non-obvious requirements (e.g. editor always has an export button). Pure prompting works too.
Token cost?
HTML costs 2–4× more tokens than Markdown to generate. Worth it for spec/review/report/editor. Skip for short answers.
Version control?
Don't commit artifacts/. HTML diffs are noisy. Add artifacts/ to .gitignore once.
Sharing?
S3 + signed URL, or GitHub Pages, or python3 -m http.server for quick local sharing.
Style consistency across artifacts?
Maintain a ~/.claude/design-system.html with your tokens (colors, type scale, spacing). This skill auto-references it when present.
npx claudepluginhub snkrheadz/claude-skills --plugin coreProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.