Skip to content
Back to skills

Retro

ASecurity

[ADD v{{VERSION}}] Run a retrospective — context-aware, data-driven review with pre-populated tables

  • 11 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsgobashawsgitci/cd

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add MountainUnicorn/add --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/mountainunicorn-retro/badge)](https://www.skillsdirectory.com/skills/mountainunicorn-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: "[ADD v{{VERSION}}] Run a retrospective — context-aware, data-driven review with pre-populated tables"
argument-hint: "[--agent-summary] [--since YYYY-MM-DD] [--scope feature|sprint|session] [--dry-run]"
allowed-tools: [Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion, TodoWrite]
references: ["learning-reference.md", "maturity-matrix.md", "skill-epilogue.md", "rules/telemetry.md"]
---

# ADD Retro Command v{{VERSION}}

Context-aware retrospective that auto-gathers data, classifies human directives and agent observations into scoped tables, and presents pre-populated findings for the human to refine — not recall from scratch.

Two modes:
- **Interactive retro** (default) — Data-driven review with pre-populated tables
- **Agent summary** (`--agent-summary`) — Quick non-interactive observations review

## Pre-Flight

1. Read `.add/config.json` for project context (name, maturity, stack)
2. Read all 3 knowledge tiers:
   a. **Tier 1:** Read `${CLAUDE_PLUGIN_ROOT}/knowledge/global.md`
   b. **Tier 2:** Read `~/.claude/add/library.json` (fall back to `library.md`)
   c. **Tier 3:** Read `.add/learnings.json` (fall back to `learnings.md`)
3. Read `~/.claude/add/profile.md` if it exists
4. Determine the retro window:
   - If `--since` provided, use that date
   - If previous retro exists in `.add/retros/`, use that date as start
   - Otherwise, use project creation date from config
5. Check for session handoff — per the Session-Handoff Preflight in `${CLAUDE_PLUGIN_ROOT}/references/skill-epilogue.md`

---

## Mode 1: Interactive Retro (default)

### Phase 1: Detect Session Context

Determine how the human spent the retro window:

1. **Read `.add/away-logs/`** — count away sessions, total autonomous hours
2. **Read git log** — count commits, branches, PRs merged
3. **Read `.add/handoff.md`** — check for interactive session indicators
4. **Classify context:**
   - **Autonomous:** >70% of retro window was away-mode sessions
   - **Collaborative:** <30% away-mode, active interactive exchanges
   - **Mixed:** between 30-70% away-mode

The context classification affects the flow:
- **Autonomous:** Human has less context → skip "what went well", reduce questions
- **Collaborative/Mixed:** Full question set

### Phase 2: Auto-Gather Metrics

Collect data for the retro window from all sources:

- **Git log:** commit count, branches merged, PRs
- **Specs:** count completed (status: Complete) in `specs/`
- **Learnings:** count new entries in `.add/learnings.json` since last retro (by date field)
- **Workstation learnings:** count new entries in `~/.claude/add/library.json` since last retro
- **Observations:** read `.add/observations.md` entries since last retro
- **Away logs:** count sessions, total duration from `.add/away-logs/`
- **Handoff:** current state from `.add/handoff.md`

Present the summary:

```
RETROSPECTIVE — {PROJECT_NAME}
Period: {start_date} → {today}
Context: {Collaborative|Autonomous|Mixed} ({detail})

During this period:
  Specs completed: {N}
  Commits: {N}
  Agent learnings recorded: {N} ({N} project, {N} workstation)
  Human directives captured: {N}
  Away-mode sessions: {N}
```

### Phase 3: Human Directives (Table 1)

Extract directives the human gave during the retro window from:
- **Handoff files** — decisions, explicit instructions
- **Learnings entries** with `classified_by: "human"` — human-reclassified knowledge
- **`.add/observations.md`** — entries recording human feedback or directives
- **Conversation context** — explicit instructions from the current or recent sessions

For each directive, **classify scope:**

| Scope | Signal |
|-------|--------|
| project | References specific files, config, routes, schemas unique to this project |
| workstation | References tools, libraries, workflows that apply across projects |
| organization | References team, org, or company patterns (stub — accept but note "future tier") |
| community | References universal methodology insights (stub — accept but note "future tier") |

**If no directives found:** Skip Table 1 entirely, move to Phase 4. Do not show an empty table.

**If directives found:** Present:

```
In our recent sessions, you provided some key insights:

━━━ TABLE 1: YOUR DIRECTIVES ━━━
| # | Directive | Scope | Source |
|---|-----------|-------|--------|
| 1 | {directive text} | {scope} | {source} |
| 2 | {directive text} | {scope} | {source} |

Are these captured correctly in learnings? Any to add, remove, or reclassify?
```

Wait for human confirmation. Apply any changes to learnings JSON files.

### Phase 4: Agent Observations (Tables 2 & 3)

Read agent-generated entries since last retro:
- **Table 2 (Project):** Entries from `.add/learnings.json` where `classified_by: "agent"` and `date` within retro window
- **Table 3 (Workstation):** Entries from `~/.claude/add/library.json` where `classified_by: "agent"` and `date` within retro window

**Skip any table that has zero entries.** Do not show empty tables.

**ADD Methodology Adherence Self-Assessment:**

Include in the agent observations a self-assessment of how well ADD methodology was followed during the retro window. Check each rule:

| Rule | How to Assess |
|------|---------------|
| Spec-before-code | Were any features implemented without a spec? Check git log for implementation commits vs spec dates |
| TDD cycles | Were tests written before implementation? (N/A for markdown-only plugins) |
| Auto-handoffs | Were handoffs written after commits and major work? Check `.add/handoff.md` timestamps vs git log |
| Learning checkpoints | Were learnings recorded at trigger points (post-verify, post-tdd, post-deploy, post-away)? Count expected vs actual |
| Quality gates | Were `/add:verify` runs done? Did they pass first time? |
| Source control | Were conventional commits used? Check last N commits for pattern compliance |

Format methodology adherence as a **table** (not inline checkmarks — tables are easier to scan):

```
━━━ TABLE 2: AGENT OBSERVATIONS (PROJECT) ━━━
| # | Observation | Severity |
|---|-------------|----------|
| 1 | {observation} | {severity} |

ADD Methodology Adherence:
| Rule | Status | Detail |
|------|--------|--------|
| Spec-before-code | ✓ Pass | {assessment} |
| Auto-handoffs | ✓ Pass | {assessment} |
| Learning checkpoints | ✗ Fail | {assessment with specifics} |
```

**Do NOT show Table 3 if it has zero entries.** Skip it silently — no heading, no empty table, no mention.

Then ask:

```
Help me polish these. Do you disagree or wish to modify any of these learnings?
```

Wait for human input. If the human identifies data gaps (missing checkpoints, incorrect entries), fix them **in the background** — queue the writes and continue the retro flow immediately. Do not block the human while writing JSON entries or regenerating markdown views.

### Phase 5: Targeted Questions

Ask one at a time. Adapt based on session context:

**Q1 (skip if Autonomous context):** "What went well?"
→ Only ask if the human had enough interactive context to answer meaningfully.

**Q2:** "What needed improvement that was not included already in our learnings?"
→ Scoped to gaps — the tables already surfaced known issues.

**Q3 (rate-limited — 1x per calendar day):** "On a scale of 0.0 to 9.0, how well are we working together?"
→ To check rate limit: read `.add/retros/` for any file matching `retro-{today's date}*.md` that already has a `Human Collaboration` score populated. If found, skip this question.

**Q4 (rate-limited — 1x per calendar day):** "Any improvements for Agent Driven Development you would suggest?"
→ Same rate-limit check as Q3. These two are always asked/skipped together.

### Phase 6: Agent Self-Assessment Scores

The agent provides two self-assessed scores with evidence. These are NOT asked of the human — the agent generates them from data.

**ADD Methodology Effectiveness (0.0-9.0):**
- Based on methodology adherence from Phase 4
- Consider: spec coverage, TDD compliance, handoff discipline, checkpoint completeness, quality gate usage
- Must cite specific evidence (not vague claims)

**Swarm Effectiveness (0.0-9.0):**
- How well did agents collectively build together?
- Consider: parallel subagent usage, context handoff quality between sessions, duplicate work avoided, session continuity
- Must cite specific evidence

Format:

```
━━━ AGENT SELF-ASSESSMENT ━━━
ADD Methodology Effectiveness: {X.X} / 9.0
  Evidence: {specific evidence from the retro window}

Swarm Effectiveness: {X.X} / 9.0
  Evidence: {specific evidence from the retro window}
```

Scores must be justified by evidence. If the agent detects its own score seems inflated relative to evidence, adjust downward. Honesty over optimism.

### Phase 7: Record and Update

1. **Write retro archive:**
   Use `${CLAUDE_PLUGIN_ROOT}/templates/retro.md.template` as structure.
   Write to `.add/retros/retro-{date}.md` (create directory if needed).
   Fill all sections with data from the retro.

2. **Store scores:**
   Read `.add/retro-scores.json` (create from `${CLAUDE_PLUGIN_ROOT}/templates/retro-scores.json.template` if doesn't exist).
   Append entry:
   ```json
   {
     "date": "{YYYY-MM-DD}",
     "collab_score": {X.X},
     "add_effectiveness": {X.X},
     "swarm_effectiveness": {X.X},
     "retro_file": ".add/retros/retro-{date}.md",
     "context": "{collaborative|autonomous|mixed}"
   }
   ```
   If collab score was rate-limited (skipped), use `null` for `collab_score`.

3. **Store ADD feedback:**
   If the human provided ADD improvement suggestions, append to `.add/add-feedback.md`:
   ```markdown
   ## {YYYY-MM-DD}
   - **Suggestion:** {text}
   - **Retro:** .add/retros/retro-{date}.md
   - **Streamed:** false
   ```
   Create the file with `# ADD Methodology Feedback` header if it doesn't exist.

4. **Update learnings:**
   Write new learning entries from the retro as structured JSON to the appropriate file (`.add/learnings.json` or `~/.claude/add/library.json`). Follow the checkpoint process in `${CLAUDE_PLUGIN_ROOT}/references/learning-reference.md`:
   - Classify scope for each new learning
   - Write to the appropriate JSON file
   - Regenerate the corresponding markdown view

5. **Scope review and reclassification:**
   Review entries classified by agents since the last retro:
   ```
   SCOPE REVIEW — Agent-classified entries since last retro:
     L-{NNN}: "{title}" — classified as {scope} by agent
     WL-{NNN}: "{title}" — classified as {scope} by agent

   Any reclassifications needed?
   ```
   For each reclassification the human approves:
   - Move the entry between JSON files
   - Update `scope` field and `classified_by` to `"human"`
   - Assign new ID appropriate to target file
   - Regenerate both markdown views

   **Auto-promotion proposals (batch):**

   In addition to asking per-entry, scan `.add/learnings.json` entries since the last retro and auto-propose **workstation promotion candidates** — entries that look universal enough to belong in `~/.claude/add/library.json` for cross-project use.

   Promotion signals (ANY of):
   - `severity >= "high"` AND `category = "anti-pattern"`
   - Body contains "always", "never", "every time", "on every", "default" — language indicating a general rule rather than a project-specific fact
   - `stack` entries describe tooling that the user's other projects in `~/.claude/add/projects/` also use (check registry stacks)
   - Body references generic cloud/infra primitives (GCE, AWS, GKE, EKS, ArgoCD, cert-manager, etc.) without project-specific identifiers

   Present the candidates as one batch table:

   ```
   PROMOTION CANDIDATES — cross-project workstation learnings

   | # | Entry | Signal | Promote? |
   |---|-------|--------|----------|
   | 1 | L-{NNN}: "{title}" | {signal that matched} | [y/n] |
   | 2 | L-{NNN}: "{title}" | {signal that matched} | [y/n] |
   ...

   Reply with the numbers to promote (e.g., "1,3,5" or "all" or "none").
   ```

   For each approved promotion:
   - Copy entry to `~/.claude/add/library.json` with a new `WL-{NNN}` ID
   - Set `source` to the project name
   - Set `classified_by` to `"human"`
   - Leave original entry in `.add/learnings.json` (projects may still reference it)
   - Regenerate both markdown views at the end

   Why this exists: the agentVoice retro (2026-04-12) surfaced 8 clearly-universal lessons (ArgoCD, CI-disabled, Cloud Build, WebSocket timeout, E2E skip ban) that sat in project markdown for 40 days without promotion. A batch proposal at retro time closes that gap.

6. **Update cross-project persistence:**
   a. **Profile updates** (`~/.claude/add/profile.md`): If retro reveals preferences that carry to other projects, ask: "Add to your ADD profile?"
   b. **Project index** (`~/.claude/add/projects/{name}.json`): Update `last_retro` date and `learnings_count`.

7. **Promote to plugin-global (ADD dev project only):**
   If running inside the ADD plugin project (detected by `knowledge/global.md` existing as a local file), present Tier 1 promotion candidates.

8. **Apply config/template changes:** If agreed changes affect the process, make edits now.

9. **Deduplicate knowledge stores:**
   Check all stores for duplicates or misplaced entries. Report: "{N} duplicates consolidated, {N} entries relocated."

10. **Prune stale entries:**
    - Observations >30 days old without `[synthesized M-{NNN}]` → archive
    - Learnings >90 days old without references → flag for human review (never auto-delete)

11. **Regenerate markdown views** after all JSON modifications.

### Phase 8: Observation Synthesis

Read `.add/observations.md` and synthesize:

1. Group observations by operation type
2. Identify patterns (3+ similar = a pattern)
3. For each pattern, propose a process mutation:
   ```
   ### Proposed Mutation: {title}
   **Skill:** /add:{skill-name}
   **Change:** {concrete change to the skill}
   **Evidence:** {observation timestamps and summaries}
   **Expected outcome:** {what should improve}
   ```
4. Present proposals to human for approval. Only apply approved mutations.

### Phase 9: Apply Approved Mutations

For each human-approved mutation:
1. Read the target skill's SKILL.md
2. Apply the change
3. Log in `.add/mutations.md`
4. Mark source observations as synthesized

### Phase 10: Process Health Assessment

Review `.add/mutations.md` for previously applied mutations:
1. Did the problem recur? → Strengthen mutation
2. Did the problem stop? → Note positive outcome
3. New side effects? → Adjust mutation
4. Report process health summary

### Phase 11: Maturity Promotion Assessment

If the retro surfaces a promotion request, run an evidence-based check. See maturity promotion criteria:

**POC → Alpha:** At least 3 evidence items (specs, tests, CI, commits, etc.) + core concept validated
**Alpha → Beta:** Feature specs exist, coverage >50%, CI/CD configured, PR workflow, 2+ environments, conventional commits, TDD evidence
**Beta → GA:** Coverage >80%, protected branches, release tags, 3+ environments, all gates blocking, 30+ days stability, SLAs defined

Do NOT promote without evidence. Promotion requires proof, not aspiration.

---

## Mode 2: Agent Summary (`--agent-summary`)

Quick, non-interactive mode. Present accumulated observations without a full retro.

1. Read `.add/learnings.json` and `~/.claude/add/library.json`
2. Filter entries since last retro
3. Present structured summary:

```
AGENT OBSERVATIONS — since {last_retro_date}

TECHNICAL DISCOVERIES ({N} entries):
  - {discovery with date}

ARCHITECTURE DECISIONS ({N} entries):
  - {decision with rationale}

ADD METHODOLOGY ADHERENCE:
  {self-assessment checklist}

WHAT WORKED:
  - {positive pattern}

WHAT DIDN'T:
  - {negative pattern}

SUGGESTED CHANGES:
  1. {suggestion with rationale}

These are observations only — no changes applied.
Run /add:retro for a full interactive retrospective.
```

---

## Retro Frequency Guidance

Display during the first retro:

```
RECOMMENDED RETRO CADENCE:
  - Agent auto-checkpoints: Continuous (after each verify, cycle, away session)
  - Agent summary (/add:retro --agent-summary): Weekly or before planning
  - Full interactive retro (/add:retro): After each feature/sprint completion,
    or every 2 weeks — whichever comes first
```

---

## Score Semantics

All scores use 0.0-9.0 scale with 1 decimal precision:

| Range | Meaning |
|-------|---------|
| 0.0-2.0 | Poor — process not working, significant friction |
| 2.1-4.0 | Below average — notable gaps, frequent workarounds |
| 4.1-6.0 | Adequate — functional but room for improvement |
| 6.1-8.0 | Good — effective with minor issues |
| 8.1-9.0 | Excellent — highly effective, minimal friction |

---

End-of-skill epilogue: follow `${CLAUDE_PLUGIN_ROOT}/references/skill-epilogue.md` (observation + learning checkpoint + progress tracking). The retro's Phase 7 already records its learnings — do not duplicate them; the epilogue's observation line still applies.

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…