Agent skill

HTML Summary

by testdouble in testdouble/han

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…

MITAuto-check passedDocuments & Office

Install HTML Summary

skills CLI
$ npx skills add testdouble/han --skill html-summary -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install testdouble/han html-summary --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/testdouble/han.git skills-src && mkdir -p .claude/skills && cp -r skills-src/han-reporting/skills/html-summary .claude/skills/html-summary && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
html-summary
GitHub stars
279
Token cost
~2.9k tokens
SKILL.md length
1,477 words
Files
8 (incl. scripts, references, assets)
Skills in repo
54
Repo updated
First seen
Licence
MIT

At a glance

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…

  • Works in 7 steps: Locate the source markdown → Read the source end-to-end → Load the references → …
  • The user wants to turn a stakeholder summary
  • SKILL.md covers Project Context, Inputs, Output and Hard rules, plus 1 more section
  • Runs JavaScript and Shell scripts from its folder; calls bash

What it does

HTML Summary is an agent skill from testdouble/han. 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 business summary into an HTML report, generate an HTML version of a summary doc, or produce a shareable HTML file from a summary markdown. Produces an HTML sibling file only; does not publish anything.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts, reference files and assets (for example `assets/mermaid.min.js`, `references/layout-principles.md` and `references/report-style.md`).

It sits in Documents & Office, covering Unit testing, Report writing and Summarization. The repository describes itself as: Han: AI skills and agents for "Solo" product engineers and small teams. The licence is MIT.

When your agent uses it

  • The user wants to turn a stakeholder summary
  • Executive summary
  • Business summary into an HTML report
  • Generate an HTML version of a summary doc

Example prompts

  • “/html-summary”

Requirements

  • Node.js
  • A Bash shell
  • Pre-approved tools (allowed-tools): Read, Write, Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Locate the source markdown
  2. Read the source end-to-end
  3. Load the references
  4. Produce the HTML
  5. Verify the HTML
  6. Inline the mermaid bundle
  7. Report

What it can do on your machine

Read from SKILL.md and the folder at commit abba73a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (JavaScript and Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

HTML Summary loads about 2.9k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 133 tokens; SKILL.md has 1,477 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~133
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~15k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from testdouble/han at commit abba73a, republished under its MIT licence (© testdouble). 1,477 words, ~2,926 tokens.

Download SKILL.mdSave it as .claude/skills/html-summary/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
html-summary
description
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 business summary into an HTML report, generate an HTML version of a summary doc, or produce a shareable HTML file from a summary markdown. Produces an HTML sibling file only; does not publish anything.
allowed-tools
Read, Write, Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")
argument-hint
[path to stakeholder-summary.md]

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

Process

1. Locate the source markdown

If the source path is not in the conversation, ask for it. Resolve to an absolute path and confirm it exists. The output HTML path is the source path with .md replaced by .html.

2. Read the source end-to-end

Read the entire markdown file. Identify which of these sections (or equivalents) are present, in any order:

  • The bottom line / executive summary / TL;DR (sometimes implicit — derive from the opening paragraph)
  • The stakeholder asks / open decisions (sometimes titled "What we are asking stakeholders" or similar)
  • The problem statement
  • What the change opens up / outcomes
  • User experience walkthrough
  • Today-vs-after data flow comparisons (sometimes with mermaid diagrams)
  • What is intentionally not in scope

Section titles in the source may not match these names exactly — map by content, not heading text.

3. Load the references

Read all references before producing HTML:

4. Produce the HTML

Write the HTML file to the output path. Required structure, in order:

  1. Header — <h1> set to the summary subject (the feature name) with the most evocative noun phrase wrapped in <span class="highlight">; .subtitle set to the literal string Han: Stakeholder Summary. No brand mark.
  2. Bottom line card — purple accent strip; one-sentence lead in larger type; 4–8 outcome bullets in a two-column list.
  3. Stakeholder asks card — orange accent strip; numbered list of decisions the team needs from stakeholders. Each ask has a short title and a one-paragraph question ending with **Confirm ...?**. If the source has no asks section, omit this card entirely — do not invent decisions.
  4. Problem statement section.
  5. What this opens up section — outcome bullets.
  6. User experience walkthrough section — numbered walk list.
  7. Data flow section — today and after cards stacked one per row, each card spanning the page wrap's content width. Do not place data-flow cards side-by-side in a .grid-2 wrapper. Each card contains a <pre class="mermaid"> block with the source's mermaid syntax preserved (branching, decision diamonds, labeled edges). Normalize style directives to the report palette per references/report-style.md.
  8. Intentionally not in scope section — out-of-scope list.

Readability of the prose. Invoke han-communication:readability-guidance to surface the shared readability standard into your context; the text in these sections follows that standard — do not duplicate its text, apply it. Lead with the main point (bottom line up front, which the executive ordering already enforces), give each heading a descriptive name rather than a generic label, keep one idea per paragraph with the first sentence carrying it, number sequential steps and bullet non-sequential items, and reveal detail in layers. This governs the prose only; the visual layout stays governed by the layout conventions above.

The template includes a mermaid bundle placeholder near the end of <body>:

html
<script id="mermaid-bundle">
  <!-- MERMAID_BUNDLE_INLINE_HERE -->
</script>
<script>
  mermaid.initialize({ ... });
</script>

Leave the placeholder string <!-- MERMAID_BUNDLE_INLINE_HERE --> exactly as written. The inliner script in Step 6 replaces it with the vendored mermaid.min.js bundle. The mermaid initialization block (with the report palette theme variables) is also part of the template — paste it verbatim.

Section omission rules:

  • Omit any section the source markdown does not address. Do not invent content to fill a section.
  • The bottom line card is the only required section other than the header — if the source has no explicit TL;DR, derive one from the opening paragraph and clearly mark it as such in your work notes.

Markup rules:

  • Use the entity &mdash; not — for em-dashes in HTML body content (the template does this consistently).
  • Use the entity &rarr; for arrows in flow diagrams.
  • Apply class names verbatim from the template — tldr, ask-block, ask, walk, flow, node, node.good, node.bad, node.start, out-of-scope, chip, chip.good, chip.bad.
  • Wrap the feature-name portion of the <h1> in <span class="highlight"> for the green background.
Show full SKILL.md (371 more words)Show less
5. Verify the HTML

Open the file you just wrote and confirm:

  • The <style> block exists in <head> and contains the :root palette variables from references/report-style.md.
  • There are no <link>, <script src=...>, or external url(...) references in <head> or <body>.
  • The <h1> is the summary subject and the .subtitle reads Han: Stakeholder Summary.
  • Every section that exists in the source markdown has a corresponding section in the HTML.
  • The bottom-line card and asks card (if present) appear before any other content section.
  • No banned superlatives appear in user-visible text (see references/writing-conventions.md).

Then run the standardized readability self-check (the shared standard is in your context from han-communication:readability-guidance) over the report's PROSE content only — never inside HTML tags, attributes, class names, mermaid/diagram bodies, or code. The visual layout stays governed by the existing layout conventions. This skill runs no rewrite pass, so this self-check is the fidelity guard on the prose; the fidelity criterion is not optional. Confirm each criterion and fix any failure before finalizing:

Run the readability rule's standardized self-check, which is already in your context from the readability-guidance invocation above. Correct every failure before Step 6. Its fidelity criterion is not optional: the standard governs how the content is said, and drops a required fact only when the reader asked for less and losing it would not change what they do next.

The vocabulary blocklist for this skill is the shared one plus its supplementary domain terms in writing-conventions.md.

If any check fails, fix it before Step 6.

6. Inline the mermaid bundle

Make the file self-contained by inlining the vendored mermaid bundle in place of the placeholder: run ${CLAUDE_SKILL_DIR}/scripts/inline-mermaid.sh <path-to-html-file> and capture its output.

The script is idempotent: it replaces the <!-- MERMAID_BUNDLE_INLINE_HERE --> placeholder with the contents of assets/mermaid.min.js. If the report has no diagrams (no placeholder), it leaves the file untouched and exits cleanly. If the script exits non-zero, surface the error to the user; do not retry blindly — read the error.

7. Report

Tell the user:

  • The output file path.
  • That the diagrams were inlined (or that the report had no diagrams to inline).

If you had to derive the bottom line because the source had no explicit TL;DR, mention that so the user can review the framing.

© testdouble, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references, assets) in han-reporting/skills/html-summary of testdouble/han.

  • SKILL.md
  • assets/.gitattributes
  • assets/mermaid.min.js
  • references/html-template.html
  • references/layout-principles.md
  • references/report-style.md
  • references/writing-conventions.md
  • scripts/inline-mermaid.sh

Open the folder on GitHubat commit abba73a

Compare with similar skills

HTML Summary next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

HTML Summary compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
HTML Summary this skilltestdouble/han279—~2.9kAutomated safety check: PassMIT
Ky Markdown RebuilderKyrieCheungYep/ky-markdown-rebuilder117—~5.7kAutomated safety check: PassNone
Markdown Report WritingNeuroAIHub/BrainPilot1.1k—~2.6kAutomated safety check: WarnAGPL-3.0
Markdown to PDF Convertergarrytan/gstack136k—~5kAutomated safety check: NotesMIT
Md Documentborghei/Claude-Skills881—~3kAutomated safety check: PassMIT
Bookforge Korean Ebook PDF Makergongnyang/bookforge3141 repos~1.7kAutomated safety check: PassMIT

Similar skills

  • Ky Markdown Rebuilder

    KyrieCheungYep/ky-markdown-rebuilder

    Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.

    117 GitHub stars~5.7k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check passed
  • Markdown Report Writing

    NeuroAIHub/BrainPilot

    Guide AI agents to write beautifully formatted, well-illustrated Markdown reports with proper structure, diagrams, and compatibility across GitHub and Obsidian.

    1.1k GitHub stars~2.6k tokensUpdated 6 days ago
    Documents & OfficeAuto-check: warnings
  • Renders a markdown file into a finished PDF with margins, page numbers, a cover page, running headers, a clickable table of contents and an optional DRAFT watermark.

    136k GitHub stars~5k tokensUpdated today
    Documents & OfficeAuto-check: notes
  • Md Document

    borghei/Claude-Skills

    Convert authored markdown into a polished self-contained HTML document with a table of contents, numbered figures and tables, cross-references, footnotes, and print-ready CSS.

    881 GitHub stars~3k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Produces book-style Korean ebook PDFs from a topic or finished manuscript, with six design styles, real book parts and quality-check gates before output.

    314 GitHub starsUsed in 1 repo~1.7k tokens
    Documents & OfficeAuto-check passed
  • Markdown to HTML Report

    MegaSuperKitty/WeClaw

    Drafts a report in Markdown with numbered inline citations and a references section, then renders it to a styled HTML file through a Jinja2 template on Windows.

    370 GitHub stars~456 tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed

More from testdouble/han

All 54 skills in this repo
  • Update Han plugin documentation so every skill, agent, guidance doc, index, and cross-reference is current and accurate.

    279 GitHub stars~3.4k tokensUpdated 7 days ago
    Auto-check passed
  • Guidance

    testdouble/han

    Authoritative guidance for building Claude Code skills, agents, and plugins, plus init and update steps that install and refresh the plugin-building skills in the current repository.

    279 GitHub stars~1.8k tokensUpdated 7 days ago
    Auto-check passed
  • Han Release

    testdouble/han

    Cut a Han release: update CHANGELOG.md with the changes since the last release, bump and tag every plugin that changed as {plugin-name}--v{version} so a version-constrained dependency can resolve…

    279 GitHub stars~8.6k tokensUpdated 7 days ago
    Auto-check passed
  • Update PR Description

    testdouble/han

    Generate a PR description from the current branch's changes against a GitHub PR, using the gh CLI.

    279 GitHub starsUsed in 1 repo~4.7k tokens
    Auto-check passed
  • Plan Implementation

    testdouble/han

    Builds a feature implementation plan from an existing feature specification (or equivalent context) through a facilitated team conversation.

    279 GitHub stars~9.5k tokensUpdated 7 days ago
    Auto-check passed
  • Refactor

    testdouble/han

    Restructure existing code without changing its behavior, through a test-gated refactoring loop: a named target, a green suite over that target before any edit, a planned sequence of small named…

    279 GitHub stars~3.1k tokensUpdated 7 days ago
    Auto-check passed

Questions about HTML Summary

What does HTML Summary do?

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…. HTML Summary is an agent skill from testdouble/han. 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.

When should I use HTML Summary?

HTML Summary fits situations like: the user wants to turn a stakeholder summary; executive summary; business summary into an HTML report; generate an HTML version of a summary doc.

How do I install HTML Summary in Claude Code?

Run `npx skills add testdouble/han --skill html-summary -a claude-code`. Or copy the skill folder (han-reporting/skills/html-summary in testdouble/han) into .claude/skills/html-summary in your project. Claude Code loads it when a task matches its description.

How do I install HTML Summary in Codex?

Run `npx skills add testdouble/han --skill html-summary -a codex`. Or copy the skill folder (han-reporting/skills/html-summary in testdouble/han) into .agents/skills/html-summary in your project. Codex loads it when a task matches its description.

Can I use HTML Summary in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add testdouble/han --skill html-summary -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/html-summary, .gemini/skills/html-summary, .github/skills/html-summary and .opencode/skills/html-summary in your project.

What does HTML Summary need to run?

Going by SKILL.md and its folder, HTML Summary needs JavaScript and a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: Node.js; A Bash shell. Its frontmatter pre-approves these tools: Read, Write, Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh").

Does HTML Summary access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is HTML Summary safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does HTML Summary use?

HTML Summary is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does HTML Summary use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.

What are the alternatives to HTML Summary?

Skills that share tags, products or a category with HTML Summary: Ky Markdown Rebuilder (KyrieCheungYep/ky-markdown-rebuilder, 117 stars), Markdown Report Writing (NeuroAIHub/BrainPilot, 1.1k stars), Markdown to PDF Converter (garrytan/gstack, 136k stars) and Md Document (borghei/Claude-Skills, 881 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains HTML Summary?

testdouble (a GitHub organization) maintains it in testdouble/han, which has 279 GitHub stars. The repository holds 54 skills in this directory. The repository was last updated on October 1, 2026.

Source: testdouble/han on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.