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 skills add testdouble/han --skill han-update-documentationgit 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/han-update-documentation)<a href="https://agentmods.dev/skills/testdouble/han/han-update-documentation"><img src="https://agentmods.dev/badge/skills/testdouble/han/han-update-documentation/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/testdouble/han/han-update-documentation"><img src="https://agentmods.dev/badge/skills/testdouble/han/han-update-documentation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00167 | $0.03314 |
| Opus 5.5 | $0.00067 | $0.01326 |
| Sonnet 5.5 | $0.00033 | $0.00663 |
| Haiku 4.5 | $0.00017 | $0.00331 |
Grade A, and why
han-update-documentation 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 1mo ago.
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 — 222 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pre-requisites
- git: !
which git 2>/dev/null || echo "not installed" - repo root marker: !
find . -maxdepth 3 -name "plugin.json" -path "*/.claude-plugin/*" -type f - skill roots:
!
find . -maxdepth 2 -type d -name skills -path './han-*/skills' ! -path './han-plugin-builder/skills' 2>/dev/null | sed 's|^\./||' | sort - agents directory:
!
find . -maxdepth 2 -type d -name agents -path './han-*/agents' 2>/dev/null | sed 's|^\./||' | sort
If any of the above are empty or read not installed: this skill is intended to run inside the Han plugin
repository. Tell the operator which marker is missing and stop. Do not attempt to operate on a different repo.
Project Context
- current branch: !
git branch --show-current 2>/dev/null || echo unknown - default branch: !
git symbolic-ref --short refs/remotes/origin/HEAD 2>/dev/null || echo unknown
Step 1: Detect mode and scope
Run ${CLAUDE_SKILL_DIR}/scripts/detect-doc-update-context.sh and read its output. Branch on the mode: line.
The script also emits the skill roots (between skill-roots-start and skill-roots-end) and the agent root
(the agent-root: line), both discovered dynamically from disk. These are the authoritative roots for the rest of this
skill — use them wherever the steps below say "the skill roots" or "the agent root," rather than any hardcoded plugin
list. A skill root is every han-*/skills directory except han-plugin-builder/skills, whose guidance skill is
authoring guidance audited under guidance docs (Step 2, sweep), not a documented product skill. Adding a new product
plugin needs no edit to this skill; it shows up in the discovered roots automatically.
mode: error — stop. Surface the reason: line to the operator. Do not proceed.
mode: branch — branch scope. Set MODE = branch. Read the file list between changed-files-start and
changed-files-end (or note that the file list is empty if changed-files: none appears instead). If the file list is
empty, inform the operator that the branch has no changes against the default branch and stop.
What ships with it
3 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.
- 1mo ago First seen · 222 lines · 167 tokens per session scan A 4f105e364c77
han-update-documentation is a skill published in the GitHub repository testdouble/han (311 stars, last pushed yesterday), licensed MIT. It adds 167 tokens to every session and 3,314 once invoked, about $0.0007 per session on Opus 5.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-08-30.
Other skills, from other repositories
pr-review
Address feedback left on a GitHub pull request: fetch unresolved review threads, make agreed Elixir/Phoenix code fixes, reply, and resolve. Use for a PR URL/number or reviewer comments. NOT for pre-PR review, findings triage, or CI monitoring.
phx-pr-review
Address feedback left on a GitHub pull request: fetch unresolved review threads, make agreed Elixir/Phoenix code fixes, reply, and resolve. Use for a PR URL/number or reviewer comments. NOT for pre-PR review, findings triage, or CI monitoring.
pr-threads-address
Address PR review feedback by systematically working through every unresolved PR review thread on the current branch's PR - analyze each comment, make the requested code changes (with tests where useful), commit, and optionally reply and resolve.
timeline
Group the current branch's commit history into semantic phases along a timeline, and generate two review documents: architecture evolution + code review.
brief
Compare the current branch against its base branch and generate two review documents: architecture change diagram + PR review checklist.
up-to-date
Preflight sync and situational brief before repo work: fetches origin, reports ahead/behind divergence (with a no-upstream/detached-HEAD fallback), recent commits, open PRs and issues touching the work, and dirty-tree warnings, then names one recommended first action. Read-only by default — never pulls, rebases…