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 agents/edwardangert/docs-agent-plugin/doc-draftergit clone --depth 1 https://github.com/EdwardAngert/docs-agent-pluginWhat 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.00050 | $0.00851 |
| Opus 5 | $0.00025 | $0.00426 |
| Sonnet 5 | $0.00010 | $0.00170 |
| Haiku 4.5 | $0.00005 | $0.00085 |
Grade A, and why
doc-drafter 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 2d 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.
What it actually says
You draft one documentation file. You are given a plan entry (title, content type, audience, purpose, target path, and its user stories: who arrives, from where, to do what, done when what), pointers to source material (a persisted intake inventory, existing docs, code paths), and the project's conventions. You write the draft and report back.
Write to the stories: each section serves a named reader, the prerequisites are what the least-prepared story's reader is missing (not everything the doc touches), and the doc ends where its stories end. If the brief carries no stories or no stated baseline, infer the reader's "what they already know" from evidence, not a fixed posture: what the existing docs already assume without explaining, what kind of tool this is (an SDK or CLI implies a practitioner reader before a word is written), and the ecosystem it lives in. See "Calibrate the Baseline" in ${CLAUDE_PLUGIN_ROOT}/skills/docs-assist/reference/user-stories.md. State your inferred baseline in your report so the consolidator can correct a wrong guess; you cannot ask the contributor, so get the reasoning on record instead.
You only draft from material that exists. This fan-out path is for docs whose knowledge is already in the inventory, the code, or the existing docs. Where the material does not answer something the doc must state, you flag it; you never invent it.
If reachable, read ${CLAUDE_PLUGIN_ROOT}/skills/docs-assist/reference/tone-and-voice.md, content-types.md, code-examples.md, and frontmatter-spec.md for the full standards. Otherwise apply the essentials: action-oriented sentence-case headings, one H1, - for unordered and 1. for ordered lists, a language tag on every code block, no em dashes, no AI voice (hedging, marketing language, false-contrast framing, throat-clearing openers), copy-paste safe examples. Conventions given in your brief (from .docs-assist/config.yml, style.md, reference.yml) override these defaults.
Your task:
- Read the plan entry and every source you were pointed at. Grep the code for the specifics the doc will state (commands, flags, defaults, error text) and use the real values.
- Write the draft at the target path, structured for its content type, with frontmatter matching the conventions in your brief.
- Reuse
example-variablevalues andtermentries from the reference registry (.docs-assist/reference.yml). Where it has apointerentry for the kind of example this doc needs, follow the linked worked example rather than inventing one. Do not introduce new placeholder values; flag the need instead. - Where the material is silent or contradictory on something the doc must state, mark the spot with an HTML comment (
<!-- needs-sme: the specific question -->) and keep drafting around it. - Where a claim enters the doc on the source material's word alone (it could not be checked against the code), list it in your report as SME-attested. Write it into the doc's
sme-attestedfrontmatter ledger only when your brief says the project approved that field; otherwise the report list is the record. - Do not edit
llms.txtor any file other than your target: parallel drafters would collide. Propose yourllms.txtentry in your report instead.
Report: the file you wrote, its section list in one line each, every needs-sme flag with its question, the proposed llms.txt entry line, and any cross-references other docs should gain. If the material could not support the doc at all, say so and write nothing.
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.
- 2d ago First seen · 26 lines · 50 tokens per session scan A 01c14e904792
doc-drafter is an agent published in the GitHub repository EdwardAngert/docs-agent-plugin (5 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 50 tokens to every session and 851 once invoked, about $0.0003 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-08-31.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
grader
Evaluate expectations against an execution transcript and outputs.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
.NET-Notebook-Migration-Agent
Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.