From the-rat
Score shipped features retroactively — was the costume worth it? Did we over-build or under-build?
npx claudepluginhub numanumanuma/claude-plugins --plugin the-ratCommit range, repos, Jira epic, or area (e.g., 'since abc123', 'repos: go-sense, jig-web', 'JIG-5870', 'this repo')# Ratrospective: $ARGUMENTS Look back at shipped work and evaluate it through the Rat lens. The goal is to build institutional memory: learn which costume items actually mattered and which were waste — and surface any rat debt whose comeback triggers have fired. **Note:** If the user wants to review a *plan* before code is written, use `/ratify` instead. The ratrospective is for shipped work. ## Workflow 1. **Identify the scope**: Determine what to evaluate from `$ARGUMENTS`. **Commit range** — if the user references commits, branches, or time ranges: - `since <hash>` or `changes...
Look back at shipped work and evaluate it through the Rat lens. The goal is to build institutional memory: learn which costume items actually mattered and which were waste — and surface any rat debt whose comeback triggers have fired.
Note: If the user wants to review a plan before code is written, use /ratify instead. The ratrospective is for shipped work.
Identify the scope: Determine what to evaluate from $ARGUMENTS.
Commit range — if the user references commits, branches, or time ranges:
since <hash> or changes since <hash> → git log <hash>..HEAD, git diff --stat <hash>..HEADlast N commits → git log -N, git diff --stat HEAD~N..HEADbetween <A> and <B> → git log <A>..<B>, git diff --stat <A>..<B>since last release or since last tag → find latest tag with git describe --tags --abbrev=0, then diff from therebranch <name> → git log main..<name>, git diff --stat main..<name>git diff <range> -- '*.go' '*.ts' ...) to understand what was built, not just commit messagesMultiple repos — if the user lists repos or the feature spans multiple repos:
repos: go-sense, jig-web, jig-api or go-sense and jig-web since last week../go-sense)~/repos/go-sense, ~/JigSpace/Repos/go-sense)go-sense: abc123 · jig-web: def456repos: go-sense, jig-web since 2026-03-01)Jira epic — if the user provides a Jira issue key (e.g., JIG-5870):
Feature or area — if the user names a feature or system:
Sprints — if the user references sprints:
planning/sprints/Whole repo — if the user asks about the repo as a whole:
Empty — if no arguments:
Capture the snapshot: Before analysis, capture:
git log -1 --format="%H %h %ci" in each repo to get commit hashes and datesdate +"%Y-%m-%d" for the report dateGather evidence: For each component that was built, find:
Score retroactively: For each component, classify it as it turned out:
Important: Zero test coverage on a component is NOT a negative signal at the rat stage. Do not flag missing tests as a "missing subway rat" or append "ZERO TESTS" badges. At the rat stage, the developer doing a manual e2e test IS the test. Tests come back when the feature is validated and needs hardening. "Missing subway rat" means features users actually needed but didn't get — not engineering niceties like test coverage, error handling, or documentation.
Surface rat debt: For every costume/fancy item that was cut or identified as waste, check if its comeback trigger has fired. This replaces separate debt tracking files — the ratrospective IS the debt review. Categorize each:
Extract lessons: What should the team remember for next time?
CRITICAL: All ratrospective reports MUST be output as styled HTML files.
Read the template at templates/retrospective-report.html (relative to ${CLAUDE_PLUGIN_ROOT}) for the exact CSS, structure, and visual style to follow. This is the canonical reference — match it precisely.
<em>, subtitle describing what was reviewed, 4-6 key stats in hero-meta.badge-subway, green) — essential, delivered.badge-costume-worth, blue) — nice-to-have that paid off.badge-costume-borderline, purple) — jury's out.waste-card (red gradient).missing-card with orange left border, impact levels (HIGH/MEDIUM/LOW).badge-triggered, green border) — evidence shows it's time to build this. Include a concrete task recommendation..badge-watching, dim/muted) — no evidence yet, keep monitoring.badge-retired, strikethrough) — 6+ months, no trigger, nobody needs itrat-report/, check them for debt items to track continuity.lesson-number), bold takeaway in each.rule-box.badge-subway — green, for essential components that delivered.badge-costume-worth — blue, for nice-to-haves that paid off.badge-costume-borderline — purple, for jury-is-out items.badge-waste — red, for items that were waste.badge-missing — orange, for flags like "TEAM FRICTION" or "SLOWS ONBOARDING"<footer>
<p>Ratrospective · {{PROJECT_NAME}} · {{FULL_DATE}}</p>
<!-- Single repo -->
<p style="margin-top: 4px;">Commit: <code>{{SHORT_COMMIT_HASH}}</code></p>
<!-- Multi-repo: show each repo's commit -->
<p style="margin-top: 4px;">{{REPO_A}}: <code>{{HASH_A}}</code> · {{REPO_B}}: <code>{{HASH_B}}</code></p>
<!-- If reviewing a commit range, add the range -->
<p style="margin-top: 4px;">Range: <code>{{START_HASH}}..{{END_HASH}}</code> ({{N}} commits)</p>
<p style="margin-top: 8px; color: #52525b;">Generated by <a href="#">The Rat</a> · Claude Code plugin</p>
</footer>
Reports are saved to rat-report/ in the repository root. Create the directory if it doesn't exist. For multi-repo ratrospectives, save to rat-report/ in the current working directory (or the first listed repo if CWD isn't one of the repos).
rat-report/YYYY-MM-DD-<short-commit-hash>.html
Examples:
rat-report/2026-03-20-1f030aa.htmlrat-report/2026-04-15-a3b8c2d.htmlrat-report/2026-03-20-1f030aa-2.htmlopen <path> on macOS)rat-report/ if any (for historical context)