retro
Retrospective on a coding session that proposes changes to the agent's environment (checks, pointers, steering, tooling) so the next run goes better.
Skill by sammcj
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sammcj-retro
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/retro
What's inside
- Skill name
retro- Description
- Retrospective on a coding session that proposes changes to the agent's environment (checks, pointers, steering, tooling) so the next run goes better.
- License
- Apache-2.0
- Compatibility
- claude-code
- Metadata
- source: https://github.com/mattpocock/skills (adapted)
- Instructions
- 47 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- session_digest.py · scripts/
SKILL.md (first lines)
# Retro Propose improvements to the agent's **environment** based on where a session struggled. Propose only: change nothing until the user picks a candidate. Fix the environment, not the code the session produced (that is `code-review`). ## Steps 1. Create a task per step below, each with its completion criterion. 2. Get the session record: - No session named: use the current conversation. - Session named, or the current one is too long to recall reliably: run `python3 scripts/session_digest.py <id-or-path>` (`--list N --project <repo>` to find it). Digest each subagent transcript it lists when the struggle happened there. 3. Mark the **struggle moments**: errors, retries, hook blocks, long searches, oversized results, compactions, user corrections, wrong turns. Cite each by digest call number (`#12`) or by quoting the user. 4. Read the repo's existing checks (`Makefile`, `package.json` scripts, pre-commit config, CI workflows, `.claude/settings.json` hooks). A check that exists but is unwired or broken is the finding, in place of a new one. 5. Map each struggle moment to a candidate using the categories below. Drop any candidate you can't trace to a struggle moment. 6. Present candidates ranked by severity: cost of the struggle times how often it will recur. Each candidate states the moment, the fix, and the file it lands in. ## Categories - **Navigation**: the agent took long to find a file or fact. Fix: a pointer from a file it already reads. - **Automated checks**: the agent made a mistake a tool could catch. Fix: lint rule, type, test, pre-commit hook, CI job, or a Claude Code PreToolUse/PostToolUse hook. A repo with no **guardrail** (no pre-commit hook and no CI running lint/typecheck/test) is a finding in itself. - **Coding standards**: the reviewer missed a mistake. Classify it first. **Mechanical** (banned API, import shape, file location, fixed syntax) gets a deterministic check. **Judgement call** (cross-file consistency, matching surrounding style) goes in the repo's standards doc (`CODING_STANDARDS.md` or `CONTRIBUTING.md`). `code-review` reads only what the repo documents, so a new standards doc also needs a one-line pointer from the project `CLAUDE.md`. - **Steering bloat**: global `~/.claude/CLAUDE.md`, project `CLAUDE.md`/`AGENTS.md`, `.claude/rules/`, auto-memory `MEMORY.md`, SessionStart hook context, or model-invoked skill descriptions are large. Fix: move instructions into checks or standards, path-scope them into rules, or tighten a skill description or make it user-invoked. - **No-ops**: steering lines the agent already obeys by default, or ignored anyway. Fix: delete, or replace with a check. Treat each as a candidate for the deletion test, judged on one session. - **Skills**: a skill failed to fire, fired wrongly, or its instructions misled the agent. Fix: its description or body. - **Tool economy**: a tool call was expensive for what it returned (see oversized results in the digest), or the agent repeated a call. Fix: a cheaper command, a script, or a narrower tool. - **Information access**: the agent lacked information it needed. Fix: tee dev server logs to a file, read-only access to a service, a docs pointer. - **Sandbox and permissions**: a sandbox or hook block cost retries. Fix: the command pattern the agent should have used, or a sandbox/permission rule change for the user to make. ## Placement The implementer has the most context pressure: it explores, writes code and debugs. The reviewer gets a diff. Put rules where there is room to apply them. - Steering files (`CLAUDE.md`, `AGENTS.md`, SessionStart hooks) load into every session. Reserve them for navigation pointers and rules that apply to every task. - A recurring mistake becomes a failing check before it becomes prose. - Judgement rules go to the reviewer's standards doc, not `CLAUDE.md`. Extend an existing doc before writing a new one. - A user preference correction belongs in auto-memory as a `feedback` memory. Repo facts belong in the repo. ## Applying a picked candidate Load the matching skill before editing: - `CLAUDE.md` or `.claude/rules/` -> `authoring-claude-md` - A skill -> `skill-creator-primer` - Hooks, permissions or settings -> `update-config` Run a proposed check against the repo before letting it block anything.
From sammcj/agentic-coding, Apache-2.0.
More from sammcj/agentic-coding
- 0.740score
release-debrief
Sam McLeod (adapted from Arjen Schwarz)
Summarises the delta between a tool's latest release and the last summary the user saw.
SkillBFreshness: B★ 167Claude Code - 0.732score
extract-wisdom
sammcj
Extract wisdom, insights, and actionable takeaways from YouTube videos, blog posts, articles, or text files.
SkillAFreshness: A★ 167Claude Code - 0.732score
ambitious-model-use
sammcj
Use when the user asks to be more ambitious with an AI task: aim at the outcome behind it, work it like a field-leading expert from raw data, or bring in…
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
rewrite-slop
sammcj
Use when explicitly asked to review or rewrite AI-generated text or UI so it reads as human, or with phrasings like "de-slop", "humanise this", "make it sound…
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
ai-changelog
sammcj
Set up an AI-driven changelog system in any project, code or not.
SkillAFreshness: A★ 167Claude Code +9 - 0.728score
skill-creator-primer
sammcj
You **MUST** load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
SkillAFreshness: A★ 167Claude Code +9 - 0.728score
deferred-task-execution
sammcj
Delays execution of a task until a specified time or after a duration.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
prompt-enhancer
sammcj
Transform poor or overly simple prompts with expert-level framing.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
find-docs
sammcj
Retrieves up-to-date documentation, API references and code examples for any developer technology.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
backlog
sammcj
Capture single backlog items, or list and triage an existing project backlog.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
creating-development-plans
sammcj
Creates structured development plans with phased task breakdowns, requirements, and QA checklists.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
systematic-debugging
sammcj
Applies a modified Fagan Inspection methodology to resolve persistent bugs and complex issues.
SkillAFreshness: A★ 167Claude Code +9
Signals
- Stars
- 167
- Forks
- 25
- Open issues
- 0
- Last commit (this folder)
- Oct 5, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/sammcj/agentic-coding
- Website
- smcleod.net
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sammcj
- 0.732score
extract-wisdom
sammcj
Extract wisdom, insights, and actionable takeaways from YouTube videos, blog posts, articles, or text files.
SkillAFreshness: A★ 167Claude Code - 0.732score
rewrite-slop
sammcj
Use when explicitly asked to review or rewrite AI-generated text or UI so it reads as human, or with phrasings like "de-slop", "humanise this", "make it sound…
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
ai-changelog
sammcj
Set up an AI-driven changelog system in any project, code or not.
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
ambitious-model-use
sammcj
Use when the user asks to be more ambitious with an AI task: aim at the outcome behind it, work it like a field-leading expert from raw data, or bring in…
SkillAFreshness: A★ 167Claude Code +9 - 0.728score
deferred-task-execution
sammcj
Delays execution of a task until a specified time or after a duration.
SkillAFreshness: A★ 167Claude Code +9 - 0.728score
skill-creator-primer
sammcj
You **MUST** load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
SkillAFreshness: A★ 167Claude Code +9
Cite this page
retro skill. Agent Mart. https://agentmart.dev/skills/sammcj-retro (last updated 2026-10-24)