Skip to content
Agent Orchestration
Skill

/retrospective

Sprint or milestone retrospective from completed work, velocity, blockers. Actionable insights for the next iteration.

From plugin
claude-code-game-studios
39k78 skills49 agents

Claude Code

$ npx -y skills add Donchitos/Claude-Code-Game-Studios --skill retrospective --agent claude-code

SKILL.md

retrospective.SKILL.md
name: retrospective
description: "Sprint or milestone retrospective from completed work, velocity, blockers. Actionable insights for the next iteration."
argument-hint: "[sprint-N|milestone-name]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, AskUserQuestion, Bash(bash "*/.claude/skills/retrospective/../../hooks/yaml-helper.sh" resolve_config *), Bash(git log *)
model: sonnet

!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation,workflow,qa.level`

Retrospective

Every `AskUserQuestion` call follows `.claude/docs/automation-modes.md` (collaborative asks always · guided major-only · autonomous logs and proceeds; `automation_always_ask` categories always prompt).

Insufficient input — check this before producing any report

**If the inputs this skill needs do not exist, the answer is "could not run" — not a filled-in report.** Check first, and stop if the check fails.

1. List the inputs this skill reads (data files, prior reports, profiler output, test results, registries, source code). 2. For each, record `FOUND` or `ABSENT` — not "assumed present". 3. If any input required for a section is ABSENT, that section is **`NOT ASSESSED — NO DATA`**. Do not estimate it, do not infer it from an adjacent artifact, and do not leave a mandated cell to be filled by whoever reads the template next. 4. If **every** required input is ABSENT, stop and report **`NOT ASSESSED — NO DATA`** as the whole verdict, naming what was missing and which skill produces it.

**A verdict of `NOT ASSESSED` is a success.** It is the correct, useful answer to "what does the data say?" when there is no data. The failure mode this prevents is specific: a report whose verdict enum has no "could not run" state produces **false clean passes** — an asset audit returning COMPLIANT on a project with no assets and no standards, or a performance profile reporting ">99% headroom against a 16.67ms budget" with zero profiler data and no budget ever set.

**Absence of evidence is never evidence of absence.** A scan that finds no matches because there are no files to scan has not verified anything. Say which of the two happened — a reader cannot tell from a green result.

---

Phase 1: Parse Arguments

Determine whether this is a sprint retrospective (`sprint-N`) or a milestone retrospective (`milestone-name`).

---

Phase 1b: Check for Existing Retrospective

Before loading any data, glob for an existing retrospective file:

  • For sprint retrospectives: `production/retrospectives/retro-[sprint-slug]-*.md`

(also check `production/sprints/sprint-[N]-retrospective.md` as an alternate location)

  • For milestone retrospectives: `production/retrospectives/retro-[milestone-name]-*.md`

If a matching file is found, use `AskUserQuestion`:

  • Prompt: "An existing retrospective was found: [filename]. How do you want to proceed?"
  • Options:
  • `[A] Update existing — load it and add/revise sections with new data`
  • `[B] Start fresh — generate a new retrospective (archive the old one)`

If [A]: read the existing file and carry its content forward, revising sections with new data. If [B]: continue to Phase 2 with a blank slate. Before writing the new file, rename the existing one with a `-archived-[date]` suffix. That rename is a write too: it happens in Phase 5, only once the ask there — which names it — is approved.

---

Phase 2: Load Sprint or Milestone Data

Read the sprint or milestone plan from the appropriate location:

  • Sprint plans: `production/sprints/`
  • Milestone definitions: `production/milestones/`

**Also check for `production/sprint-status.yaml`**: if it exists, read it alongside the sprint plan. It is the authoritative source for actual story completion status (status: done, completed dates, blockers). Use it as the primary source for completion metrics in Phase 3. Fall back to markdown scanning only if the yaml does not exist. Note discrepancies between the yaml and the sprint plan (e.g., stories in yaml not in plan, or vice versa).

**If the file does not exist or is empty**, output:

> "No sprint data found for [sprint/milestone]. Run `/sprint-plan new` to create a > sprint (`/sprint-status` only reads one), or provide the sprint details manually."

At `workflow: minimal` (resolved above) there are no sprints: offer to look back over the stories closed so far instead (`production/epics/*/story-*.md` with `Status: Complete`). At `qa.level: minimal` (resolved above) tests are waived, so a story closed without one is not a finding; a Visual/Feel or UI story closed without its retained screenshot still is.

Then use `AskUserQuestion` to present these options ([C] only at `workflow: minimal`):

  • **[A] Provide data manually** — ask the user to paste or describe the sprint

tasks, dates, and outcomes; use that as the source of truth for the retrospective.

  • **[B] Stop** — abort the skill. Verdict: **BLOCKED** — no sprint data available.
  • **[C] Look back over the closed stories** — use the stories with

`Status: Complete` as the record of what was done.

If the user chooses [A], collect the data and continue to Phase 3 using what they provide. If the user chooses [B], stop here. If the user chooses [C], read those stories and continue to Phase 3. Sections that need sprint data (planned vs actual, velocity, carryover, estimation accuracy) are `NOT ASSESSED — NO DATA`.

Extract: planned tasks, estimated effort, owners, and goals.

Run git log for the sprint period to understand what was actually committed and when. Use the Bash tool (which uses Git Bash on Windows — the `2>/dev/null` is bash syntax, not PowerShell):

Bash: git log --oneline --since="4 weeks ago" 2>/dev/null || git log --oneline -20

Adjust the `--since` date to match the sprint duration if known from the sprint plan.

---

Phase 3: Analyze Completion and Trends

Scan for completed and incomplete tasks by comparing the plan against actual deliverables. Check for:

Read more
@donchitos
Ships withclaude-code-game-studios

Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.

39k78 skills49 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
39.0k
Star history of Donchitos/Claude-Code-Game-Studios on GitHub, a chart by star-history.com

Other skills on claude-code-game-studios.

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis2w393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca2w111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip2w109k
@paperclipai@paperclipaiInstall Skill
adr-create

adr-create

Create a new Architecture Decision Record with sequential numbering and AgentDB registration

@ruvnet@ruvnetInstall Skill

Questions about retrospective.

Which coding agents can use retrospective?
retrospective installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.