html-summary

html-summary is a skill for Claude Code, Codex from testdouble/han. It costs 100 tokens per session (2,656 once invoked), scanned A, original, MIT.

Convert a stakeholder summary markdown file into a single self-contained HTML executive report — bottom line and decision asks up front, supporting detail later — styled with a Test Double-derived palette and self-contained mermaid diagrams. Use when the user wants to turn a stakeholder summary, executive summary, or…

Skill for Claude CodeCodex

Installs and runs on its own, but its text points at files inside the plugin that ships it — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed.

Install

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.

agentmods
npx agentmods add skills/testdouble/han/html-summary
Any agent
npx skills add testdouble/han --skill html-summary
Clone the repo
git clone --depth 1 https://github.com/testdouble/han

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for html-summary

README.md
[![agentmods](https://agentmods.dev/badge/skills/testdouble/han/html-summary.svg)](https://agentmods.dev/skills/testdouble/han/html-summary)
Your own site
<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>
Per session 100 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,656 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin unknown No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured today against content hash e946f79bfa6e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

The scan reads SKILL.md. This mod also ships 2 executable files (assets/mermaid.min.js, scripts/inline-mermaid.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

han-reporting/skills/html-summary/SKILL.md · 203 lines

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.md inside 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, .html extension. Example: filters-and-saved-views/stakeholder-summary.mdfilters-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 .subtitle beneath it is the literal string Han: Stakeholder Summary on 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-guidance and 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 by references/layout-principles.md and references/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.

Read the full file on GitHub · 203 lines

Files

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.

Changes

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.

  1. today First seen · 203 lines · 100 tokens per session scan A e946f79bfa6e

Subscribe to this mod's changes

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.

Related

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".

MedAdemBHA/docflow · 52 tokens

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".

MedAdemBHA/docflow · 56 tokens

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".

MedAdemBHA/docflow · 40 tokens

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.

MedAdemBHA/docflow · 58 tokens

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…

brsbl/ottonomous · 83 tokens

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…

brsbl/ottonomous · 88 tokens