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/zebbern/agent-collab/retrogit clone --depth 1 https://github.com/zebbern/agent-collabWhat 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.00008 | $0.01757 |
| Opus 5 | $0.00004 | $0.00879 |
| Sonnet 5 | $0.00002 | $0.00351 |
| Haiku 4.5 | $0.00001 | $0.00176 |
Grade A, and why
retro 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 — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Analyze the goal ledger's history and propose policy improvements — never code changes, and never auto-applied.
The ledger speaks five events: step-started, disposition, closed,
correction, and retro. retro is a retrospective's own trace: scope,
disposition count, floor verdict, proposal PR. step-started and
disposition track one backlog item's
work; closed records a goal-level outcome (done or abandoned) and its
timing; correction is an accounting-style reversal appended after an
earlier disposition (or closed) line when the goal file was hand-edited
to fix a wrong value — it never rewrites history, it only supersedes it.
Two scopes, two jobs
A retrospective runs at one of two scopes, and the scope decides what it may conclude:
- Per-goal (
retro <slug>) is a process retro: how did this body of work go — blocked causes, whether the rails held, duration fidelity, goal-file hygiene. Run it when a goal closes. Its honesty floor counts the dispositions within that goal. - Portfolio (
retro --all) is the policy retro — the outer loop. Routing guidance, profiles, budgets, and the methods themselves are project-wide artifacts, so the evidence for changing them must be the pooled, project-wide ledger. Its honesty floor counts dispositions across every goal. The report MUST group findings by goal so task-type heterogeneity stays visible (a docs goal and a concurrency goal are not the same evidence), and it MUST state that the ledger is per-project and per-machine — this is this machine's history, not the project's whole truth.
A per-goal retro whose goal clears its own floor may still only propose goal-local hygiene unless the portfolio floor is also met — global artifacts change on global evidence.
- Run
node "${CLAUDE_PLUGIN_ROOT}/scripts/goal-companion.mjs" ledger [slug|--all] --jsonand, for a per-goal run,node "${CLAUDE_PLUGIN_ROOT}/scripts/goal-companion.mjs" status [slug] --json. If either refuses (no goals, ambiguous slug), relay the refusal and the listed slugs verbatim and stop. - The goal file wins. The goal file is portable ground truth: when the
ledger and the goal file disagree about an item's disposition, the goal
file wins. A
correctionevent supersedes the earlierdispositionrecord it corrects — read the ledger in order and apply everycorrectionbefore computing any grouping, rate, or attribution. Never compute attribution (whichdelegateactually did the work) from the raw first write when a latercorrectionexists for that field. - Honesty floor. Count the ledger's
dispositionevents at the scope you are running. If there are fewer than 5, say the ledger is too thin for conclusions and stop — no vibes-based findings, no partial proposal. Before trusting the count either way, cross-check it against the goal files' recorded dispositions: if the ledger sees materially fewer than the goal files carry, the ledger view is local — a split or unmigrated state root — and a verdict computed from a shard is wrong even when the refusal itself is procedurally correct. Say which view disagreed and stop. (Precedent: the 2026-08-07 portfolio retro recordeddispositions=1while the goal files carried 9 — a split-state shard, later unified by the canonical-root ledger migration.) - Cross-reference every recorded PR number against reality:
git logandgh pr view <n>(orgh pr list) for the branch/merge history — a disposition ofmergedwhose PR number the repo does not actually show merged is itself a finding. - Analyze the ledger, using corrected values throughout:
- Dispositions grouped by
delegate(codex / cursor / none) — merge rate, block rate. In portfolio scope, also grouped by goal. - Elapsed time between each item's
step-startedevent and its matchingdispositionevent — and whether that duration is trustworthy. Both extremes lie: work started beforestartwas called reads as an implausibly short gap, and a step that contains unattended or background phases (a scheduled run, an overnight benchmark matrix) reads as an implausibly long one. Flag both rather than averaging them in. PR open-to-merge spans are review-inclusive calendar time, not work duration — cite one only labeled as such, and never mix it into a before/after adoption comparison unless both sides use the same metric under the same label. - Goal-level outcomes and their timing: each goal's
closedevent (doneorabandoned) and the elapsed time from its firststep-startedto thatclosedevent. - How often refine-and-redelegate-once actually fired (a
blockeddisposition that followed a retry, versus one that fired on the first attempt). - What caused each
blockeddisposition — read thenotes. - Method evidence. Read the disposition
notesand the merged PR bodies the ledger points at: they carry how the work was actually done — brief shapes that hung versus succeeded, delegation patterns, retry narrowings. A method observation cited from notes or a PR body is evidence; a method opinion without a citation is not.
- Dispositions grouped by
- Evaluate prior adoptions first. Read prior
retroevents; for each with a proposal PR, find that PR'smergedAtviagh, and compare outcomes before vs after it (merge rate, blocked rate, step durations, refine-once frequency, delegate mix). Its own honesty floor: fewer than 3 dispositions on either side of an adoption point means say 'too thin to judge this adoption yet' and move on — no verdict. A prior proposal showing no improvement, or regression, makes proposing its REVERSAL a legitimate finding. A retro must not propose new method changes while ignoring the results of old ones. - Write the proposal, citing the specific ledger entries (and PR bodies) behind each claim.
- Record the run via
node "${CLAUDE_PLUGIN_ROOT}/scripts/goal-companion.mjs" retro-record [slug|--all] --pr <n> --findings <n>— a retro that leaves no trace cannot be evaluated by its successor; record floor-refused runs too.
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 · 128 lines · 8 tokens per session scan A efd6ca782027
retro is a command published in the GitHub repository zebbern/agent-collab (32 stars, last pushed 17d ago), licensed Apache-2.0. It adds 8 tokens to every session and 1,757 once invoked, about $0.0000 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-30.
Other commands, from other repositories
design-review
Workflow recipe — review a design end-to-end, ending in measured numbers rather than adjectives, by chaining 4 skills.
setup-pm-skills
Onboard a new user — find out what they do, recommend the right bundles & top skills, and set up a project CONTEXT.md so every skill is tailored to them.
statusbar-style
Switch the status-bar style (classic / capsule / hairline).
fest-show
Show festival progression (in-progress tasks, roadmap, and dependency view).
config
Command "config" from sdebruyn/fabric-dw-mcp-cli, covering configuration & defaults, http retry budget, sql retry budget, mcp workspace allowlist {#mcp-workspace-allowlist} and mcp server log level.
scan
Scan AWS account for cost optimization.