원클릭으로
pr-retro
PR Review Retrospective -- actionable analysis of a PR's review cycle
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
PR Review Retrospective -- actionable analysis of a PR's review cycle
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Run a single-session AI optimization audit on the codebase
Run a single-session code review audit on the codebase
Run a single-session engineering productivity audit on the codebase
Run a comprehensive enhancement audit across the entire project - code, product, UX, content, workflows, infrastructure, external services, and meta-tooling.
Run a single-session performance audit on the codebase
Run a comprehensive multi-stage automation audit with parallel agents
| name | pr-retro |
| description | PR Review Retrospective -- actionable analysis of a PR's review cycle |
Document Version: 3.3 Last Updated: 2026-02-28 Status: ACTIVE
Analyze the review cycle for a completed PR and produce a comprehensive, actionable retrospective.
Invocation:
/pr-retro (no args) → Missing Retros Dashboard/pr-retro <PR#> → Single-PR retrospectiveWhen to use: When the user decides the review cycle is done, or wants to discover which PRs are missing retros.
/pr-retroIf no PR# argument is provided, run Dashboard Mode (below) instead of the single-PR retro (Steps 1-5).
If a PR# is provided, skip to Step 1.
When invoked as /pr-retro with no arguments, show a dashboard of merged PRs
that are missing retrospectives.
gh pr list --state merged --limit 100 --json number,title,mergedAt,author
Grep docs/AI_REVIEW_LEARNINGS_LOG.md and docs/archive/REVIEWS_*.md for retro
headers using a relaxed pattern:
/^###\s+PR\s+#(\d+)\s+Retrospective/
Collect all PR numbers that already have retros.
A PR needs a retro only if it had review activity. Skip PRs that:
docs/AI_REVIEW_LEARNINGS_LOG.md,
docs/archive/REVIEWS_*.md, or docs/reviews/reviews.jsonl[bot], or title starts with
chore(deps), build(deps), or Bump )Diff merged PRs against existing retros and non-candidates → missing retros.
Show a markdown table sorted by merge date (newest first):
| PR# | Title | Merged | Author |
|-----|-------|--------|--------|
| #NNN | ... | YYYY-MM-DD | ... |
If no PRs are missing retros, say: "All reviewed PRs have retros. Nice work!"
End with: Run /pr-retro <PR#> to create a retro for any of these.
Dashboard mode ends here -- do NOT continue to Steps 1-5.
Search docs/AI_REVIEW_LEARNINGS_LOG.md and docs/archive/REVIEWS_*.md. Read
EVERY entry in full -- item-level detail is required for churn analysis.
For each round: number, date, source, total items (by severity), fixed/deferred/ rejected counts, pattern categories, files modified, new issues from prior fixes.
git log --oneline --grep="PR #${PR_NUM}" --grep="R[0-9]" --all-match
grep "pr-review" docs/technical-debt/MASTER_DEBT.jsonl | grep "${PR_NUM}"
Read last 3-5 retros. For each action item: was it implemented? If not, how many avoidable rounds did the gap cause?
Every section is MANDATORY. Scale depth to match review cycle complexity.
Required sections:
Step 4.1 is the source of truth. Step 4.2 is the legacy view maintained during transition. Both must be written.
cd scripts/reviews && npx tsc && node dist/write-retro-record.js --data '{"pr":PR_NUM,"date":"YYYY-MM-DD","schema_version":1,"completeness":"full","completeness_missing":[],"origin":{"type":"pr-retro","pr":PR_NUM,"tool":"write-retro-record.ts"},"session":null,"top_wins":["win1"],"top_misses":["miss1"],"process_changes":["change1"],"score":8.0,"metrics":{"total_findings":N,"fix_rate":0.8,"pattern_recurrence":N}}'
Append the complete retrospective to docs/AI_REVIEW_LEARNINGS_LOG.md. Then
display the full retro to the user.
Run npm run reviews:sync -- --apply to sync to JSONL.
node dist/write-invocation.js --data '{"skill":"pr-retro","type":"skill","duration_ms":null,"success":true,"error":null,"context":{"pr":PR_NUM,"trigger":"user-invoked"}}'
After producing the retro, sync any rejected items to reviewer configs:
If any review items were rejected 2+ times with the same rationale (in this PR or across PRs):
This prevents reviewers from re-raising the same rejected finding.
Every action item not immediately implemented MUST get a DEBT entry via
/add-debt with severity S2 (or S1 if cross-PR systemic), category
engineering-productivity, source review:pr-retro-<PR#>.
Same action item in 2+ retros without implementation: escalate to S1, bold warning "BLOCKING -- recommended N times, never implemented", present as blocking issue.
grep "pr-retro" docs/technical-debt/MASTER_DEBT.jsonl
Create retroactive DEBT entries for untracked action items.
create() function has CC >10, extract helpers
IMMEDIATELY using the visitChild/visitAstChild pattern. Do not wait for
SonarCloud to flag it.Before saving, verify ALL mandatory sections present:
npm run reviews:sync -- --apply| Finding Type | Action | Target |
|---|---|---|
| New automation candidate | Add pattern rule | Pattern compliance checker |
| New fix template needed | Add template | FIX_TEMPLATES.md |
| Pre-push check missing | Add to Step 0.5 | pr-review SKILL.md |
| Recurring noise | Add suppression | Reviewer config files |
| Systemic issue | Create DEBT | TDMS via /add-debt |
/session-end -- verify TDMS entries for action items/session-begin -- check open retro DEBT items/pr-review Step 0.5 -- check for recommended pre-push checks| Version | Date | Description |
|---|---|---|
| 3.3 | 2026-02-28 | Add JSONL dual-write in Step 4, invocation tracking |
| 3.2 | 2026-02-27 | Add Step 5.0: reviewer config sync for rejected items |
| 3.1 | 2026-02-27 | Add retro baseline filter to dashboard D3 |
| 3.0 | 2026-02-26 | Upgrade Pattern 8 to BLOCKING. Add Patterns 12-13 |
| 2.9 | 2026-02-26 | Add dashboard mode: /pr-retro (no args) shows missing retros |
| 2.8 | 2026-02-25 | Add Pattern 11 (cross-platform path normalization) |
| 2.7 | 2026-02-24 | Trim to <500 lines: archive patterns 1-5 |
| 2.6 | 2026-02-24 | Add Pattern 10 (stale reviewer comments) |
| 2.5 | 2026-02-22 | Add Pattern 9 (dual-file JSONL sync) |
| 2.4 | 2026-02-19 | Add Pattern 8 (algorithm hardening) |
| 2.3 | 2026-02-18 | Add Patterns 6-7 |