Use when the user asks to create, generate, visualize, or turn material into a standalone HTML artifact, self-contained or single-file .html report, interactive explainer, interactive illustration or visualization, visual walkthrough or handoff, or HTML presentation or slide deck. Handles source-grounded codebase and architecture, feature, PR or diff, implementation recap, incident timeline, option comparison, causal, and data-report explanations. Not for prose-only analysis or reviews, production web apps or dashboards, websites, HTML email, or ordinary frontend/UI implementation.
77
96%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Generate a visual document that earns its use of HTML: the result should be easier to look at, compare, or manipulate than prose alone. Default to a self-contained local .html document, not a website, dashboard, or slide deck.
fetch, or a server.| Mode | Use for | Shape |
|---|---|---|
| Document (default) | Codebase, feature, PR, plan, incident, or research explanation | Scrollable, skimmable, complete prose, stable anchors, citations, print-friendly |
| Explorable document | Causal mechanisms, parameter tradeoffs, before/after states, coupled representations | Complete default state plus a few local controls with immediate feedback |
| Presentation | A live walkthrough where a speaker supplies context | One idea per view, keyboard navigation, explicit progress, speaker notes or captions |
If HTML adds no useful spatial comparison, diagram, or interaction, say so. If the user explicitly requested HTML, honor the request and make a restrained document rather than inventing spectacle.
Establish these from context; ask only when a consequential ambiguity remains:
For a temporary artifact, use a unique file in the system temp directory. Do not add generated reports to the repository unless the user asks to retain them.
Before writing HTML:
For PR or diff artifacts, inspect every changed file plus the relevant surrounding paths needed to verify behavior, contracts, tests, and risk. Stop when additional exploration no longer changes one of those judgments.
Load only the matching subject section(s) and Diagram Rules from content patterns before outlining.
Write the artifact's argument before choosing its chrome:
Choose representation by the reader's verb:
| Reader needs to… | Prefer |
|---|---|
| understand where things are | containment or topology diagram |
| follow what happens | sequence or data-flow diagram |
| see what changed | aligned before/after or annotated diff |
| understand possible states | state diagram or transition table |
| compare options | semantic table or aligned small multiples |
| inspect values or trends | chart with direct labels and annotations |
| understand causality | a controlled parameter paired with immediate output |
| find evidence | searchable source/file map |
Use one overview plus focused detail instead of one giant diagram. A diagram should answer one question for one audience.
Use the source project's visual language when one exists. Otherwise choose a quiet editorial direction based on the subject matter, not a generic product aesthetic. Choose one dominant explanatory composition—such as an annotated map, aligned comparison, mechanism stage, or timeline—and make the rest of the page support it.
Do not generate “presentation slop”:
Use whitespace to separate ideas, not to make the artifact look expensive. Use cards only for genuine peers with repeated structure or independent actions.
Prefer plain semantic HTML, CSS, inline SVG, and a small amount of vanilla JavaScript. Use a framework only when state complexity justifies it; bundle the final result back into one offline HTML file.
Load component contracts. Add <style id="html-artifacts-components"></style> to the document, then run python scripts/inline-components.py /absolute/path/to/artifact.html to inline assets/artifact-components.css. When the artifact needs a provided page grid, figure shell, control, stepper, outcome panel, or scroll region, use the canonical markup and classes instead of recreating it. Steppers must use the contract's inline SVG line and marker; never substitute a CSS pseudo-element, border, clip path, or arrow character. Override subject tokens; do not fork connector geometry, responsive state layouts, or interaction mechanics. Build custom visuals only when no provided component fits the governing question.
Required implementation qualities:
<details> where appropriateprefers-reduced-motion support whenever motion existsLoad quality and validation while implementing.
Use available browser automation; if a browser-testing skill is installed, load it. Test the actual final .html file, not only an authoring source or development server.
At minimum:
If browser automation is unavailable, perform the checks you can and explicitly report that visual and interaction QA remain unverified.
After validation, open the final artifact with:
xdg-open /absolute/path/to/artifact.htmlRun xdg-open as the last artifact action so the user sees the same file that passed validation. If xdg-open is unavailable or fails, report that instead of claiming the artifact was opened. Do not substitute publishing or uploading.
Then report:
Do not paste the full HTML into chat unless asked.
assets/artifact-components.css.516dee7
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.