Help us improve
Share bugs, ideas, or general feedback.
From html-skills
Synthesize multi-source research (codebase, git history, Slack, web, MCPs) into readable HTML reports — concept explainers, weekly status reports, incident reports, technical deep-dives, learning artifacts. Use whenever the user wants a write-up, explainer, summary, deep-dive, status report, retrospective, or report that pulls from multiple sources — especially when they mention sharing it with someone else, or when the topic involves understanding rather than implementing. Strongly prefer this over markdown for any report longer than a screen.
npx claudepluginhub f-labs-io/agent-html-skills --plugin html-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/html-skills:html-research-reportsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
HTML reports get read; markdown reports of the same length don't. Use HTML whenever the goal is for a human (often someone other than the user) to actually absorb information — concept explainers, status reports, incident reports, knowledge transfer.
Generate polished standalone HTML reports summarizing work, investigations, or decisions. Opens in browser. Use after completing a ticket, debug session, or refactoring.
Renders agent findings as self-contained HTML reports in the browser with dark/light themes, severity cards, Mermaid diagrams, metrics, and interactive collapsible sections. Activates for full reports or long CLI output.
Render agent findings as a styled HTML report in the browser. Use when asked for "full report", "detailed report", "show in browser", or when CLI output exceeds the 40-line budget.
Share bugs, ideas, or general feedback.
HTML reports get read; markdown reports of the same length don't. Use HTML whenever the goal is for a human (often someone other than the user) to actually absorb information — concept explainers, status reports, incident reports, knowledge transfer.
Designed for one-time reading — optimize for the reader who opens it once, gets what they need, closes it. Navigable by scrolling and, for longer reports, a sticky sidebar TOC or tab strip.
Include:
These defaults apply to every artifact this skill produces, on top of the requirements above. If a rule above conflicts with this list, the rule above wins; otherwise these are non-negotiable.
.html file the user opens in a browser — never inline-render in chat. Every artifact this skill produces is a file on disk (<topic>-<kind>.html), not an HTML block embedded in the agent's chat surface (claude.ai artifact/canvas widgets, fenced html blocks, custom rendered iframes, etc.). Inline rendering strips features, themes unpredictably against the surrounding chat (often unreadable in dark mode), and lacks the stable origin and clipboard/network access the submit handler needs. Always write the file. The file itself must be self-contained: no build step, no external runtime, inline CSS and JS. Google Fonts via <link> is fine; otherwise nothing loaded from npm or a CDN unless this skill explicitly calls for it.localStorage / sessionStorage / IndexedDB. Claude.ai artifacts can't use browser storage. State lives in JS memory; the export / copy button is the persistence layer.<pre><code> (selectable, copyable). Tabular data goes in <table>. Diagrams are inline <svg> with real <g> and <path> elements, not embedded PNGs. The reader should be able to copy any value, line, or label out of the artifact.textContent for text and document.createElement + appendChild for structure. Never set innerHTML from a string that includes a variable, user input, computed value, or imported data — it's an XSS vector and many agent harnesses (including Claude Code) block it via security hooks. Static literal markup inline in your script is fine.:root so the whole artifact can be re-skinned in one place — and so design decisions are visible, not buried in 40 inline declarations.Cmd/Ctrl+P should produce something usable: backgrounds that carry meaning print, content doesn't get clipped, dark themes have a sane print fallback.<topic>-<kind>.html) so multiple artifacts on one project compose into a readable folder, not a pile of output.html collisions.Adapt to the report type, but the spine is usually:
For "explain how X works". Lead with a flow diagram of the concept. Annotate the 3–5 key code snippets inline. End with a "gotchas" section listing the non-obvious behaviors. Optimize for someone reading it once.
For "summarize what I/we shipped this week". Section by area or by project. Include numbers (PRs merged, incidents, deploys) when available. End with a "next week" preview. Keep it scannable — a busy reader should be able to read just the section headers and bold sentences and get the picture.
For postmortems. Sections: summary, timeline, root cause, what went well, what didn't, action items. Include a visual timeline (SVG or HTML grid) of the incident. Severity-tag action items by impact. Don't sandbag — name the actual problem.
For learning artifacts. Long-form, ~5–10 sections, with a sticky sidebar TOC. Mix prose, diagrams, and annotated code. End with "further reading" pointing to original sources.
For "should we do X" reports. Sections: problem, options, recommendation, risks, what we'd need to commit to. Lead with the recommendation, justify it, then go into the alternatives. Don't bury the lede.
When given access to MCPs (Slack, Linear, git, web), pull from all of them and cite inline. Cite as "(commit a3f4)", "(Slack: #incidents, Tue)", "(Linear: ENG-1247)" — concrete enough that the reader can verify, not so verbose it clutters the prose.
I don't understand how our rate limiter actually works. Read the relevant code and produce a single HTML explainer page: a diagram of the token-bucket flow, the 3–4 key code snippets annotated, and a "gotchas" section at the bottom. Optimize it for someone reading it once.
Output: HTML file with a token-bucket SVG flow diagram up top, four annotated code snippets in the middle, three gotchas at the bottom. Source list cites the specific files read.