| name | retrospective |
|---|---|
| user-invocable | true |
| description | Run a team retrospective on recent cycles and produce one concise, focused improvement report: where each lesson belongs (knowledge base / skills / agent instructions), which tools to improve or add (shell / bake / arch-fitness), tool output & performance fixes, and the top time/token effort drivers. Keywords: retrospective, retro, lessons learned, improvement report, effort drivers, tool effectiveness. |
Gather the whole team's experience since the last retro and produce one concise, focused, prioritized improvement report. Analysis only — make no changes; each accepted item becomes its own normally-planned task.
Conciseness is a hard requirement. Tables and one-line items, not prose. No paragraph walls,
no restated background. Every item is on-point: target → concrete change (why) in one line. Cut
anything that does not change a decision. A noisy report is a failed report.
- Knowledge placement — for each lesson worth keeping, WHERE should it live?
- knowledge base (
docs/Manual) — stable concepts, domain, architecture; - a skill — repeatable workflow / tool usage;
- agent instructions (
.github/copilot-instructions.mdor a role prompt) — agent behavior. Give: target + the concrete add/move/clarify + why.
- knowledge base (
- Tools — quality & productivity — which existing tool to improve, or which NEW tool to add
(shell script,
bakeextension, or arch-fitnessAFxxxfunction), with the concrete win. - Tool output & performance — which tool's output is too noisy, or which tool is too slow, and the fix.
- Effort drivers — what consumed the most time and the most tokens this window (these can differ), plus the single highest-ROI fix.
Cover only cycles since the previous retro (never re-cover retro'd work) unless the user gives a
window. The previous boundary is in memory (subject retro cadence: date + issue list + commit
range). If none exists, fall back to the session start or ask. After delivering, store a new
retro cadence memory (date + cycles + <first>..<last> commit range).
- Frame the cycles — list each cycle since the boundary with its landing commit.
- Compute statistics — Tables A and B below.
- Gather team input — notify Implementer and Verifier
(
./swarmtools/notify-agent.sh <role> --file ./tmp/<file>.txt); each replies toagent_context/retro-<role>.md(shared folder, not per-worktreetmp/). Ask the four questions above and one Table-B row per tool they used. Keep the request short; do not prescribe answers. - Mine
agent_context/lessons-log-<role>.md, the role replies, and your own session experience for recurring friction and near-misses. - Synthesize one report. Mark [CONVERGED] where both roles raised an item independently (strongest signal). De-duplicate ruthlessly.
- Deliver to the user and ask which items become tasks. Implement nothing.
- Record the
retro cadencememory.
Source: session store if available (exact); else fallback estimates from
agent_context/logbook.json timestamps + observed command runtimes — label as estimates and note
the store was down. Do not block the retro on a missing store.
Table A — Effort drivers (top 3-5, ranked):
| Driver (cycle / command / activity) | Time | Tokens | Note |
|---|
- Time: summed wall-clock; resolve
bashto the real command (bake verify,bake compile,git,dotnet test, sub-agenttask), never bucket as "bash". - Tokens: from session store
usage_*_tokenswhen available; else flag the token-heavy actions (full-file reads, large tool outputs, sub-agent runs, long reports) — time-cheap but token-expensive items belong here too.
Table B — Existing-tool effectiveness (one row per tool actually used):
| Tool | Used | Hit / Miss | Verdict (keep / improve / drop) |
|---|
Cover the discovery tools (discover.sh def/symbols/specs/term/related, the symbol index,
find-entry-points/explain-area/find-callers) and any bake/test tool exercised this window.
Terse cells.
- Statistics — Tables A + B.
- Improvements — grouped under the four questions; each item ONE line,
target → concrete change (why); tag[CONVERGED]where both roles agree. - Shortlist — quick wins vs larger investments, one line each.
Nothing else.
- Analysis only — no code/doc/tool/rule changes during the retro.
- A role that doesn't reply: proceed with the rest, note the gap.
- Session store unavailable: label stats as estimates; continue.