From retro
Use when a Claude Code session ends, a friction needs fixing, local memory needs promoting upward, or for cross-session audits — detect friction and materialize learnings into the right destination. Triggers: /retro, 'retrospective', 'review the session', 'fix this skill', 'prune a skill rule', 'promote memory', 'audit the architecture'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/retro: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
One efficient LLM pass over a session (or the stored memory backlog) detects
checkpoints.yamlevals/README.mdevals/conflicting-skill-instructions.mdevals/description-no-match-not-conclusive.mdevals/mechanical-failure-not-skill-update.mdevals/no-action-low-confidence.mdevals/obsolete-instruction-removal.mdevals/skill-bug-vs-gap.mdreferences/classification-heuristic.mdreferences/destination-taxonomy.mdreferences/eval-integration.mdreferences/friction-catalog.mdreferences/patch-workflow.mdreferences/promote-mode.mdreferences/skill-discovery.mdreferences/workflow.mdscripts/detect-mechanical.pyscripts/extract-coach-events.pyscripts/find-installed-skills.shscripts/find-org-skills.pyOne efficient LLM pass over a session (or the stored memory backlog) detects friction, classifies it into one of six destinations, and materializes approved learnings.
Core principle: No silent writes — every materialization needs explicit per-proposal approval.
Detail per mode in references/workflow.md; full pipeline + commands in
commands/retro.md.
/retro — Sweep: the whole current session./retro "<problem>" — Spotlight: one described issue./retro outcome [session-id|--since N] — replay a past session by what
happened to its output (reverts, rejected PRs, follow-up fixes)./retro audit [--scope project|repo|skill] — cross-session architectural
drift, not per-session friction./retro promote — inventory already-written local memory (all slugs) and
re-home each note upward (skill-update › project-rule › user-memory; never
project-local memory), draining the source only after the upward write is
verified. See references/promote-mode.md.hooks/session-end.json), off by default.scripts/detect-mechanical.py (Promote substitutes
scripts/scan-memory-inventory.py).events.sqlite or JSONL scan.scripts/find-org-skills.py (installed + org catalogue);
find the owning skill first.classification-heuristic.md) to the broadest useful scope; never
project-local memory.evals/; propose a TDD stub.Always: LLM is primary classifier. Patches go to source repos, never the
cache. Per-private-repo confirmation. Conventional Commits. DCO sign-off
(git commit -s). Preserve commit signing.
Ask first: skill-match ambiguity, auto-mode activation, private-repo targets, dirty-worktree fallback, any promotion that makes a private note team-visible.
Never: auto-merge, silent writes, bot attribution, skip hooks (--no-verify),
patch the cache, hardcode a static skill list, rm a drained memory (tombstone).
| File | Purpose |
|---|---|
references/friction-catalog.md | All ~32 friction signals (Schichten A/B/C) |
references/destination-taxonomy.md | The six destinations |
references/classification-heuristic.md | Friction → destination mapping |
references/skill-discovery.md | Finding skills at runtime |
references/patch-workflow.md | Source-repo patching (never cache) |
references/eval-integration.md | Evals for context and TDD stubs |
references/promote-mode.md | Promote: scan, classify, materialize-then-drain |
references/workflow.md | All modes + pipeline phase selection |
Builds a throwaway prototype to answer a design question about UI appearance or state/logic behavior. Guides you through two branches: interactive terminal app for logic validation, or multiple UI variations for visual exploration.
npx claudepluginhub netresearch/claude-code-marketplace --plugin retro