claudeers.
// MCP Servers

retro

Weekly retro for your coding agent. A Claude Code skill that mines your session transcripts for recurring failures and turns them into evidence-backed CLAUDE…

// MCP Servers[ cli ][ api ][ claude ]#claude#ai-agents#claude-code#claude-code-skill#developer-tools#mcp#mcp-serversMIT$open-sourceupdated about 1 month ago
Actively maintained
90/100
last commit about 1 month ago
last release none
releases 0
open issues 0
// star history

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up retro (git-clone project) into my current project.
Found on https://claudeers.com/retro
Repo: https://github.com/craftwork-design/retro
Homepage/docs: https://craftwork.design
Detected install method: git-clone → git clone https://github.com/craftwork-design/retro
Category: mcp-servers. Platforms: cli, api.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
active; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/craftwork-design/retro

// compatibility

Platformscli, api
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguagePython

retro

Never type the same correction twice.

Your coding agent keeps making the same mistakes. You keep typing the same corrections. Every one of them is already written down, in transcripts nobody reads.

Every Claude Code session you ever ran is sitting in ~/.claude/projects/ as a full transcript. Inside those files is a precise record of every time the agent got it wrong: every "no, not like that", every Esc you hit mid-action, every command it retried five times, every session you rage-quit after a failure.

retro reads those transcripts and closes the loop:

your failures → clusters → evidence → a concrete CLAUDE.md diff

This is the Replit-style self-improvement loop (production failures → clusters → evidence → patches), applied to the harness you already own. No fine-tuning, no API keys, no telemetry. Continual learning at the layer you can actually change.

Isn't this just /insights?

Claude Code's built-in /insights gives you a great 30-day usage report with suggestions. retro is a different tool for a different job:

  • Evidence, not summaries. Every proposed rule comes with verbatim quotes from your transcripts, dated. You see exactly which failures a rule would have prevented, and can veto it.
  • Signals /insights doesn't mine. The agent admitting "you're right" (69 times in my last 45 days), rules you dictated out loud ("запомни, отныне..."), Esc-interrupts and what you said right after.
  • Closes the loop. retro doesn't stop at suggestions: it drafts the CLAUDE.md diff, you confirm, it applies.
  • Inspectable and hackable. One stdlib Python file, deterministic, bilingual (EN/RU) with pluggable language packs, custom windows (7d/90d/all), JSON output you can pipe anywhere.

Use both: /insights for the big picture, /retro for turning failures into rules.

What about netresearch/retro-skill?

Fair question — netresearch/retro-skill is a separate project with the same /retro command and the same core idea (mine transcripts, propose CLAUDE.md rules, approve each one). We built ours independently; the space clearly has legs if two teams landed on it at once. They're different tools for different users:

  • Theirs is a framework — ~37 signals across process hygiene (DCO sign-off, work-on-main, conventional commits, tool-call efficiency), routing to six destinations including PRs against skill repos and CI bootstrap. Depends on jq, gh/glab, git, an optional SQLite coach plugin, and installs via a plugin marketplace / Composer. Great if you run a team with strict git conventions.
  • This is a script — one stdlib Python file, zero dependencies, that you can read end to end. It focuses on the human friction: the corrections you type, the "you're right" the agent says back, the Esc-interrupts, the rules you dictate out loud — and it's bilingual (EN/RU) with pluggable language packs. Built for the individual developer's day-to-day.

If you want an enterprise harness, use theirs. If you want a tiny, inspectable tool that catches what you keep re-typing, you're in the right place.

Install

git clone https://github.com/craftwork-design/retro.git && cd retro && ./install.sh

Manual install (also works for updating):

TMP=$(mktemp -d) && git clone https://github.com/craftwork-design/retro.git "$TMP" \
  && rm -rf ~/.claude/skills/retro && mkdir -p ~/.claude/skills \
  && cp -r "$TMP/skill" ~/.claude/skills/retro

Requires Python 3.8+ (stdlib only, no dependencies). On Windows, use Git Bash for the commands above and python instead of python3. If you use a custom CLAUDE_CONFIG_DIR, both the installer and the scanner respect it.

Claude Code only. retro reads ~/.claude/projects/ transcripts. Cursor, Codex, and Zed are on the roadmap, not supported today. New to retro or a fresh machine? Start with /retro all — a brand-new project has almost no history, so the single-project view will look empty until you've used it a while.

Use

Inside Claude Code, in any project:

/retro          # current project, last 30 days
/retro 7d       # last week
/retro all      # every project on this machine

The agent scans your transcripts, clusters recurring friction, and shows you a retro with evidence and a proposed CLAUDE.md diff. Nothing is applied without your confirmation.

Want just the numbers, without the agent? Run the scanner directly:

python3 ~/.claude/skills/retro/scripts/scan.py            # pretty terminal report
python3 ~/.claude/skills/retro/scripts/scan.py --all      # all projects
python3 ~/.claude/skills/retro/scripts/scan.py --format json

What it detects

SignalWhat it means
CorrectionsYou told the agent it was wrong: explicit ("not like that"), bug reports ("it crashed again"), redo requests ("shorter", "поправь хедер")
AdmissionsThe agent itself said "you're right" or "my mistake". Catches corrections no keyword list ever would
Repeated asksThe same instruction given across 2+ different sessions. Each cluster is a ready-made CLAUDE.md rule
Rule requestsYou dictated a rule out loud: "remember, from now on always..."
InterruptsYou hit Esc while it was doing something, plus whatever you said right after
NudgesYou typed a bare "continue" because the agent stalled mid-task
DenialsPermission prompts you rejected
Retry loopsThe same call failed 3+ times in a session
Abandoned sessionsThe session ended right after a failure. The most expensive signal there is

Languages

Roughly half of the signals are language-agnostic by construction: interrupts, nudge-free repeated instructions (token clustering), repeated pastes, denials, errors, retry loops, abandoned sessions. The lexical detectors (corrections, admissions, rule requests, nudges) ship with English and Russian patterns, morphology-aware.

Other languages plug in as a JSON pattern pack, no code changes:

python3 skill/scripts/scan.py --patterns skill/patterns/example-es.json

See skill/patterns/example-es.json for the format. Language pack PRs are very welcome.

The scanner is deterministic and high-recall; the skill (the model) does the judgment: which candidates are real patterns, what the root cause is, and what minimal rule, hook, or permission change would have prevented them.

Example

# Retro: my-app — last 30 days

Scanned 42 sessions. The biggest issue: test runner confusion.

## Pattern 1: wrong test command (9 failures, 6 sessions)
Evidence: `npm test` failed with "missing script" on Jun 12, 14, 19...
Root cause: repo uses pnpm + vitest, CLAUDE.md never says so
Fix: add rule "Run tests with `pnpm vitest run`, never `npm test`"

## Proposed CLAUDE.md diff
+ ## Commands
+ - Run tests with `pnpm vitest run`, never `npm test`
+ - Dev server is already running on :3000, never start a second one

See examples/report-example.md for a full report.

Privacy

Everything runs on your machine. The scanner is a single stdlib Python file with no dependencies. No network calls, no telemetry, nothing leaves your laptop. Your transcripts are yours.

Roadmap

  • HTML report you can actually share (numbers only, no transcript content)
  • Hook suggestions generated from denial patterns
  • Report history: did last week's fixes reduce this week's corrections?
  • retro for teams: one shared set of lessons across 20 engineers, synced rules registry, weekly PR into your repo with evidence. If that sounds like your team, open an issue on this repo.

License

MIT


Independent open-source project. Not affiliated with, endorsed, or sponsored by Anthropic or id Software. Claude and Claude Code are trademarks of Anthropic; DOOM is a trademark of id Software LLC.

// faq

What is retro?

Weekly retro for your coding agent. A Claude Code skill that mines your session transcripts for recurring failures and turns them into evidence-backed CLAUDE.md fixes. Local-only, zero dependencies, MIT.. It is open-source on GitHub.

Is retro free to use?

retro is open-source under the MIT license, so it is free to use.

What category does retro belong to?

retro is listed under mcp-servers in the Claudeers registry of Claude-compatible tools.

1 views
27 stars
unclaimed
updated about 1 month ago

// embed badge

retro on Claudeers
[![Claudeers](https://claudeers.com/api/badge/retro.svg)](https://claudeers.com/retro)

// retro hit counter

retro hit counter
[![Hits](https://claudeers.com/api/counter/retro.svg)](https://claudeers.com/retro)

// reviews

// guestbook

0/500

// related in MCP Servers

🔓

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete…

// mcp-serversf/HTML167,135NOASSERTION[ claude ]
🔓

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io

// mcp-serversfarion1231/Rust127,274MIT[ claude ]
🔓

An open-source AI agent that brings the power of Gemini directly into your terminal.

// mcp-serversgoogle-gemini/TypeScript106,524Apache-2.0[ claude ]
🔓

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

// mcp-serversJuliusBrussee/JavaScript100,343MIT[ claude ]
→ see how retro connects across the ecosystem