plan-retro
Skill0 starsChanged 26 days agoMITView on GitHub
Read every refuter report of a repository's plans, open and archived, group the findings by the kind of defect, count the kinds that come back across steps and plans, and for each one propose the change that stops it at its source: a rule sentence on the rules page, a change to the text that should have prevented the defect, a page added to the standards the briefs point at, or, for a fact a machine computes, a check the user approves. Writes a retro report and changes nothing else until the user approves. Triggers on: plan-retro, retro, run a retro, what do the reviews keep finding, mine the refuter reports.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Markssuave/Markssuave-Agent-skillstheir own version, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Markssuave/Markssuave-Agent-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository16 other files it gives its agents.
- skills/repo-setup/templates/CLAUDE.mdCLAUDE.md
- code-commentsSkill
- diagnoseSkill
- grillSkill
- landSkill
- ordo-helpSkill
- ordo-initSkill
- paperSkill
- plan-orchestrationSkill
- planSkill
- refuteSkill
- repo-setupSkill
- roadmapSkill
- session-retroSkill
- specSkill
- writingSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 31
Every refuter report under <ledger_root>/ and <archive_root>/, each agents/reviews/<step>-refuter.md, leaving out the runs the previous …
- Distinctive: line 38
Read each report "What it reads" 2 lists, run by run: the first review, under its Spec, Proof, Standards and Behaviour headings, and each …
- Very specific: line 49
Write <ledger_root>/retros/<YYYY-MM-DD>.md from templates/retro.md.
- Distinctive: line 60
Write each decision beside its proposal in the retro.
- Distinctive: line 62
Run each approved check's command.
- Distinctive: line 64
Commit the retro and the edited files in one commit whose subject names the retro.
- Very specific: line 83
The rule is written on a page the briefs do not point at: When the rule is on a page that is neither the rules page nor listed in …
- Distinctive: line 86
Whether the rule is kept is a fact a machine computes: Only then may the proposal add a check beside the change of 3: a grep over the diff, …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Retro over the refuter reports
/plan-retro turns the findings of every /refute run into proposed changes to the repository's rules. A finding the refuter keeps making is a rule the builder was not given, or was given where the brief did not point, or was given in words the builders misread, or, for a fact a machine computes, is a check nobody runs. It leaves behind a retro report in the ledger and, for each proposal the user approves, the edit it proposes, committed together.
Quick start
/plan-retro the retro over every refuter run the previous retro did not list
/plan-retro <project> the same, for one project of a plan.yaml in the projects: formUse instead
| When | Use |
| One step's findings, before it lands | /refute <entry> <step>, then /land |
| The recurring findings of the plan that is running | plan-orchestration's recurring-findings pass |
| What went well and what went wrong in the Claude Code sessions, from their transcripts | /session-retro |
What it reads
.agents/plan.yaml, its required keys and defaults as/planstates them:ledger_root,archive_root,rules,standards,verification.- A required key missing is a refusal ("Stops").
- Every refuter report under
<ledger_root>/and<archive_root>/, eachagents/reviews/<step>-refuter.md, leaving out the runs the previous retro lists under "Reports read" (Steps 1). - The newest file under
<ledger_root>/retros/named<YYYY-MM-DD>.md, the previous retro, for its "Reports read" list. With no previous retro, every run is read. - The rules page, every page in
standards, and the verification page, whole. - For a finding whose kind is unclear from its text, the report it came from and the brief of its step.
Steps
- Read each report "What it reads" 2 lists, run by run: the first review, under its Spec, Proof, Standards and Behaviour headings, and each section "Repair round
<n>, refuted".- Each finding is an item "Grouping" keeps, noted with its plan, step, report, run, heading, location and text.
- The runs the previous retro's "Reports read" lists are left out unless the user asks for a retro over everything.
- They are matched by plan folder, step and run, so a plan moved into
<archive_root>stays left out and a round added to a report later is read.
- They are matched by plan folder, step and run, so a plan moved into
- A previous retro that cannot be read as UTF-8, has no
## Reports readheading, or holds a line there that is not an entry in the form oftemplates/retro.mdstops the retro there, a refusal ("Stops").
- Assign each finding one kind, as "Grouping" says.
- For each kind, count the findings, the distinct steps and the distinct plans.
- Name the heading each kind's findings fell under.
- Quote two or three findings of each kind with their report path and location.
- Mark the recurring kinds: a kind other than "no defect" is recurring when it appears in at least three steps, or in at least two plans.
- For each recurring kind, draft the proposal, as "The proposal for a recurring kind" says.
- Write
<ledger_root>/retros/<YYYY-MM-DD>.mdfromtemplates/retro.md.- The reports read: each report a finding came from, with its path under
<ledger_root>or<archive_root>(<plan>/agents/reviews/<step>-refuter.md) and the runs its findings came from, astemplates/retro.mdshows. - The previous retro's "Reports read" entries, carried over, so a run listed once stays skipped by every later retro.
- A report in both lists has its runs joined in one entry.
- A run that gave no finding has no entry; the next retro reads it again, and it gives none again.
- The counts by heading, of the findings left after the "no defect" set-aside.
- The recurring kinds, each with its counts, its quoted findings and its proposal.
- Then the other kinds, "no defect" apart, with their counts and no proposal.
- Then the findings set aside as "no defect", with their own count, each with its report path, location and text, and no proposal.
- The reports read: each report a finding came from, with its path under
- Show the retro to the user.
- Take the user's decision on each proposal, one by one: approved, corrected or declined ("Stops").
- Write each decision beside its proposal in the retro.
- Make the approved edits: the rules page, a standards page, the text that should have prevented the defect,
.agents/plan.yaml, the verification page, and, for an approved check of a fact, its script. - Run each approved check's command.
- Show each command's output.
- Commit the retro and the edited files in one commit whose subject names the retro.
- Each file is staged with
git add -- <path> .... - The commit names the same paths:
git commit -m <message> -- <path> ....
- Each file is staged with
Grouping
- A kind is a sentence that states the defect in general terms, the way a rule would forbid it: "a test that cannot fail", "a comment that names the step that wrote it", "a document sentence the diff makes false".
- Findings whose text reports the same defect in different words share a kind.
unclassifiedfindings from repair rounds are read and assigned like the rest, or set aside when they are a point the reviewer did not check.- The session keeps as a finding, whatever its text says, every top-level item under a Spec, Proof, Standards or Behaviour heading and every item of a repair round outside the parts it does not read: the list before a round's subheadings when one of them is Spec, Proof, Standards or Behaviour, the Verification, Verdicts, Declined to judge, Not checked, Closed, Closures and Usage lists, and fenced lines.
- A finding whose text reports no defect (a confirmation such as "None." or "No sentence in the pages is made false") or a closure that holds (such as "Spec 1: closed.") is set aside, by reading, as the kind "no defect".
- It is counted and listed in the retro's "No defect" section with no proposal.
The proposal for a recurring kind
The skill checks where the rule should have come from, in this order, and proposes the first change of 1 to 3 that applies; a check is proposed only as 4 says:
- The rule is not written anywhere. Grep the rules page and the standards pages for it.
- When it is absent, the proposal is the rule's text, in the voice and numbering of the page it goes into (the rules page for how a change is made and reported, a standards page for what the code or prose looks like), with the findings it would have prevented cited.
- The rule is written on a page the briefs do not point at. When the rule is on a page that is neither the rules page nor listed in
standards, the proposal adds the page tostandardsin.agents/plan.yaml. - The rule is written where the briefs point, and the defect still recurs. The proposal is a sharper sentence for the existing rule, or a change to the text that should have prevented the defect (a brief template, a skill's step).
- It quotes the findings that show how builders read the current text.
- Whether the rule is kept is a fact a machine computes. Only then may the proposal add a check beside the change of 3: a grep over the diff, a lint rule or a script over the tree.
- It states what the check computes, its command, the output it gives on the current tree, and the line to add to the verification page so every step runs it.
- The user's decision on the proposal approves what it computes, before it is written.
- A rule whose breach is judged by reading gets no check.
Stops
| Stop | When | What it shows | What resumes it |
| The proposals | Every retro with a recurring kind, at Steps 10 | The retro, each proposal in it | The user's decision on each: approved, corrected or declined |
| A required key missing | A required key is not in .agents/plan.yaml; the refusal names it | The key | The key added, then /plan-retro again |
| A previous retro that cannot be read | At Steps 1, the previous retro is not UTF-8, has no ## Reports read heading, or holds a line there that is not an entry in the form of templates/retro.md | The retro's path and what is wrong in it | The previous retro's "Reports read" corrected to the form of templates/retro.md, or a retro over everything, then /plan-retro again |
- The first row is a stop: it waits on the user.
- The second and third rows are refusals: each names its cause and changes nothing.
Anti-patterns
| Anti-pattern | Why it fails | Do instead |
| A kind that merges two defects | The count rises and the proposal fits neither defect | One kind per defect |
| A proposal that loosens a rule or adds an exemption | It turns the recurring defect into allowed behaviour | Propose the rule, the page, the sharper sentence or text change, or a check of a fact, as "The proposal for a recurring kind" says |
| An edit made before the user's decision on its proposal | The rules change without the user | Steps 10 to 12 |
| A number in the retro that no finding listed in it backs | The count is a guess presented as a measurement | Rules 2 |
Rules
- The skill reads the ledgers and never edits a report, a brief or a plan.
- Counts come from the findings listed in the retro, each with its report and location, and the grouping written there.
- A proposed rule states what to do and at most one clause of why.
- A proposed rule carries no date, no incident and no step number; the retro file is where those live.
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
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.

