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/khaledsaeed18/dotclaude/todo-triagegit clone --depth 1 https://github.com/KhaledSaeed18/dotclaudeWrote 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/khaledsaeed18/dotclaude/todo-triage)<a href="https://agentmods.dev/commands/khaledsaeed18/dotclaude/todo-triage"><img src="https://agentmods.dev/badge/commands/khaledsaeed18/dotclaude/todo-triage.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.1 | $0.00086 | $0.00703 |
| Opus 5 | $0.00043 | $0.00351 |
| Sonnet 5 | $0.00017 | $0.00141 |
| Haiku 4.5 | $0.00009 | $0.00070 |
Grade A, and why
todo-triage 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 6d 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 — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Context
Scope (optional, defaults to the whole repository): $ARGUMENTS
Marker counts:
!grep -rInE "(TODO|FIXME|HACK|XXX)[:( ]" --exclude-dir=node_modules --exclude-dir=.git --exclude-dir=dist --exclude-dir=build . 2>/dev/null | wc -l
Task
Turn stale debt comments into decisions. Every marker gets exactly one disposition: fix now, ticket it, keep with a better comment, or delete.
Step 1: Collect
grep -rInE "(TODO|FIXME|HACK|XXX)[:( ]" --exclude-dir=node_modules --exclude-dir=.git \
--exclude-dir=dist --exclude-dir=build .
Replace the trailing . with the scope path when $ARGUMENTS names one. For each hit, capture file, line, marker type, and the comment text. If there are more than ~60, group obviously identical/boilerplate ones and triage the groups.
Step 2: Enrich with history
For each marker (or group representative), get age and author:
git blame -L <line>,<line> --porcelain -- <file> | head -3
Age matters: a three-year-old TODO next to code that has since been rewritten is usually obsolete; a two-week-old FIXME by the current author is usually real. Read enough surrounding code to judge whether the comment still describes reality.
Step 3: Classify
Sort every marker into exactly one bucket:
- Bug risk - the comment describes incorrect or unsafe behavior that is still present (FIXME on a race, HACK around validation). These are latent defects wearing a comment as a disguise.
- Missing feature / follow-up - real work someone deferred; still relevant.
- Cleanup - refactors, naming, dead-code notes; valid but low urgency.
- Obsolete - the surrounding code changed, the feature shipped, the dependency was replaced; the comment is noise now.
Step 4: Report
Produce one table, ordered bug risk first, then by age within each bucket:
| # | Marker | Location | Age | Author | Comment (condensed) | Bucket | Recommendation |
Recommendations are specific: "fix now (5-line change, suggest doing it in this session)", "file an issue titled ...", "delete the comment, superseded by <commit/feature>", "rewrite the comment to say what is actually blocked on". Close with the totals per bucket and offer the two follow-ups you can do immediately: fix the quick bug-risk items, and delete the obsolete comments in one commit.
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.
- 6d ago First seen · 60 lines · 86 tokens per session scan A 959d78b84763
todo-triage is a command published in the GitHub repository KhaledSaeed18/dotclaude (5 stars, last pushed 4d ago), licensed MIT. It adds 86 tokens to every session and 703 once invoked, about $0.0004 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
init-project
Initialize project with CLAUDE.md template - adaptive detection for new or existing projects.
update-counts
Update all hardcoded counts (skills, agents, marketplace repos/skills) across documentation from filesystem.
update-docs
Scan for recently modified files and update corresponding documentation.
handoff
Create a handoff document for seamless session continuity.
status
Display project status, active tracks, and next actions.
manage
Manage track lifecycle: archive, restore, delete, rename, and cleanup.