From sdd-engineering
Capture a retrospective of a just-finished MULTI-AGENT workflow run (e.g. after /run-plan) into a per-run file, so future runs are cheaper and smarter. Reconstructs, from THIS session's context, how the run went — which agents were launched, in what order, tokens/tool-calls/duration each, review→fix rounds — and the qualitative lessons: what was hard vs easy, what context was duplicated across agents, what they missed. Adds a spawn-economy audit, a rework/iteration cost breakdown, and a trend vs previous runs. Writes ONLY under .claude/workflow-runs/; proposes agent/orchestration tuning but never edits agent definitions. Zero new LLM calls. Trigger: /workflow-retro, "retro the run", "workflow retrospective", "how did that run go".
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd-engineering:workflow-retroThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run this **right after a multi-agent workflow** (typically `/run-plan`, or any session where several
Run this right after a multi-agent workflow (typically /run-plan, or any session where several
subagents were spawned) to turn what just happened into a durable, comparable record. The point
is not a pretty report — it's to make the next run spend fewer tokens and repeat fewer
mistakes. Zero new LLM calls: everything comes from what is already in this session's context
plus cheap git/filesystem reads.
Its ONLY output is a file under .claude/workflow-runs/ — it never edits agent definitions,
plans, specs, or code. It proposes tuning; a human applies it.
You already have the evidence in-session — harvest it, and be honest about estimates:
Agent (Task) spawn calls you made this session, in order,
and whether they ran in parallel (multiple in one turn) or sequentially. Note each
agent's role (implementer, architecture-reviewer, plan-verifier, researcher, …) and
whether it was [SPAWN] or done [INLINE].<usage> notification carries
subagent_tokens, tool_uses, and duration_ms. Use those literal numbers./context (the user runs it); record it as an
estimate and say so. Never fabricate a token/cost number — if you don't have it, write —.git diff --stat / git log --oneline (read-only) for the files/commits the
run produced.The workflow (/run-plan <slug> etc.), the plan/spec it consumed, the branch
(git rev-parse --abbrev-ref HEAD), and today's date (date +%F).
Ordered list of every agent launched: role · mode (parallel/sequential, SPAWN/INLINE) ·
subagent_tokens · tool_uses · duration_ms · outcome (clean / needed rework / failed).
Agents launched, summed subagent tokens, session tokens (est. from /context), review→fix
rounds, wall-clock if known.
[INLINE]? Wasted fan-out (parallel agents that didn't need to be separate)? A slice that
should have been merged? (Rules: this plugin's own README, "Spawn economy" section.)ls .claude/workflow-runs/ and read the most recent prior retro
(same workflow if possible); report deltas: tokens Δ, agents Δ, review-rounds Δ, and whether a
previously-noted recommendation was actually applied.Concrete, actionable tuning for next time — e.g. "inline the barrel-export slice, don't
spawn", "spec-creator missed the token budget → its final self-check already covers it, so the
miss was execution not spec", "route docs/ reads through one researcher instead of three".
Each recommendation names the target (an agent, the plan shape, or the orchestration) and the
expected saving. You do not edit those files — you list the changes for a human to make.
Write .claude/workflow-runs/<YYYY-MM-DD>-<workflow>-<slug>.md (date from date +%F). If a file
for the same run already exists, add a -2 suffix rather than overwriting. Use this shape:
# Workflow Retro: <workflow> — <slug> | <YYYY-MM-DD>
Workflow: /run-plan <slug> · Branch: <branch> · Consumed: <spec / plan refs>
## Run summary
- Agents launched: <N>
- Subagent tokens (summed): ~<X> · Session tokens (est., /context): ~<Y> · Cost: <— or $>
- Review→fix rounds: <R> · Duration: <— or s>
## Agent timeline
| # | Agent | Mode | Tokens | Tool calls | Duration | Outcome |
|---|-------|------|--------|-----------|----------|---------|
| 1 | … | SPAWN·parallel | … | … | … | clean |
## What went well / hard
- <agent>: <easy / hard, with why>
## Duplication & gaps
- Duplicated: <file/context re-read by N agents>
- Missed: <what a later stage caught that an earlier one should have>
## Spawn-economy audit
- <cold-start-for-trivial? wasted fan-out? INLINE-should-haves?>
## Rework / iteration cost
- <review→fix loops, retries, tokens on discarded work; the costliest avoidable one>
## Trend vs previous runs
- vs <prior retro filename>: tokens <Δ>, agents <Δ>, rounds <Δ>; prior rec applied? <yes/no>
## Recommendations (proposed, not applied)
- <target> → <change> → <expected saving>
subagent_tokens; the session total
is a /context estimate — label it. Blank (—) beats a made-up number.Reply in the language of the request: the retro file path, the headline numbers (agents, tokens, rounds), the top 2–3 recommendations, and the trend vs the last run. Point to the file; don't paste it whole.
npx claudepluginhub kolodgeeva/dev-digest-ai-marketplace --plugin sdd-engineeringCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.