Skip to content
Back to skills

Retro

ASecurity

Post-ship retrospective — what worked, what didn't, root causes, action items.

  • 2 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 26, 2026
developmentgobashtestinggitapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add iamvonpasion/hashb --skill retro --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Retro?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Retro
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/iamvonpasion-retro/badge)](https://www.skillsdirectory.com/skills/iamvonpasion-retro)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
description: Post-ship retrospective — what worked, what didn't, root causes, action items.
---

# Retrospective

Run after `/ship` lands. Capture what happened so the next cycle is better.

**Input:** PR URL or branch name (just shipped).
**Output:** Retro report with scored findings and concrete action items.

---

## Presentation Rules

Follow the shared formatting rules in `skills/shared/formatting.md`.

1. **Progress indicator** — every output starts with:

```
/retro ══════════════════════════════════════════════════════════

  ▸ Phase 1    Gather the Record
  ○ Phase 2    Analyze
  ○ Phase 3    Action Items
  ○ Phase 4    Report
  ○ Phase 4.5  Persist Learnings
  ○ Phase 5    Apply (optional)

══════════════════════════════════════════════════════════════════
```

Update `▸` (current), `✓` (done), `○` (pending), `—` (skipped) as phases progress.
Completed phases show a status note (e.g., `✓ 5 findings`, `✓ 3 actions`).

---

## Phase 1: Gather the Record

Reconstruct what actually happened during this cycle.

```bash
# Branch/base detection — see skills/shared/preflight.md
BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
if command -v gh >/dev/null 2>&1; then
  BASE=$(gh pr view --json baseRefName -q .baseRefName 2>/dev/null \
    || gh repo view --json defaultBranchRef -q .defaultBranchRef.name 2>/dev/null \
    || echo "main")
else
  echo "⚠ gh CLI not found — defaulting BASE to 'main'"
  BASE="main"
fi

# What was planned vs what shipped
gh pr view --json title,body,commits,reviews,comments

# Timeline: first commit to PR merge
git log $BASE..HEAD --format="%h %ai %s" --reverse

# Scope: how much changed
git diff $BASE...HEAD --stat
git diff $BASE...HEAD --numstat | awk '{added+=$1; removed+=$2} END {print "+" added " -" removed " lines"}'

# Fix loops: how many qa/fix cycles happened
git log $BASE..HEAD --oneline --grep="fix" --grep="qa" --grep="review"
```

**Collect from conversation context (if available):**
- Original requirements / user request
- `/eng` review findings
- `/review` findings (if used)
- `/qa` report(s) — how many cycles, what failed
- `/fix` reports — root causes found
- `/ship` pre-landing review findings

---

## Phase 2: Analyze

Score each dimension. Be honest — the point is learning, not credit.

### 2A. Planning Accuracy

| Question | Answer |
|----------|--------|
| Did the plan match what was built? | Yes / Partial / No |
| Files planned vs files touched | N planned, M actual |
| Scope creep? | None / Minor / Major — what was added |
| Were the right skills used in the right order? | Yes / No — what should change |

### 2B. Quality Gates

| Gate | Result |
|------|--------|
| `/eng` review | Caught N issues / Missed N issues found later |
| `/review` peer review | Caught N issues / Skipped |
| `/qa` first pass | Score: N/100 — N issues found |
| `/qa` cycles needed | N cycles before clean |
| `/fix` root causes | N bugs — were any preventable? |
| `/ship` pre-landing | N issues found at the last gate |

**Red flag:** Issues found at `/ship` pre-landing that should have been caught
earlier. This means an upstream gate has a blind spot.

### 2C. What Went Well

List 2-5 things that worked. Be specific — "tests caught the regression"
is better than "testing was good."

### 2D. What Didn't Go Well

List 2-5 things that caused friction, rework, or risk. For each:

```
PROBLEM:     [what happened]
ROOT CAUSE:  [why it happened — process, skill gap, missing gate, unclear requirement]
IMPACT:      [rework, delay, risk shipped, near-miss]
```

### 2E. Surprises

Anything unexpected — good or bad. Edge cases nobody anticipated,
tools that didn't work as expected, assumptions that were wrong.

---

### Phase 2 Completeness Check

> **STOP.** Before proceeding to Phase 3, verify all five subsections are addressed.
> Every subsection must have at least one finding or an explicit "N/A — {reason}".
> Do NOT skip a subsection without marking it.

```
PHASE 2 CHECKLIST:
  2A. Planning Accuracy:  {done | N/A}
  2B. Quality Gates:      {done | N/A}
  2C. What Went Well:     {done | N/A}
  2D. What Didn't Go Well:{done | N/A}
  2E. Surprises:          {done | N/A}
```

---

## Phase 3: Action Items

Convert findings into concrete, actionable improvements.

**Categories:**

| Category | Example |
|----------|---------|
| **Skill improvement** | "/eng should check X — we missed it twice" |
| **Rule addition** | "Add a rule for Y pattern — it caused a bug" |
| **Process change** | "Run /research before /eng when touching Z" |
| **Knowledge gap** | "Team needs to understand X better" |
| **Tooling** | "Add linting for X to catch this automatically" |

**For each action item:**

```
ACTION:      [what to do]
CATEGORY:    [skill | rule | process | knowledge | tooling]
PRIORITY:    P1 (do now) | P2 (next cycle) | P3 (backlog)
OWNER:       [who — or "any agent"]
EVIDENCE:    [link to the specific problem this prevents]
```

**Rule:** Every "what didn't go well" must produce at least one action item.
If you can't think of one, the root cause analysis isn't deep enough.

### Phase 3 Validation

> **STOP.** Before proceeding to Phase 4, verify every "what didn't go well"
> from Phase 2D has a corresponding action item. Count them:

```
ACTION ITEM COVERAGE:
  2D findings:    {N}
  Action items:   {N}
  Unaddressed:    {list any 2D findings without actions}
```

> If any 2D finding lacks an action item, go back and add one before proceeding.

---

## Phase 4: Report

Write to `.retro/retro-{branch}-{date}.md`:

```
✓ RETROSPECTIVE ─────────────────────────────────────────────────

  Branch         {branch}
  PR             {PR URL}
  Date           {date}
  Scope          +{added} -{removed} lines, {files} files
  QA cycles      {N}
  Fix cycles     {N}

  PLANNING ACCURACY
  ─────────────────────────────────────────────────
  Plan vs reality    {match score}
  Scope creep        {none | minor | major}
  Skill sequence     {correct | should change: ...}

  QUALITY GATE EFFECTIVENESS
  ─────────────────────────────────────────────────
  /eng               {caught N / missed N}
  /review            {caught N / skipped}
  /qa first pass     {score}/100
  /ship pre-landing  {N issues}
  Blind spots        {list gates that missed issues}

  WHAT WENT WELL
  ─────────────────────────────────────────────────
  1.  ...
  2.  ...

  WHAT DIDN'T GO WELL
  ─────────────────────────────────────────────────
  1.  PROBLEM:     ...
      ROOT CAUSE:  ...
      IMPACT:      ...

  SURPRISES
  ─────────────────────────────────────────────────
  1.  ...

  ACTION ITEMS
  ─────────────────────────────────────────────────
  P1:  ...
  P2:  ...
  P3:  ...

  PATTERNS TO WATCH
  ─────────────────────────────────────────────────
  {recurring themes across retros — check prior retros}

─────────────────────────────────────────────────────────────────
```

### Cross-Retro Patterns

If prior retros exist in `.retro/`, scan them:

```bash
ls .retro/retro-*.md 2>/dev/null | head -10
```

Look for recurring themes:
- Same root cause appearing in multiple retros → systemic issue, escalate priority
- Action items from prior retros that weren't addressed → flag as overdue
- Improving trends → note what's working

---

## Phase 4.5: Persist Learnings (MANDATORY by default)

After writing the retro report, extract the top actionable learnings and
persist them so future conversations can benefit.

**This phase runs by default.** To skip, the user must explicitly pass
`--no-memory` when invoking `/retro`. Do not skip silently.

### What to Persist

From the retro findings, extract learnings that are:
- **Non-obvious** — not derivable from reading the current code
- **Reusable** — will apply to future work in this project
- **Actionable** — a future skill invocation can use this information

### How to Persist

1. **Save as Claude Code memories** — use the memory system to create:
   - **Feedback memories** for process learnings ("Always do X when Y")
     - Example: "Always run /research before /eng when touching the payment module — retro from 2026-03-20 showed we picked a deprecated Stripe API"
   - **Project memories** for codebase-specific findings ("Watch out for X in Z")
     - Example: "The notification module has a recurring N+1 issue — flagged in 3 retros, treat as architectural debt"

2. **Cross-retro escalation** — when scanning prior retros:
   - Same root cause in **2 retros** → save as a project memory with warning
   - Same root cause in **3+ retros** → escalate: suggest creating a new **rule file**
     to enforce the fix automatically

3. **Limit to top 3 learnings** — don't flood memory with minor findings.
   Prioritize: P1 action items > recurring patterns > surprising findings.

### Output

```
LEARNINGS PERSISTED
─────────────────────────────────────────────────
  1.  [feedback]  {learning summary}
  2.  [project]   {learning summary}
  3.  [project]   {learning summary} — RECURRING (3x), suggest rule

  Skipped: {N findings not significant enough to persist}
```

---

## Phase 5: Apply (Optional — User Decides)

If action items include skill or rule improvements, offer to apply them:

```
Retro produced N action items. Apply now?
A) Apply P1 items — update skills/rules in this session
B) Save report only — I'll handle the improvements later
C) Review each — walk me through them one by one
```

**If applying:**
- Skill changes → edit the relevant SKILL.md
- Rule additions → create or update the relevant rule file
- Process changes → update CLAUDE.md or workflow SKILL.md
- Commit improvements separately from the feature work

### Next Step

| Condition | Next Skill | Why |
|-----------|-----------|-----|
| Action items include rule/skill changes | Apply changes in this session | Improve the toolkit immediately |
| Starting a new feature | `/spec` | Begin the next cycle with lessons learned |
| Compliance drift suspected | `/audit` | Check overall repo health |

**Autonomous mode:** Retro is typically the last skill in a recipe chain.
Auto-persist learnings (Phase 4.5) unless `--no-memory` was passed.
Do not auto-proceed to another skill — retro is a reflection point.

---

## Rules

- **Honesty over comfort.** If the process failed, say so. Retros that say
  "everything went well" are useless.
- **Root causes, not blame.** "The gate missed it" not "the agent failed."
- **Concrete actions only.** "Be more careful" is not an action item.
  "Add X check to /eng Step 1" is.
- **Compare to prior retros.** Recurring issues need escalation, not repetition.
- **Never skip the action items.** A retro without actions is just a report.
- **Keep it short.** 5 minutes of reflection beats 30 minutes of ceremony.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.