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/thixpin/pitway/milestone-reviewgit clone --depth 1 https://github.com/thixpin/pitwayWrote 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/thixpin/pitway/milestone-review)<a href="https://agentmods.dev/commands/thixpin/pitway/milestone-review"><img src="https://agentmods.dev/badge/commands/thixpin/pitway/milestone-review.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.00000 | $0.01088 |
| Opus 5 | $0.00000 | $0.00544 |
| Sonnet 5 | $0.00000 | $0.00218 |
| Haiku 4.5 | $0.00000 | $0.00109 |
Grade A, and why
milestone-review 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- ms-review — 100% identical, 0 lines differ
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.
milestone-review
Role: Orchestrator (start, brief, record, report) · Main Agent (decide)
pitway milestone-review start <id> [--roles <csv>] [--json]
pitway milestone-review brief <id> --role <role> [--json]
pitway milestone-review record <id> --role <role> --file <path> [--usage <json>] [--json]
pitway milestone-review report <id> [--json]
pitway milestone-review decide <id> --outcome accepted|revision_requested|rejected [--note <text>] [--json]
A role-based review workflow: PitWay manages review state (sessions, briefs, findings, decisions) — the driver runs the actual reviews. Usable against a draft, confirmed, in_progress, or review milestone; never against a completed or cancelled one.
Five steps, always in this order:
- Select roles with the developer.
milestone-review start <id> --roles <csv>opens a session (or, with--rolesomitted on a TTY, presents a numbered multi-select). Multi-select is the developer's choice — offer a combination that fits the milestone, but never impose one. Three example combinations, quoted as examples, never enforced presets:- Architecture/execution milestone →
developer,architect,devops - Product/UX milestone →
developer,product,user - Business-impacting milestone →
developer,architect,business
- Architecture/execution milestone →
- Dispatch one reviewer subagent per selected role. For each role,
run
milestone-review brief <id> --role <role> --jsonand pass ONLY that envelope to the dispatched reviewer — the same bounded-context discipline as a task dispatch's own bundle (../dispatch.md). A reviewer subagent runs unconfined (no worktree, no guard) and must never be asked to runpitwayitself, edit the contract/tasks, or confirm anything — findings only. - Record each reviewer's findings verbatim.
milestone-review record <id> --role <role> --file <yaml>accepts the brief's own findings YAML shape. Normalizing a reviewer's raw output into that shape is fine; inventing or embellishing a finding the reviewer didn't actually report is not. MUST: when the dispatched reviewer subagent's own tool result reports runtime usage, extract it and pass it as--usage '{"total_tokens": N, ...}'on this same call — the same propagation rule as a task dispatch's own completion (dispatch.md); never estimated or derived, and omitting--usagewhen none was reported correctly leaves that role's recorded usagenull. - Present the report to the developer.
milestone-review report <id>renders every recorded role's findings (severity-ordered), pending roles, and mechanically grouped conflicts/overlaps — read this to the developer, don't reconcile it yourself. - The developer decides.
milestone-review decide <id> --outcome accepted | revision_requested | rejected [--note <text>]closes the session.accepted/revision_requestedrequire every selected role recorded;rejectedis the explicit path to abandon an unfinished or stale review. Arevision_requestedoutcome names the two sanctioned revision paths (milestone-add --replacefor a draft,milestone-confirm --amendfor a confirmed milestone) — apply one, then reconcile the contract yourself; no review command ever writescontract.mdortasks.yaml.
Staleness: a session pins a content hash at start. If the
milestone's contract/task content is revised mid-review (a real
task-amend/--replace/--amend — never a task transition or
milestone-confirm's own status promotion), brief/record refuse on
the stale session; decide --outcome rejected abandons it, then start a
fresh session.
Honesty: PitWay never runs a review, spawns a reviewer, or verifies
reviewer independence — it only enforces the state machine above. A
recorded finding is reviewer opinion-evidence, never proof that requires
implementation or runtime verification; reconciling findings is always
yours, never Core's. Decide before milestone-complete — a decided
session keeps the review record readable against what actually shipped.
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 · 84 lines · 0 tokens per session scan A 6e5bfaba0186
milestone-review is a command published in the GitHub repository thixpin/pitway (19 stars, last pushed 3d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,088 tokens. 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-30.
Other commands, from other repositories
catchup
This command was migrated to a skill in Claude Code 2.1.3. See: examples/skills/catchup/SKILL.md.
crear-skill
Crear, probar y mejorar skills de forma iterativa. Usa cuando el usuario dice "crear skill", "crear habilidad", "build skill", "create a skill", "skill development", "desarrollar skill", "nueva habilidad". Usa el workflow: draft → test → review → improve → repeat con evaluación cuantitativa y qualitative review.
capturar
Capturar ideas y notas sin interrumpir el flujo de trabajo. Usa cuando el usuario dice "capturar idea", "quick note", "nota rápida", "grab this", "take a note", "guardar idea", "note to self", "capture thought", "I should remember", "guardar esto". Guarda en memoria persistente sin romper el contexto actual.
cerrar-sesion
Ritual de cierre de sesión con auditoría, calidad, aprendizajes y contexto para la próxima sesión.
voice
Integrar con Claude Code Voice Mode para dictar specs y requirements por voz. Usa cuando el usuario dice "voice", "dictar", "dictate specs", "voice mode", "dictar requerimientos", "speech to text", "voice input", "hablar specs", "dictate", "voice integration". Configura Voice Mode para dictar specs y requirements sin…
historial
Listar sesiones pasadas guardadas en el historial.