Vc Retro
<!-- AUTO-GENERATED from src/vc-retro.md.tmpl — do not edit directly --
Claude CodeGeneric
<!-- AUTO-GENERATED from src/vc-retro.md.tmpl — do not edit directly -->
# /vc-retro
<!-- version: 2026-06-20.2 -->
A time-based retrospective skill that reviews your git history for the period since your
last retro (up to 31 days). Quantifies what shipped, identifies hotspot files, checks
test coverage signal, and reports planning discipline against your roadmap (covering full project history, not just the retro window). When a previous
retro exists within 31 days, loads it for period-over-period comparison — showing how commit
count, active days, hotspots, and test coverage changed.
Asks four structured reflection questions, then writes an artifact to `.vibe-check/vc-retro/`
so your retrospective history travels with the repo. Scoped to you as the author.
Run this at the end of a work session, sprint, or week.
Checks for updates on startup — a critical update will pause the run and prompt before continuing.
---
## Local config
Silently attempt to read `.vibe-check/vc-local.conf` using the Read tool. Do not report success or failure to the user.
If found and valid JSON: store `shell` as SHELL_TYPE ("bash" or "powershell"), `tools.git` as GIT_AVAILABLE (true/false), and `platform` as PLATFORM ("macos", "linux", or "windows").
If not found or unparseable: use defaults — SHELL_TYPE = "bash", GIT_AVAILABLE = true, PLATFORM = "linux". Run `/vc-bootstrap` to generate the file.
---
## Version check
Use the Bash tool to run: `curl -fsSL https://raw.githubusercontent.com/recycledwhitetrash/vibe-check/main/versions.json`
If curl fails or exits non-zero for any reason, skip this section entirely and proceed to Phase 0.
Read the JSON from stdout and check the `vc-retro` entry.
<output-handlers>
**`vc-retro` version matches `2026-06-20.2`**: proceed silently.
**Newer version available, `critical` is false**:
<mandatory>Call AskUserQuestion with:
- Question: "A newer version of /vc-retro is available. Proceed with your current version or update now."
- Options:
- "Proceed with current version"
- "Update now"
</mandatory>
If Proceed: continue to Phase 0.
If Update now: follow the **Auto-update** steps below, then stop.
**Newer version available, `critical` is true**:
<mandatory>Call AskUserQuestion with:
- Question: "A critical update is available for /vc-retro that fixes an important issue. Running the current version may produce incorrect results."
- Options:
- "Update now"
- "Continue with current version"
</mandatory>
If Update now: follow the **Auto-update** steps below, then stop.
If Continue: proceed to Phase 0.
**Fetched version is older than `2026-06-20.2`**: proceed silently. (This can happen with CDN caching or a rollback — the local version is already newer.)
</output-handlers>
**Auto-update:**
1. If GIT_AVAILABLE is false (from local conf): skip auto-update and proceed to Phase 0.
2. Run `git rev-parse --show-toplevel` to find the project root.
3. Use the Bash tool to download and overwrite the skill file in one step:
- bash/zsh: `curl -fsSL https://raw.githubusercontent.com/recycledwhitetrash/vibe-check/main/.claude/commands/vc-retro.md -o "[project-root]/.claude/commands/vc-retro.md"`
- PowerShell: `curl.exe -fsSL https://raw.githubusercontent.com/recycledwhitetrash/vibe-check/main/.claude/commands/vc-retro.md -o "[project-root]/.claude/commands/vc-retro.md"`
4. If curl exits 0: tell the user "Updated to the latest version — reloading and resuming." Then use the Read tool to read `[project-root]/.claude/commands/vc-retro.md`. Proceed to Phase 0 of the updated skill, following the instructions just read. Do not re-run the version check — the update is already complete. Do NOT stop, do NOT ask the user to re-run the skill — continue executing from Phase 0 immediately.
5. If curl fails: tell the user auto-update failed and to update manually at https://github.com/recycledwhitetrash/vibe-check. Do not continue.
---
<artifact-write-rules>
Shell and interpreter scripts may never write to `.vibe-check/**`. Use the Edit or Write tool only.
When reading artifact content to construct an `old_string` anchor for an Edit, use the Read tool — not shell output. Shell reads are acceptable for informational purposes (line counts, file existence checks) but must never be the basis for an `old_string` value.
At the start of any phase that will Edit an artifact, use the Read tool to get the current file state before making any Edit calls. Within a phase, subsequent Edits may derive their `old_string` anchors from the content of that read — do not re-read before every individual Edit within the same phase. If a Write occurs mid-phase, re-read the file before any subsequent Edits in that phase.
</artifact-write-rules>
<edit-failure-protocol>
If the Edit tool returns "String to replace not found":
1. **Do not diagnose. Do not switch to a shell script or interpreter.** Read the error output and acknowledge it verbatim before taking any action.
2. Use the Read tool to get the current exact text of the file. Construct the shortest unique anchor (1–2 lines) from what you just read. Retry the Edit once.
3. If the retry fails: use the Read tool to read the **entire file** fresh. Use the file content you just read as the authoritative state — do not reconstruct from memory. Apply only the specific change needed, then use the Write tool to write the full corrected content derived from that Read output.
4. If the Write tool also fails: stop. Give the user the exact intended content to apply manually. Do not continue until the user confirms the file is correct.
This ladder is mandatory. Do not improvise a recovery path not in this list.
</edit-failure-protocol>
<phase id="0" name="orientation">
## Phase 0 — Orientation
Use SHELL_TYPE from local conf (read at startup). If the value is "powershell": run each command as a separate sequential step throughout this skill. Otherwise (default: "bash"): use `&&` to chain commands.
### Identify the current user
Run:
```bash
Maintain Vc Retro?
Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.
[Vc Retro on getagentictools](https://getagentictools.com/loops/recycledwhitetrash-vc-retro?ref=badge) npx agentictools info loops/recycledwhitetrash-vc-retro The second line is the CLI lookup for this page — handy in READMEs and docs.