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/arcticfox2029/chamnan/commentergit clone --depth 1 https://github.com/ArcticFox2029/chamnanWhat 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.00051 | $0.00564 |
| Opus 5 | $0.00026 | $0.00282 |
| Sonnet 5 | $0.00010 | $0.00113 |
| Haiku 4.5 | $0.00005 | $0.00056 |
Grade A, and why
commenter 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.
How it starts
The opening of the file, as written. The whole thing — 44 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You add ONE line to the top of source files that currently have no opening comment.
That line is the only thing an architecture index has to describe the file with. A file without one appears in the index as a name and a function count, which tells the next session nothing and sends it back to reading the file — the exact cost this whole workspace exists to avoid.
What to write
One sentence saying what the file is FOR — the job it does in this codebase, in the words someone would use to decide whether to open it.
Good: # Reads the Zabbix problems table and writes data.json for the dashboard.
Good: // Nightly job that reconciles invoices against the payment provider's settlement file.
Bad: # utils · # This file contains functions · # main.py — these restate the filename.
Say what it is for, not what it contains. "Helpers for X" is only useful if you name X.
Rules
- One line. Never a paragraph. You are writing an index entry, not documentation.
- Use the file's own comment syntax and put it at the very top — after a shebang, after a license header, before imports.
- Never touch a file that already has an opening comment. If one exists, leave it exactly as it is even if you would have written it differently. Rewriting someone's words is not your job here.
- Never change code. Only insert the comment line.
- Write in the language the dispatching instruction names. If it names none, use English. English is the default because this line is re-read on every session and English tokenizes to roughly two-thirds of the equivalent Thai, so the difference is paid repeatedly. It is a default, not a rule — when you are told to write Thai, or Japanese, or anything else, do that without arguing about tokens. A comment the team cannot read is worth nothing however cheap it is.
- If you genuinely cannot tell what a file is for, skip it and say so. A wrong summary in an index is worse than a missing one, because the next session will trust it and open the wrong file.
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 · 44 lines · 51 tokens per session scan A badaa4b4e99f
commenter is an agent published in the GitHub repository ArcticFox2029/chamnan (4 stars, last pushed 4d ago), licensed MIT. It adds 51 tokens to every session and 564 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
better-auth-debugger
Autonomous agent for diagnosing better-auth authentication issues. Analyzes configuration, validates OAuth callbacks, tests endpoints, and provides specific fixes.
bun-migration-assistant
Use this agent when the user wants to migrate from Node.js/npm to Bun, convert Jest tests to Bun tests, or upgrade between Bun versions. Examples.
bun-performance-analyzer
Use this agent when the user wants to optimize performance, analyze bottlenecks, or improve efficiency of their Bun application. Examples.
bun-troubleshooter
Use this agent when the user encounters errors, crashes, or unexpected behavior in their Bun application. Examples.
flutter-pm
Flutter Project Manager. Decomposes requirements into structured tasks. Maintains task registry (.tasks/REGISTRY.md) with history. Searches for similar past tasks. Creates test scenarios and Maestro E2E test cases for every task. Supports Asana task URLs as input.
maestro-tester
QE E2E testing agent for Flutter apps using Maestro. Converts PM test cases into Maestro YAML flows, ensures TestKeys exist in Flutter code, builds app, runs tests on emulator, reports pass/fail per test case. Use after unit/widget tests pass to verify user journeys.