Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/testdouble/han/html-summarynpx skills add testdouble/han --skill html-summarygit clone --depth 1 https://github.com/testdouble/hanWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/testdouble/han/html-summary)<a href="https://agentmods.dev/skills/testdouble/han/html-summary"><img src="https://agentmods.dev/badge/skills/testdouble/han/html-summary.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00100 | $0.02656 |
| Opus 5 | $0.00050 | $0.01328 |
| Sonnet 5 | $0.00020 | $0.00531 |
| Haiku 4.5 | $0.00010 | $0.00266 |
Grade A, and why
html-summary scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 203 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Project Context
- personal config directory: !
bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh" 2>/dev/null || echo "$HOME/.claude" - project .han/config.md: !
cat .han/config.md 2>/dev/null || echo ""
As your first action, use the Read tool on .han/config.md inside the personal config directory path above. A read
that returns no file is no personal configuration: continue silently. When that file or the project .han/config.md
probe supplies content, apply it per config-rule.md, which governs precedence
between the two files, relative-path resolution, and what to do with a file that reads but cannot be used.
HTML Summary
Convert a stakeholder summary markdown file into a single self-contained HTML report tailored for executive readers — bottom line and decision asks up front, supporting detail later — styled with a Test Double-derived palette. The skill produces one HTML file next to the source markdown and stops there.
Inputs
- Source markdown file — usually a
stakeholder-summary.mdinside a planning folder. If the user does not name one, ask. Do not guess.
Output
- HTML sibling file — written next to the source markdown, same basename,
.htmlextension. Example:filters-and-saved-views/stakeholder-summary.md→filters-and-saved-views/stakeholder-summary.html. This is the only artifact the skill produces.
Hard rules
- Single file, no external network resources. No
<link rel="stylesheet">, no<script src=...>pointing at a CDN, no remote font loading, no remote images. Inlined JavaScript libraries (such as mermaid.js) are allowed and expected — they keep the file self-contained. - Inline all CSS in a
<style>block in<head>. The file must render correctly offline. - Do not modify the source markdown. This skill is one-way: markdown in, HTML out.
- Do not commit, push, or publish. The skill writes the HTML file to disk and reports its path. Sharing the file is the user's call, outside this skill.
- Executive ordering is non-negotiable. Bottom line (TL;DR) and the stakeholder asks appear before any other
content, in that order. Restructure if the source markdown puts them later. See
references/layout-principles.md. - Use the report palette only. Colors, typography, spacing, and component patterns come from
references/report-style.md. Do not invent new accent colors. - Header: subject as the title, fixed subtitle, no brand mark. The
<h1>is the summary subject (the feature name). The.subtitlebeneath it is the literal stringHan: Stakeholder Summaryon every report. The header carries no logo or brand mark. - No superlatives in user-visible text. Banned word lists and rewrite patterns live in
references/writing-conventions.md. Verify before finishing. - Apply the shared readability standard to prose. Source the standard by invoking
han-communication:readability-guidanceand apply it to the prose content this skill writes or transfers, holding the named audience — the non-technical stakeholder. The report's visual layout stays governed byreferences/layout-principles.mdandreferences/report-style.md. - Preserve the source's plain-language framing. Do not rewrite content to be more technical or more abstract. Keep the source's wording where it works; tighten only when restructuring for the executive layout.
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 203 lines · 100 tokens per session scan A e946f79bfa6e
html-summary is a skill published in the GitHub repository testdouble/han (255 stars, last pushed 2d ago), licensed MIT. It adds 100 tokens to every session and 2,656 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
router
Find the right doc before reading code. Use when asked "where is X documented", "is there a spec/ADR for X", "what's the roadmap", "open bugs", "read the docs about X", or "share the docs".
init
Set up docflow in a repo with no docs yet: scaffold the docs tree, write docflow.json, add agent guidance. Use when asked to "set up docflow", "initialize docs", "scaffold docs", or "make this repo use docflow".
check
Friendly docflow readiness check: one status, one reason, and the exact next command. Use when asked if docflow is set up, ready, or "what do I do next".
repair
Safe maintenance for an existing docflow setup. Regenerates INDEX.md, installs or refreshes recognized DocFlow-managed helper scripts, runs link checks, and reports placeholder/validation issues. Use when docflow exists, after adding or renaming docs, or when doctor recommends repair.
review
Reviews code changes for concrete bugs with P0-P2 prioritized findings. Uses parallel architectural and implementation reviewers, then validates findings to remove false positives. Use when reviewing a caller-supplied diff, branch, staged changes, file set, or pull request, and use fix mode with caller-supplied…
spec
Writes high-quality product specifications through codebase research, web research, a collaborative requirements interview, and independent review, then gives the user a link to the written spec. Use when planning a feature, defining requirements, revising an existing draft, or creating a spec/PRD. Accepts…