Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Retro

ASecurity

Run a project or session retrospective and capture reusable lessons.

85 stars
0 votes
0 copies
1 views
Added 9/19/2026
code-qualitygobashdebuggingrefactoringgitfrontend

Works with

mcp

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add indigoai-us/hq-core --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 automatically with every re-scan.

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

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: retro
description: Run a project or session retrospective and capture reusable lessons.
allowed-tools: Read, Write, Glob, Grep, Bash(git:*), Bash(qmd:*), AskUserQuestion
---

# Retrospective

You are reviewing past work to extract patterns that make future work better. This is not a report for its own sake — every finding should either become a learning (fed to `/learn`) or be acknowledged as already captured.

The goal: leave HQ smarter than you found it.

## Step 0: Mode + Company Resolution

**Mode detection:**
- If `$ARGUMENTS` contains `--session` → SESSION mode
- If `$ARGUMENTS` contains a project slug → PROJECT mode
- If `$ARGUMENTS` is empty or ambiguous → AskUserQuestion: "A) Review a specific project. B) Review recent session work."

**Company resolution:**
Check if the first word matches a company slug in `companies/manifest.yaml`. Same pattern as `/brainstorm`:
1. If matched: set `{co}`, strip from args, load policies
2. If not matched: infer from cwd or project slug location
3. If still ambiguous: ask

Announce: `Mode: {PROJECT|SESSION} | Company: {co}`

## Step 1: Data Collection

### PROJECT Mode

Read these data sources (skip gracefully if any don't exist):

```bash
# 1. The PRD
# Read companies/{co}/projects/{slug}/prd.json
# Extract: stories (titles, statuses), metadata (dates, linear IDs)

# 2. Git history for the project
git log --oneline --since="{prd.createdAt}" -- {repo paths if known}

# 3. Workspace threads mentioning this project
# Glob pattern: workspace/threads/*{slug}*.json
# Read each, extract conversation_summary + files_touched

# 4. Audit log events
grep '"{slug}"' workspace/metrics/audit-log.jsonl | tail -50

# 5. Model usage (worker activity)
grep '"{slug}"' workspace/metrics/model-usage.jsonl | tail -50

# 6. Orchestrator state (if exists)
# Read workspace/orchestrator/{slug}/state.json

# 7. Brainstorm (if exists)
# Read companies/{co}/projects/{slug}/brainstorm.md
```

### SESSION Mode

```bash
# 1. Recent threads (last 24h)
# List workspace/threads/ sorted by modification time, read top 5-10

# 2. Recent learnings
# List workspace/learnings/ sorted by modification time, read top 10

# 3. Recent audit log entries (last 24h)
tail -100 workspace/metrics/audit-log.jsonl

# 4. Recent git activity
git log --oneline --since="24 hours ago"

# 5. Current git status
git status
```

**Present collection summary:**
```
Data collected:
- Stories: {N} found ({done}/{total})
- Threads: {N} found
- Audit events: {N} found
- Git commits: {N} in scope
- Workers used: {list or "none tracked"}
```

## Step 2: Analysis

### PROJECT Mode — Analyze These Dimensions

**1. Story Completion**
| Story | Title | Status | Retries | Workers |
|-------|-------|--------|---------|---------|
| US-001 | ... | done/failed/stalled | N | ... |

**2. Worker Usage**
| Worker | Tasks Assigned | Success Rate |
|--------|---------------|-------------|
| ... | N | N/N |

Which workers carried the most load? Any worker used on >70% of stories?

**3. Timeline**
- PRD created: {date}
- First story started: {date}
- Last story completed: {date}
- Total elapsed: {N days}
- Stories per day: {rate}

**4. Quality Gate Outcomes**
- How many stories passed on first attempt?
- How many required retries? What caused retries?
- Quality gate failure rate: {N}%

**5. File Churn**
- Files touched across most stories (indicates scope underestimation or tight coupling)
- Any files touched by >50% of stories? Flag as architectural hotspot

**6. Learnings Already Captured**
- Check `workspace/learnings/` and `companies/{co}/policies/` for rules created during this project
- List them — don't re-capture what's already been learned

### SESSION Mode — Analyze These Dimensions

**1. What Was Accomplished**
- List each completed task/thread with 1-line summary
- Any tasks started but not finished?

**2. Files Touched**
- Aggregate across all session threads
- Any surprising files? (files outside expected scope)

**3. Failures or Retries**
- Any tool call failures or retries in audit log?
- Any handoff/checkpoint events?

**4. Time Distribution**
- Rough breakdown: planning vs building vs debugging vs reviewing

## Step 3: Pattern Detection

Flag these patterns when evidence supports them:

| Pattern | Signal | Implication |
|---------|--------|-------------|
| **Complexity underestimated** | Story with 2+ retries | PRD story sizing was off — capture as sizing heuristic |
| **Worker overuse** | Same worker >70% of stories | Consider making it a default in PRD template |
| **Quality gate failures** | >20% failure rate | Upstream planning issue — stories shipped before ready |
| **Undeclared files** | Stories with 0 `files[]` in PRD | File locking risk — add to PRD template guidance |
| **Scope creep** | Files touched outside story scope | Scope definition was too narrow or coupling wasn't anticipated |
| **Architectural hotspot** | Same file in >50% of stories | This file needs refactoring or better abstraction |
| **Missing test coverage** | Quality gate test failures | Test strategy needs strengthening for this area |
| **Session fragmentation** | 3+ handoffs for one project | Context overhead — consider longer sessions or better checkpoints |
| **Tool mismatch** | Repeated failures with specific tool/MCP | Tool setup issue or wrong tool for the job |

Only flag patterns with clear evidence. Don't speculate.

## Step 4: Learning Extraction

For each detected pattern:

1. **Generate a learning candidate** — state the rule in ALWAYS/NEVER format:
   - e.g., "ALWAYS declare file dependencies in prd.json stories when the project touches shared modules"
   - e.g., "NEVER estimate stories touching {area} as S — they're always M minimum"

2. **Classify scope:**
   - Project-specific → note it but don't create a policy (too narrow)
   - Company-scoped → `companies/{co}/policies/`
   - Global → `core/policies/`

3. **Check for duplicates** — grep existing policies for similar rules

4. **Present to user:**
   ```
   Learning candidates ({N} found):

   1. {rule} — Scope: {company|global} — {new|already exists}
   2. {rule} — Scope: {company|global} — {new|already exists}
   ...

   Run /learn for new learnings? [Y/n]
   ```

5. If user approves: suggest running `/learn` with each new learning. Do NOT write policy files directly — `/learn` handles dedup, formatting, and injection.

## Step 5: Write Retro Report

Output to `workspace/reports/{slug}-retro.md`:

```markdown
# {Project/Session Title} — Retrospective

**Date:** {ISO8601}
**Mode:** Project | Session
**Company:** {co}
**Duration:** {start date} → {end date}

## Summary

{2-3 sentence summary of what happened — scope, outcome, notable events}

## Stories (PROJECT mode)

| Story | Title | Status | Retries | Workers Used |
|-------|-------|--------|---------|-------------|
| US-001 | ... | done | 0 | frontend-designer |

**Completion rate:** {done}/{total} ({%})

## Worker Usage (PROJECT mode)

| Worker | Tasks | Coverage |
|--------|-------|----------|
| ... | N | N% |

## Timeline (PROJECT mode)

- PRD created: {date}
- First story: {date}
- Last story: {date}
- Elapsed: {N} days
- Velocity: {stories/day}

## Session Summary (SESSION mode)

| Thread | Summary | Files | Outcome |
|--------|---------|-------|---------|
| T-... | ... | N files | completed/partial |

## Patterns Detected

{For each pattern with evidence:}

### {Pattern Name}
**Signal:** {what was observed}
**Evidence:** {specific data point}
**Implication:** {what this means for future work}

## Quality Gate Outcomes (PROJECT mode)

- First-pass success rate: {%}
- Total retries: {N}
- Most common failure: {category}

## Learnings

| # | Rule | Scope | Status |
|---|------|-------|--------|
| 1 | {rule} | {scope} | new / already captured |

## What Went Well

- {Specific thing that worked — be concrete, not generic}

## What to Improve

- {Specific thing to do differently — actionable, not vague}

## Open Questions

- {Anything unresolved that should be addressed in the next project}
```

## Step 6: Wrap Up

```bash
qmd update 2>/dev/null || true
```

Print:
```
Retro complete: {title}
Report: workspace/reports/{slug}-retro.md
Patterns detected: {N}
New learnings: {N} (run /learn to capture)
```

---

## Rules

- **Read-only analysis** — retro does not modify project files, prd.json, or board.json. It writes only its own report
- **Evidence-backed patterns only** — do not flag patterns without specific data points from Steps 1-2
- **Delegate learning capture** — suggest `/learn`, do not write policy files directly
- **No re-capture** — check existing policies before proposing a learning. Duplicates waste context
- **Both modes are valid** — SESSION mode is lighter but still valuable. Not every retro needs a full project
- **Company isolation** — scope all data collection to the resolved company. Never mix cross-company data
- **Do NOT create task lists or enter planning mode** — this is a focused analysis, not a project
- **Honest assessment** — if a project went poorly, say so. Retros that only praise are useless
- **Actionable over comprehensive** — 3 concrete learnings beat 10 vague observations

Attribution

indigoai-usindigoai-us
View sourceMore from indigoai-us →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman Review

Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says "review this PR", "code review", "review the diff", "/review", or invokes /caveman-review. Auto-triggers when reviewing pull requests.

1066601 votes

Caveman Commit

Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.

1066601 votes

Verification Loop

一个全面的 Claude Code 会话验证系统。

2456590 votes

Springboot Verification

Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR.

2456590 votes

Django Verification

Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.

2456590 votes
View all in code-quality →