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 commands/zircote-plugins/documentation-review/doc-cleanupgit clone --depth 1 https://github.com/zircote-plugins/documentation-reviewWrote 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/commands/zircote-plugins/documentation-review/doc-cleanup)<a href="https://agentmods.dev/commands/zircote-plugins/documentation-review/doc-cleanup"><img src="https://agentmods.dev/badge/commands/zircote-plugins/documentation-review/doc-cleanup.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.00011 | $0.00870 |
| Opus 5 | $0.00005 | $0.00435 |
| Sonnet 5 | $0.00002 | $0.00174 |
| Haiku 4.5 | $0.00001 | $0.00087 |
Grade A, and why
doc-cleanup 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 3d 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 — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Identify obsolete documentation for user review. This command reports only - it does not delete files.
Cleanup Analysis
1. Find Documentation Files
Use Glob to locate all documentation:
docs/**/*.md*.md(root level)**/*.rst(if RST supported)
2. Detect Obsolete Content
Orphaned Documentation
- Files not linked from any other document
- Files not in navigation/sidebar config
- README files in deleted directories
Stale Content Indicators
- Last modified date > 1 year ago
- References to deleted files/directories
- Mentions deprecated APIs or features
- Version numbers significantly behind current
Duplicate Content
- Similar content across multiple files
- Copied sections that may be out of sync
- Redundant documentation of same feature
Dead References
- Internal links to non-existent files
- Anchor links to removed sections
- Image references to missing assets
3. Check Against Codebase
Removed Features
- Documentation for deleted code
- APIs that no longer exist
- Configuration options removed
- CLI commands deprecated
Renamed Components
- Old names still in documentation
- Outdated file paths
- Changed package/module names
4. Analyze Git History
Check for:
- Files unchanged for long periods
- Files with many authors (may indicate confusion)
- Files deleted and restored (uncertain status)
Report Format
# Documentation Cleanup Report
**Generated:** [date]
**Files Analyzed:** [count]
**Issues Found:** [count]
## Obsolete Documentation
### High Confidence (Safe to Remove)
| File | Reason | Last Modified |
|------|--------|---------------|
| docs/old-api.md | API deleted in v2.0 | 2023-01-15 |
| docs/legacy-setup.md | Feature deprecated | 2022-06-20 |
### Medium Confidence (Review Recommended)
| File | Reason | Notes |
|------|--------|-------|
| docs/advanced-config.md | No internal links | May be standalone guide |
| README-old.md | Possibly backup | Check if needed |
### Low Confidence (Needs Investigation)
| File | Observation |
|------|-------------|
| docs/troubleshooting.md | Not updated in 18 months |
## Duplicate Content
| Primary | Duplicate | Similarity |
|---------|-----------|------------|
| docs/setup.md | docs/getting-started.md | 85% |
## Broken References
| File | Broken Link | Type |
|------|-------------|------|
| README.md | ./docs/old-guide.md | Internal |
| docs/api.md | #deprecated-section | Anchor |
## Diátaxis Gap Analysis (enabled by default; disable with `diataxis.enabled: false`)
| Feature/Component | Tutorial | How-to | Reference | Explanation |
|-------------------|----------|--------|-----------|-------------|
| [feature] | Yes | - | Yes | - |
### Priority Gaps
1. [Feature]: Missing [quadrant] — [user impact]
## Recommended Actions
1. **Remove** (high confidence): [list of files]
2. **Consolidate**: [duplicates to merge]
3. **Update**: [files with broken references]
4. **Investigate**: [uncertain files]
5. **Create** (Diátaxis gaps): [missing quadrant documents to create]
## Important Notes
- This report is advisory only
- No files have been modified
- Review each item before taking action
- Consider archiving instead of deleting
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.
- 3d ago First seen · 143 lines · 11 tokens per session scan A 5ab2fb939e04
doc-cleanup is a command published in the GitHub repository zircote-plugins/documentation-review (5 stars, last pushed 2mo ago), licensed MIT. It adds 11 tokens to every session and 870 once invoked, about $0.0001 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 commands, from other repositories
capture-answer
Ingests an expert's answers to an L2 questionnaire in the abapwiki knowledge base: transforms the answers (filled in the interviews/ file or given verbally) into a canonical citable expert-answer (slices/ /inputs/expert-answers/), moves gaps to 'answered' and closes the questions. Use this skill when the owner/expert…
ingest-l1
L1 analysis loop for the abapwiki knowledge base: for each batch it launches the abap-analyzer sub-agent in parallel, then the adversarial judge abap-deepcheck (separate session), applies only the analyses that pass the fail-closed gate, and commits. Resumes exactly after an interruption. Use this skill to document…
research-l2
Executes Phases 1-3 of the L2 process of the abapwiki knowledge base on a slice: launches the abap-functional-researcher sub-agent (gap discovery + multi-source auto-research: wiki -> raw/docs -> MCP abap-fs on the system read-only -> standard knowledge), ingests gaps and evidence, and generates questionnaires for…
slice-init
Creates an L2 slice in the abapwiki knowledge base: a business process on which to build functional documentation. Writes the manifest (curated anchors + mandatory real owner) and derives the membership from the dependency graph (BFS hop<=2). Use this skill to start the L2 process on a custom domain. Does not promote…
ingest-l0
L0 bootstrap of the abapwiki knowledge base: creates stubs for all custom objects from the TADIR. Use this skill to initialize the repo from scratch or to ingest a new TADIR export. Deterministic operations (no LLM sub-agent), idempotent.
lint-audit
Checks the integrity of the abapwiki knowledge base: parseable YAML frontmatter, no broken wikilinks, resolvable [VERIFIED: path:N-M] citations, non-nested confidence tags, drift between wiki and DB, synchronization between canonical agent contracts and the .claude/agents/ copies. Use this skill periodically or after…