About retro
A retrospective skill for coding agents that examines a session and proposes improvements to the agent's working environment. It evaluates navigation, checks, standards, tool use, instructions, and access to information.
Key features
- 01Review session sources
- 02Identify environment improvements
- 03Evaluate automated checks and guardrails
- 04Assess coding standards and instructions
- 05Review tool economy and information access
Use cases
- 01Finding causes of a coding session's problems
- 02Proposing repository navigation pointers
- 03Identifying missing or unwired checks
- 04Reducing costly tool use
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ overextended/ skills --skill retroAfter installing, type/retroin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlCREDITS.md
Details
From the project READMERetro
The user has asked for a retrospective. You are suggesting improvements to the coding agent's environment to improve future runs.
Steps
-
Call the Skill tool with
writing-for-agentsfor the writing style guide. -
Read the primary sources for the session the user specifies. This may mean searching through session logs on this machine (Claude Code:
~/.claude/projects/; Codex:~/.codex/sessions/). If the user doesn't specify a session, default to the current one. -
Look for candidates for improvement in these categories.
- Navigation: how easy was it for the agent to find the right files? Are there hidden dependencies between files? Would a navigation pointer make it easier? Use when the session took a long time to find a piece of information.
- Automated checks: are there automated checks that could catch errors the agent made? Linting, typing, tests, filesystem linters? Read the repo's own check command first (its
package.jsonlint/check/buildscripts, a committed.luarc.json, its CI workflow), so a check that already exists but sits unwired or silently broken is the finding, not a reinvention. For Lua the check is LuaLS with fivem-lls-addon, which knows the natives and CfxLua syntax and runs headless withlua-language-server --check; a stock Lua linter that rejects backtick hashes or+=is a broken check, not a reason to drop the syntax. A repo with no guardrail (no pre-commit hook and no CI job running its lint/typecheck/test command) is itself a finding: an un-linted repo is a standing missed opportunity, not a neutral default. Use when the agent made a mistake an automated check could have caught, or the repo has no guardrail at all. - Coding standards: should the reviewer agent be given a new rule to enforce? Should an existing rule be removed or clarified? Classify the violation first: a mechanical one (a fixed syntactic pattern, a banned API or native, an import shape, a file-location rule) gets a deterministic check, full stop: a custom rule in the repo's own linter, a new pre-commit hook, or a new CI job, whichever the repo's language and existing guardrail make cheapest. Default to building the check over writing the rule. Reserve
CODING_STANDARDS.mdfor genuine judgement calls (cross-file consistency, "matches the surrounding style," anything no guardrail could ever substitute for). Use when the reviewer agent failed to catch a mistake. - Global AGENTS.md: are there any steering instructions that should be moved to coding standards (or automated checks) instead? Use when the AGENTS.md file is particularly large, in the repo OR the user's global scope.
- Tool economy: did the agent make expensive tool calls that could be streamlined? Is there any custom tooling (CLIs, MCPs) that is particularly token-inefficient? Did subagents run on a model too large or too small for their role? Use when the agent made an expensive tool call.
- No-ops: look for instructions in steering files that don't modify the agent's behavior. Use when the steering files are large and unwieldy.
- Information access: look for opportunities to increase the agent's access to information: teeing the FXServer console to a file the agent can read, read-only access to the database or third-party services. Use when a crucial piece of information was not available to the agent.
- Present these candidates to the user, in order of severity.
Reference
Implementation vs Review
Remember that all work goes through two stages: implementation and review. The implementation agent has the most context pressure. They are responsible for exploration, writing code, and debugging failures.
The review agent has the least context pressure: it receives a diff, so no exploration needed. It often does not need to write code or debug.
This means that the review agent should be responsible for imposing coding standards, not the implementation agent.
Files
You have access to several files in the repo:
CLAUDE.md/AGENTS.md: these files are pushed to the context window of any agent working in this repo. They should be used incredibly sparingly, usually only for navigation pointers to other files.CODING_STANDARDS.md: this file is read during review, not implementation. Add navigation pointers to docs folders if the standards file gets more than 1,000 lines long.- Docs: use docs as references files, pointed to by other files. Look for existing docs before writing new ones.
- Skills: use skills for docs (since their description goes into the agent's context window), or for user-invoked commands. Follow the advice in the
writing-for-agentsskill. .ox/config.mdand~/.config/ox/models.md: the project facts (resources, versions, framework) and the per-role subagent models that the ox skills read. When the session went wrong because one of them was stale, the fix is telling the user to run/setup-ox projector/setup-ox models, not a new instruction.