agentleFS
marcin-urbanskimarcin-urbanski/claude-skills/skills/retro/SKILL.md

retro

Skill0 starsChanged 7 days agoMITView on GitHub

Retrospective on a coding session, and optionally its PR review comments. Proposes changes to the agent's environment (automated checks, coding standards, reviewer checklist, skills, CLAUDE.md, tool access) so the same mistake cannot happen again. Proposes only; nothing changes until the user picks.

193 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use plan-tune, ios-clean and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ShreyRaviSkill

    plan-tune

    Self-tuning question sensitivity + developer psychographic for gstack (v1: observational). Review which AskUserQuestion prompts fire across gstack skills, set per-question preferences (never-ask / always-ask / ask-only-for-one-way), inspect the dual-track profile (what you declared vs what your behavior suggests), and enable/disable question tuning. Conversational interface — no CLI syntax required.

    Also in 9 projects that use this

  • Saqlain-811Skill

    ios-clean

    Remove the DebugBridge SPM package and all #if DEBUG wiring from an iOS app. (gstack)

    Also in 5 projects that use this

  • Saqlain-811Skill

    ios-fix

    Autonomous iOS bug fixer. (gstack)

    Also in 5 projects that use this

  • seek888Skill

    pair-agent

    Pair a remote AI agent with your browser. One command generates a setup key and prints instructions the other agent can follow to connect. Works with OpenClaw, Hermes, Codex, Cursor, or any agent that can make HTTP requests. The remote agent gets its own tab with scoped access (read+write by default, admin on request). Use when asked to "pair agent", "connect agent", "share browser", "remote browser", "let another agent use my browser", or "give browser access". (gstack) Voice triggers (speech-to-text aliases): "pair agent", "connect agent", "share my browser", "remote browser access".

    Also in 11 projects that use this

  • ShreyRaviSkill

    landing-report

    Read-only queue dashboard for workspace-aware ship. Shows which VERSION slots are currently claimed by open PRs, which sibling Conductor workspaces have WIP work likely to ship soon, and what slot /ship would pick next. No mutations — just a snapshot. Use when asked to "landing report", "what's in the queue", "show me open PRs", or "which version do I claim next". (gstack)

    Also in 8 projects that use this

  • timurgaleevSkill

    document-generate

    Generate missing docs for a feature, module or project as tutorials, how-tos, reference and explanation.

    Also in 7 projects that use this

  • +1 more from Saqlain-811
  • +2 more from ShreyRavi

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 5 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 171 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the session: Run the digest in this skill's folder:

    line 17
  2. Distinctive:

    Every human review comment is a candidate.

    line 27
  3. Distinctive:

    Read the environment: before proposing anything, so you extend what exists instead of reinventing it:

    line 29
  4. Distinctive:

    Prefer a check over prose: a failing check holds every time, a sentence holds when the model notices it.

    line 57
  5. Distinctive:

    When a finding matches an existing rule, propose sharpening that rule and raising its count, not a second rule.

    line 67

“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Retro

Adapted from Matt Pocock's retro skill (mattpocock/skills, MIT).

A retro changes the environment, never the code from the session. For every place the session struggled, ask what in the environment allowed it, and propose the check, rule or pointer that prevents it next time. A bug in the code itself is a follow-up issue (global CLAUDE.md), not a retro finding.

The goal is that a human never writes the same review comment twice.

Steps

  1. Read the session. Run the digest in this skill's folder:
    python3 "${CLAUDE_SKILL_DIR}/digest.py" [session-id or path]
    With no argument it takes this session. The user may name another one. If this session is already long, suggest running /retro from a fresh session on this one's id instead. The digest lists subagents at the end: digest the ones with errors too. Open the raw .jsonl only to read a specific moment the digest points at.
  2. Read the PR review, when the user names a PR or the session opened one:
    gh pr view <n> --comments
    gh api --paginate repos/{owner}/{repo}/pulls/<n>/comments --jq '.[] | {path, line, body}'
    Every human review comment is a candidate. It ends as a check, a rule, or a stated decision that it was a one-off. To count earlier findings for a From evidence rule in a repo whose PRs have no review comments, search the fix commits and their PRs: git log --oneline --grep '^fix'.
  3. Read the environment before proposing anything, so you extend what exists instead of reinventing it:

    • the project's CLAUDE.md / AGENTS.md and CODING_STANDARDS.md (or CONTRIBUTING.md);
    • its check commands: composer.json / package.json scripts, Makefile, CI workflows, pre-commit config, .claude/settings.json hooks;
    • the global ~/.claude/CLAUDE.md and the skills and agents the session used (sources in ~/Developer/claude-skills).

    A check that exists but is not wired into CI or a hook is the finding. A repo with no guardrail at all (no pre-commit hook and no CI job running lint, static analysis and tests) is a finding of its own.

  4. Find the moments: errors, [repeat] calls, long searches for a file or fact, [result Nk chars] reads, places where the user corrected the agent or said the same thing twice, review comments, and anything the reviewer subagent missed that a human caught.
  5. Trace each moment to its cause and place the fix with the table below. Drop any candidate you cannot tie to a specific moment: generic advice is noise.
  6. Present the candidates, most severe first. Severity order: a shipped bug or security gap, then work a human had to redo or review twice, then wasted time or tokens, then friction. For each candidate:
    • Moment: time from the digest and a one-line quote or description;
    • Cause: what in the environment allowed it;
    • Change: the target file and the exact rule text, check or pointer to add, change or delete.
  7. Stop and let the user pick. Apply only what they choose. Changes to skills, agents or the reviewer checklist go through a worktree as ~/Developer/claude-skills/CLAUDE.md describes; when they came from the marcin-skills plugin, propose them as an issue or pull request on github.com/marcin-urbanski/claude-skills instead, since an update replaces the plugin's folder. Changes to a project go on a branch per its rules.

Where a fix belongs

What happenedFixWhere
A mistake a tool could catch (banned API, import shape, file location, naming pattern, formatting)Automated checkThe project's linter or static analysis rule, a pre-commit hook, a CI job, or a Claude Code hook in .claude/settings.json
The reviewer missed a judgement call specific to this projectRuleThe project's CODING_STANDARDS.md (create it from ${CLAUDE_SKILL_DIR}/../spec-first/coding-standards-template.md if missing)
The reviewer missed a judgement call that applies to every projectRuleskills/spec-first/reviewer-checklist.md in claude-skills
A long search for a file, command or factNavigation pointerOne line in a file the agent already reads (CLAUDE.md, a skill), naming where the thing lives
A skill or agent did the wrong thing, or skipped a stepSkill fixThe skill or agent file in claude-skills
A crucial fact was out of reach (server logs, a third-party service, test output)Information accessWrite logs to a file, add read-only access, or a script that fetches it
An expensive tool call (huge output, many retries of the same call)Tool economyA narrower command, a script, or a flag that trims output
A rule in CLAUDE.md that only matters when code is written or reviewedMove itTo a check; to CODING_STANDARDS.md for a judgement call in this project; to reviewer-checklist.md only when it applies to every project. Keep CLAUDE.md for navigation pointers
A steering line the model already obeys without being toldNo-opDelete the sentence

Prefer a check over prose: a failing check holds every time, a sentence holds when the model notices it. Write prose only for genuine judgement calls.

CODING_STANDARDS.md is read by the implementer and checked by the reviewer, so each rule costs on every task; coding-standards-template.md sets its limit. Each line in CLAUDE.md loads into every session, so a new line there must earn it.

Writing the proposed text

  • State the target behaviour ("store money as integer cents"); a prohibition alone puts the wrong behaviour in front of the model.
  • One meaning in one place: when a rule already exists, sharpen it instead of adding a second one.
  • Cut what the environment already says (config, scripts, directory layout); restate only what the agent cannot find by looking.
  • A rule for CODING_STANDARDS.md follows ${CLAUDE_SKILL_DIR}/../spec-first/coding-standards-template.md: its format, when a rule may go under From evidence (otherwise tell the user it is a one-off and propose no rule), and which rule a new one replaces once the file is full; show the user both texts.
  • When a finding matches an existing rule, propose sharpening that rule and raising its count, not a second rule. A rule the reviewer applied and still missed needs narrower wording, not more words.
  • A retro sees one session, so it cannot tell whether an old rule or check is obsolete. Flag a line for deletion only when this session shows it changed nothing.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.