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 skills/arcticfox2029/chamnan/milestonenpx skills add ArcticFox2029/chamnan --skill milestonegit clone --depth 1 https://github.com/ArcticFox2029/chamnanWrote 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/arcticfox2029/chamnan/milestone)<a href="https://agentmods.dev/skills/arcticfox2029/chamnan/milestone"><img src="https://agentmods.dev/badge/skills/arcticfox2029/chamnan/milestone.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.00044 | $0.00817 |
| Opus 5 | $0.00022 | $0.00409 |
| Sonnet 5 | $0.00009 | $0.00163 |
| Haiku 4.5 | $0.00004 | $0.00082 |
Grade A, and why
milestone 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 4d 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 — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Record a milestone
A git log says what changed. It rarely says why the change was worth making, and never says which areas moved together. Six months later that is what somebody needs — usually while deciding whether they are allowed to undo it.
When to write one
For a change big enough that a newcomer would ask "why is this part like that?"
- a migration — a database, an auth model, a framework
- a rewrite of a module, or a service split in two
- a design reversal: something was done one way, then deliberately undone
Roughly a handful a year on an active repository. If you are writing one a week, they are commits, not milestones, and the file stops being readable.
When not to
- A task, or something in progress. That is
STATE.md, or a session record. - A single decision with no structural change. That is
/chamnan:remember→.chamnan/memory/decisions/. - A repeated procedure. That is
/chamnan:capture. - Anything with a status, an owner, or a due date. This is not project management, and adding those fields would quietly turn it into a worse version of a tool you already have.
Where it goes
.chamnan/milestones.md
One file, and entries are appended at the end. Newest last is deliberate: appending keeps every diff to added lines, where prepending would rewrite the context of the whole file each time.
The format
## 2026-08-20 — Authentication migration
**Why:** sessions dropped under load; the old design held state per node.
**Affected:** auth module, API layer
**Decisions:** short-lived tokens; the old endpoint stays for one release
Four parts, and the middle two carry the value:
| Date and title | ISO date, then a short name for the change |
| Why | The problem that made it worth doing. Not "we migrated auth" — what was going wrong. |
| Affected | Which areas moved together. This is what nobody can reconstruct later. |
| Decisions | Choices made along the way, especially anything ruled out. |
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.
- 4d ago First seen · 84 lines · 44 tokens per session scan A e61a98399d65
milestone is a skill published in the GitHub repository ArcticFox2029/chamnan (4 stars, last pushed 6d ago), licensed MIT. It adds 44 tokens to every session and 817 once invoked, about $0.0002 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 skills, from other repositories
better-auth
Skill for integrating Better Auth - comprehensive TypeScript authentication framework for Cloudflare D1, Next.js, Nuxt, and 15+ frameworks. Use when adding auth, encountering D1 adapter errors, or implementing OAuth/2FA/RBAC features.
cloudflare-cron-triggers
Cloudflare Cron Triggers for scheduled Workers execution. Use for periodic tasks, scheduled jobs, or encountering handler not found, invalid cron expression, timezone errors.
cloudflare-durable-objects
Cloudflare Durable Objects for stateful coordination and real-time apps. Use for chat, multiplayer games, WebSocket hibernation, or encountering class export, migration, alarm errors.
aceternity-ui
100+ animated React components (Aceternity UI) for Next.js with Tailwind. Use for hero sections, parallax, 3D effects, or encountering animation, shadcn CLI integration errors.
cloudflare-nextjs
Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare). Use for SSR/ISR/SSG/App or Pages Router, getCloudflareContext, bindings (D1/R2/KV/AI/Hyperdrive), caching tiers, skew protection, multi-worker, custom worker, env vars, or worker…
cloudflare-sandbox
Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge. Use for untrusted code, Python/Node.js scripts, AI code interpreters, git operations.