agentleFS
TheAxeCTheAxeC/ordo/skills/plan-retro/SKILL.md

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

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
  1. Very specific:

    Every refuter report under <ledger_root>/ and <archive_root>/, each agents/reviews/<step>-refuter.md, leaving out the runs the previous …

    line 31
  2. Distinctive:

    Read each report "What it reads" 2 lists, run by run: the first review, under its Spec, Proof, Standards and Behaviour headings, and each …

    line 38
  3. Very specific:

    Write <ledger_root>/retros/<YYYY-MM-DD>.md from templates/retro.md.

    line 49
  4. Distinctive:

    Write each decision beside its proposal in the retro.

    line 60
  5. Distinctive:

    Run each approved check's command.

    line 62
  6. Distinctive:

    Commit the retro and the edited files in one commit whose subject names the retro.

    line 64
  7. Very specific:

    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 …

    line 83
  8. Distinctive:

    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, …

    line 86

≈ “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.

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

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: form

Use instead

WhenUse
One step's findings, before it lands/refute <entry> <step>, then /land
The recurring findings of the plan that is runningplan-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

  1. .agents/plan.yaml, its required keys and defaults as /plan states them: ledger_root, archive_root, rules, standards, verification.
    • A required key missing is a refusal ("Stops").
  2. Every refuter report under <ledger_root>/ and <archive_root>/, each agents/reviews/<step>-refuter.md, leaving out the runs the previous retro lists under "Reports read" (Steps 1).
  3. 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.
  4. The rules page, every page in standards, and the verification page, whole.
  5. For a finding whose kind is unclear from its text, the report it came from and the brief of its step.

Steps

  1. 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.
    • A previous retro that cannot be read as UTF-8, has no ## Reports read heading, or holds a line there that is not an entry in the form of templates/retro.md stops the retro there, a refusal ("Stops").
  2. Assign each finding one kind, as "Grouping" says.
  3. For each kind, count the findings, the distinct steps and the distinct plans.
  4. Name the heading each kind's findings fell under.
  5. Quote two or three findings of each kind with their report path and location.
  6. 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.
  7. For each recurring kind, draft the proposal, as "The proposal for a recurring kind" says.
  8. Write <ledger_root>/retros/<YYYY-MM-DD>.md from templates/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, as templates/retro.md shows.
    • 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.
  9. Show the retro to the user.
  10. Take the user's decision on each proposal, one by one: approved, corrected or declined ("Stops").
  11. Write each decision beside its proposal in the retro.
  12. 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.
  13. Run each approved check's command.
  14. Show each command's output.
  15. 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> ....

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.
  • unclassified findings 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:

  1. 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.
  2. 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 to standards in .agents/plan.yaml.
  3. 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.
  4. 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

StopWhenWhat it showsWhat resumes it
The proposalsEvery retro with a recurring kind, at Steps 10The retro, each proposal in itThe user's decision on each: approved, corrected or declined
A required key missingA required key is not in .agents/plan.yaml; the refusal names itThe keyThe key added, then /plan-retro again
A previous retro that cannot be readAt 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.mdThe retro's path and what is wrong in itThe 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-patternWhy it failsDo instead
A kind that merges two defectsThe count rises and the proposal fits neither defectOne kind per defect
A proposal that loosens a rule or adds an exemptionIt turns the recurring defect into allowed behaviourPropose 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 proposalThe rules change without the userSteps 10 to 12
A number in the retro that no finding listed in it backsThe count is a guess presented as a measurementRules 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.

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.