plan
Skill0 starsChanged 26 days agoMITView on GitHub
Open a plan for one roadmap entry: create its ledger folder from the repository's plan configuration, write plan.md with the entry's goal, gate and a drafted step list for approval, the gate and each step's check asked whether it could pass without the goal being reached, each approved step tagged (approved), and orchestrator-state.md with the configuration block filled from the repository. Triggers on: open a plan, start a plan, plan <roadmap entry>, new plan for <entry>.
184 other projects use a version of this.
Adopted by
Most recently taken up by
- phuthuycoding/kanban-flowtheir own version, first seen Nov 8, 2026
- PeanutGT/NutsSkillstheir own version, first seen Nov 8, 2026
- domengabrovsek/agent-configtheir own version, first seen Nov 8, 2026
- domengabrovsek/claudetheir own version, first seen Nov 8, 2026
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
- joeldevz/skynex-pitheir own version, first seen Nov 8, 2026
Used with
Projects with it also use heartmula, webhook-subscriptions 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.
math-incSkillheartmula
Set up and run HeartMuLa, the open-source music generation model family (Suno-like). Generates full songs from lyrics + tags with multilingual support.
Also in 9 projects that use this
Tommy-ywSkillwebhook-subscriptions
Create and manage webhook subscriptions for event-driven agent activation, or for direct push notifications (zero LLM cost). Use when the user wants external services to trigger agent runs OR push notifications to chats.
Also in 5 projects that use this
math-incSkillminecraft-modpack-server
Set up a modded Minecraft server from a CurseForge/Modrinth server pack zip. Covers NeoForge/Forge install, Java version, JVM tuning, firewall, LAN config, backups, and launch scripts.
Also in 5 projects that use this
john-data-chenSkilltouchdesigner-mcp
Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.
Also in 6 projects that use this
gaebalaiSkillcodex-system
PROACTIVELY consult Codex CLI, your highly capable supporter with exceptional reasoning and task completion abilities. Codex is a trusted expert you should ALWAYS consult BEFORE making decisions on: design choices, implementation approaches, debugging strategies, refactoring plans, or any non-trivial problem. When uncertain, consult Codex. Don't hesitate - Codex provides better analysis. Explicit triggers: "think deeper", "analyze", "second opinion", "consult codex".
Also in 3 projects that use this
ibahgatSkillcontext-optimize
Improve context efficiency and cache stability for long or complex sessions.
Also in 3 projects that use this
- +3 more from math-inc
Other versions184 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 184
- Yeachan-Heo/oh-my-codex★ 34ksame name
- crbnos/carbon★ 2.8ksame name
- graphistry/pygraphistry★ 2.6ksame name
- zereight/gitlab-mcp★ 2.1ksame name
- math-inc/OpenGauss★ 1.3ksame name
- kdlbs/kandev★ 1.1ksame name
- suboss87/FDEOps★ 940same name
- codewithmukesh/dotnet-claude-kit★ 808same name
- witnesstodark/mr-mak-workspace★ 718same name
- loongclaw-ai/loongclaw★ 640same name
174 more not listed
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
- plan-retroSkill
- refuteSkill
- repo-setupSkill
- roadmapSkill
- session-retroSkill
- specSkill
- writingSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 11 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 167 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
No file, and a required key missing, are stops ("Stops").
- Distinctive: line 39
No match is a stop ("Stops").
- Distinctive: line 55
No bullet of the Rulings section, or of the rulings file, has the name, or more than one has it.
- Very specific: line 108
No step is drafted to fix what another step's run or review found and to run that check again: that is a repair round of the other step, as …
- Distinctive: line 120
When the closing step has run the script, the ledger folder moves only when the script exits 0.
- Distinctive: line 121
When the closing step has skipped the script, the ledger folder moves.
- Very specific: line 132
Write plan.md once the user has approved or corrected it.
- Distinctive: line 135
Every answer in "## Gate" is no.
- Distinctive: line 136
No design decision is named as unsettled.
- Distinctive: line 137
No line of the rulings file is left to place.
- Very specific: line 160
Write orchestrator-state.md from templates/orchestrator-state.md.
- Very specific: line 171
Create agents/briefs/ and agents/reviews/, each with an empty .gitkeep, since git does not keep an empty folder.
- Very specific: line 172
Commit plan.md, orchestrator-state.md and the two .gitkeep files as the plan's opening commit, naming its paths.
- Very specific: line 178
When Steps 2 copied the ruling from the rulings file, the ledger file named is the new plan.md.
- Very specific: line 180
When the last commit holds it (git cat-file -e HEAD:<path> exits 0), the removal is git rm -q -f -- <path>, and its path is named in the …
- Distinctive: line 198
When the stop "The plan exists" finds the entry's rulings file still there, the Agents bullets it holds are named.
- Very specific: line 213
Every step line of plan.md ends with its authority.
- Distinctive: line 217
Every path in the ledger is relative to the repository root.
- Distinctive: line 218
Every command in the ledger names the directory it runs from.
“Common” is measured: kept by at least 6 in 10 of the 167 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.
Files
Open a plan
/plan <entry> turns one roadmap entry into a ledger folder that /spec, /refute, /land and plan-orchestration then run from. It leaves behind plan.md and orchestrator-state.md, committed, and agents/briefs/ and agents/reviews/, each holding an empty .gitkeep.
Quick start
/plan <entry> open the plan for one roadmap entry: the ledger folder the step skills and the orchestrator run from, its step list drafted for approval
/plan <project>/<entry> the same, in a repository whose plan.yaml lists several projects
/plan <entry> --ruling <ledger file> "<name>" the same, under a quoted ruling: a step list that is the ruled one is written without the stop
/plan <entry> --self-rule the same, run by plan-orchestration in next-entry mode: the orchestrator takes the drafted step list as its choiceUse instead
| When | Use |
The repository has no .agents/plan.yaml | /ordo-init |
| The roadmap has no entry for the work yet | /roadmap add <goal> |
| The entry's design decisions are not settled | /grill <entry> |
| The plan is open and a step is due | /spec <entry> <step>, or /plan-orchestration <entry> for every step |
| Where an open plan stands | /ordo-help <entry> |
What it reads
.agents/plan.yamlat the repository root: the only place a project specific lives.- Its keys, which of them are required and the default of each optional one are in
templates/plan.yaml(one project) andtemplates/plan.projects.yaml(several, listed underprojects:, with<entry>then<project>/<entry>). - An optional key missing takes the default the example file gives it.
- No file, and a required key missing, are stops ("Stops").
- Its keys, which of them are required and the default of each optional one are in
- The roadmap the configuration names.
<entry>is matched against the entries by number or title.- No match is a stop ("Stops").
- An entry that stands under the roadmap's "Not yet specified" section is a refusal that names
/roadmap add <entry>, which names its gate ("Stops").
- The verification page the configuration names, for the commands every step runs.
- The rulings file
<ledger_root>/rulings/<slug>.md, the slug as Steps 1 derives it, when it exists: the settled design answers for the entry, the user's and those/grill --self-rulewrote, written while no plan was open, and, under its## Agentsheading, the lookup agents/grillstarted while no plan was open. - The ADRs in the folder the configuration's
adrnames (docs/adrwhen it has none): eachNNNN-*.mdrecord for its part in force, as thespecskill's "What it reads" 5 says. - The quoted ruling, when the invocation ends with
--ruling <ledger file> "<name>".<ledger file>is a plan'splan.mdor a rulings file, given by a path the skill can read from where it runs.- The quoted ruling is the bullet named
<name>in that file's Rulings section, or in the file itself when it is a rulings file, with every line under it: its sub-bullets and their fenced blocks. - The name is read as the
specskill's "What it reads" 4 reads a ruling's name. - It is matched against the bullet's text as written, a quotation mark in it included.
- A draft is the ruled change when each change it makes to a file has a sub-bullet that states it and equals that sub-bullet.
- What the skill shows beside the change, such as a gate's answer with its reason or the lines around a place, is not part of what is compared.
- A text of several lines is compared line for line with the fenced block under its sub-bullet.
- There is no ruling in any of these cases.
--rulingis not followed by the file and the name as the last two arguments of the invocation.- The file does not exist, or is neither of those two files.
- No bullet of the Rulings section, or of the rulings file, has the name, or more than one has it.
- The name is a placeholder in angle brackets, such as
<L>. - The bullet's first line ends with neither "(the user)" nor "(self-rule)", each with or without a full stop after it.
- With no ruling, the skill says which of these it found.
- With no ruling, every stop stands.
- The argument
--self-rule, right after<entry>, before any other argument.- It is refused ("Stops") unless
.agents/plan.yaml, in theprojects:form the project's keys, holdsself_rule: onandnext_entry: on.
- It is refused ("Stops") unless
Steps
- Name the ledger folder
<ledger_root>/<slug>/, the slug derived from the entry.38.3 One object per filegives38-3-one-object-per-file.- A project prefix is dropped, since the ledger root is already the project's.
- A folder that already exists is a stop ("Stops").
- Draft
plan.mdfromtemplates/plan.md.- It opens with
# Plan: <entry>, which is how every other skill finds it. - The entry's goal and its gate are copied in.
- Each bullet line (
- ...) of the rulings file ("What it reads" 4) that is not under its## Agentsheading is copied into the Rulings section as it stands, in its order, in place of the template's placeholder line. - The file's other lines, such as a heading or a blank line, are not copied.
- Any other line, such as a wrapped continuation or an indented sub-bullet, is shown with the draft at Steps 3, for the user to place.
- A line the user leaves unplaced is copied below the bullet line it follows, as it stands, so nothing of the file is lost when Steps 6 removes it.
- A quoted ruling that stands in the rulings file is copied with every line under it, its sub-bullets and their fenced blocks, and none of them is a line left to place.
- Each bullet line under the rulings file's
## Agentsheading is copied into the new plan's## Agentssection as it stands and in its order, in place of the template's placeholder bullets, and is never copied into Rulings nor shown as a line to place. - With no agent bullet in the rulings file, and with no rulings file, the
## Agentssection is written with its sentence and no bullet. - The session asks of the copied gate "could this pass without the goal being reached?" and writes the answer with its reason in the section "## Gate", on the line the template gives the gate.
- A copied gate that could pass without the goal is kept as the roadmap has it, since the gate is the roadmap's and the user's.
- The answer and reason for such a gate go to the user at Steps 3.
- The session also asks of the copied gate "is this checked once, on the finished work?".
- A gate that is met only by fixing and checking again until nothing fails, such as "each one not marked right is fixed before the gate passes", has no count, against the round cap of
plan-orchestration's Rules. - Such a gate is the stop "A gate with no count" ("Stops"): no plan is opened, and the user rules the gate through
/roadmap.
- A gate that is met only by fixing and checking again until nothing fails, such as "each one not marked right is fixed before the gate passes", has no count, against the round cap of
- The step list is drafted from the entry's goal as its parts, each step with the check that proves its part.
- A step is a part that must exist and work before another part is built on it.
- A step is also a point where the user reads or decides before the rest goes on.
- A later part is built on an earlier one when it needs the earlier one's result, not only its existence.
- A result is a landed or tagged text, or a run or a decision on it that only the user, or a session other than the step's builder, can make.
- The runs and decisions of that kind that need the same step are one step of their own after it.
- Such as a skill the user runs in a fresh session and the blind comparison the user calls on its output.
- Two parts whose content is known in advance are one step even when one uses the other, such as a script and its setup text.
- A run the builder itself makes, read by the user, is part of the step's check.
- The user's reading of such a run blocks nothing after it.
- A gate's check runs inside the step that delivers what it checks.
- Wiring in, terms and documentation belong to the step that builds the thing.
- Bookkeeping is done in a commit the orchestrator already makes and is never drafted as a step.
- The number of steps follows from the parts of the entry.
- Under a quoted ruling ("What it reads" 6), the step list is the ruling's, each step with its check.
- The rest of this step is worked on that list.
- A closing step in the ruled list is dropped for the one
/planwrites.
- The session asks the same question of each step's check, "the goal" there being the part of the goal the step delivers, and writes the answer with its reason in "## Gate", one line per step, as the template gives it.
- The answer stands only in "## Gate".
- Each step line keeps the shape the template gives it.
- A step's check that could pass without the goal (such as the forms the
roadmapskill's "Steps / add" 3 names) is redrafted and asked again, at most twice, before the draft is shown. - A check that could still pass after the second redraft is kept as drafted.
- Each step's check is run once, on the step's finished part. A check that is met only by fixing and checking again until nothing fails is redrafted.
- No step is drafted to fix what another step's run or review found and to run that check again: that is a repair round of the other step, as
plan-orchestration's "What earns a step of its own" says. - The answer and reason for such a check go to the user at Steps 3.
- The last step is the closing: the roadmap entry ticked with the gate's output (
/roadmap done <entry>), and the ledger folder moved to<archive_root>/.- The closing step skips the cost script only when the ledger names no agent: no bullet line stands under a
## Agentsheading ofplan.md, up to the next##heading, and none stands inagents/agent-roles.md. - A
plan.mdwith no## Agentsheading, and a ledger with noagents/agent-roles.md, hold no such bullet line. - A closing step that skips the script writes the closing report,
agents/reviews/closing.md, with the sentence "The plan started no agent: neitherplan.md's Agents section noragents/agent-roles.mdholds an agent bullet, so the closing step did not run the cost script." - In every other case, before the folder moves, the closing step runs the
plan-orchestrationskill'stemplates/plan_cost.pyon the ledger folder. - The skip's test is the test under which the script prints
error: the ledger names no agent, so the closing step and the script never disagree. - A closing step that runs the script writes the script's output to
agents/reviews/closing.md, the closing report. - A non-zero exit of the script that no fix within the plan covers is the stop "A red check" of
plan-orchestration. - The stop message holds the script's
error:lines. - A model the table lacks is covered by a row copied into the table from the pricing page, committed with the closing report in the form Steps 6 states.
- When the closing step has run the script, the ledger folder moves only when the script exits 0.
- When the closing step has skipped the script, the ledger folder moves.
- The closing makes three commits on main, each in the form Steps 6 states: the closing report, the ticked entry as
/roadmap donemakes it, and the move of the ledger folder. - The move is made with
git mv, and its commit names the old and the new paths, whichgit diff --cached --name-only --no-renameslists aftergit mv.
- The closing step skips the cost script only when the ledger names no agent: no bullet line stands under a
/planwrites the closing step itself, at the end of the drafted list.- The step is done when the draft holds the goal, the gate, the answers of "## Gate", the Rulings, the Agents section and the step list with the closing step last, and when the draft, read back, holds every agent bullet of the rulings file once, in its Agents section.
- It opens with
- Show the draft to the user, its "## Gate" holding the answer and its reason for the gate and for each step's check (Steps 2).
- With the draft, name each design decision the drafted steps rest on that no ADR in force and no line of the Rulings section settles: a public shape, a wire format, a config key, a vocabulary, a format or a rule the builder applies across the tree, or a library choice.
- The list is shown, not written into
plan.md.
- The list is shown, not written into
- With the draft, show each line of the rulings file that Steps 2 did not copy as a bullet line, for the user to place.
/grill <entry>settles such decisions before the plan opens.- It is not required: the user may approve the list with them unsettled.
- Write
plan.mdonce the user has approved or corrected it.- Under a quoted ruling, the draft is written without the stop only when four things hold.
- Each step and its check are the ruling's, the closing step
/planwrites itself left out of the comparison. - Every answer in "## Gate" is no.
- No design decision is named as unsettled.
- No line of the rulings file is left to place.
- Each step and its check are the ruling's, the closing step
- Otherwise the draft is shown whole with what differs, what could pass without the goal and what is unsettled, and the stop stands.
- The ruling's bullet and every line under it are copied into the Rulings section of a plan written under a quoted ruling, unless Steps 2 copied them from the rulings file.
- Under a quoted ruling, the draft is written without the stop only when four things hold.
- Under
--self-rule, the stop "The drafted step list" is raised asOpen item Aof the new plan, written in full as a stop is: the draft, the answers of "## Gate", the lines of the rulings file left to place, the options "open the plan with the list as drafted" and "keep the draft for the user", their pros and cons, the recommendation and the lazy option.- The first option is the recommendation.
- The second option, which leaves the plan unopened, is named as the lazy option.
- A line of the rulings file left to place does not keep the stop.
- Such a line is copied as Steps 2 says for a line the user leaves unplaced, and Open item A names it.
- It stays with the user, and the stop stands as without
--self-rule, when any answer of "## Gate" is yes, since the gate is the roadmap's and a check that could pass without its goal has no recommendation the written rules rank. - It also stays with the user, and the stop stands, when any design decision is named unsettled, since settling it is
/grill's and/planhas no recommendation the written rules rank. - It also stays with the user, and the stop stands, when it is of one of the six kinds of
plan-orchestration'sreferences/self-rule.md, "The six kinds left open". - Otherwise it is closed by items 1 to 5 of that reference's "Closing an open item".
- The Rulings bullet is
- Open item A (<date>): the step list as drafted, <n> steps, which opens the plan (self-rule). - Each step line, the closing step included, ends with
(ruling A). - Steps 4 writes the state file with the Closed items line of "Closing an open item" 4 and no open item.
- The choice goes to the choices file under the entry's heading,
Booked:naming the newplan.mdandOpen item A, andBuilds on it:naming every step.
- The Rulings bullet is
- Open item A counts as a stop of no step, since it is raised before any step exists.
- Each step line of the approved list ends with
(approved), the authority "Rules" describes.- A step list written under a quoted ruling whose bullet ends "(the user)" is the approved list.
- A step list written under a quoted ruling whose bullet ends "(self-rule)" has each step line end with
(ruling <name>), naming that bullet, never(approved).
- When
plan.mdis written, each bullet line Steps 2 copied that ends "(self-rule)" has its choice rewritten: the choice in the choices file whoseBooked:names the rulings file and that bullet's opening words getsBooked:rewritten to the newplan.mdand the line the bullet stands on there. - A stop that stands writes nothing, the choices file and the rulings file included.
- The step is done when
plan.mdis written and theBooked:lines are rewritten, or the draft is shown and the stop stands.
- With the draft, name each design decision the drafted steps rest on that no ADR in force and no line of the Rulings section settles: a public shape, a wire format, a config key, a vocabulary, a format or a rule the builder applies across the tree, or a library choice.
- Write
orchestrator-state.mdfromtemplates/orchestrator-state.md.- The configuration block is filled in from
plan.yaml, every key of the block written out with the default for an optional key the file leaves out: the verify list, the rules file, the standards, the worktree root and paths, the worker, the reviewer,libraries, the review cadence,repair_rounds,refute_after_repair,review_minutes,look,bench,adr,design_bar,design_references,worker_effort,reviewer_effort,self_rule,next_entry,repair_reviewer. - The verify list is the verification page's commands, each test command with the filter the page names for its summary line, so the copy and the compare of the
specskill's Steps 1 follow one rule. - A
repair_reviewerthatplan.yamlleaves out is written with thereviewervalue. - The block's
executor:is not a project specific and is not inplan.yaml. executor:is written asagentunless the user says otherwise when the plan is opened.- The orchestrator chooses the executor per step over that default.
- The dispatch block is empty.
- The open items are empty.
- The position names the first step.
- The step is done when the state file holds the configuration block with every key written out, the empty dispatch block, no open item and the position.
- The configuration block is filled in from
- Create
agents/briefs/andagents/reviews/, each with an empty.gitkeep, since git does not keep an empty folder. - Commit
plan.md,orchestrator-state.mdand the two.gitkeepfiles as the plan's opening commit, naming its paths.- Each new or changed path is staged with
git add -- <path> .... - The commit names the same paths, a deleted path included:
git commit -m <message> -- <path> .... - Its subject holds the roadmap entry's number.
- The opening commit also holds the choices file
<ledger_root>/choices.mdwhen Steps 3 changed it, asplan-orchestration'sreferences/self-rule.md, "Closing an open item" 6, says. - A plan written under a quoted ruling names the ruling in the commit message, by its name and its ledger file.
- When Steps 2 copied the ruling from the rulings file, the ledger file named is the new
plan.md. - The commit also removes the rulings file copied at Steps 2.
- When the last commit holds it (
git cat-file -e HEAD:<path>exits 0), the removal isgit rm -q -f -- <path>, and its path is named in the commit command with the others. - Otherwise the removal is
git rm -q -f --cached -- <path>when git lists the file as staged, and the file is deleted before the commit, its path not named. - The
-fremoves a copy with uncommitted changes, whose bullet lines Steps 2 has already copied.
- When the last commit holds it (
- The step is done when the opening commit holds the four files, the choices file when Steps 3 changed it, and the removal of the rulings file when there was one.
- Each new or changed path is staged with
Stops
| Stop | When | What it shows | What resumes it |
| A gate with no count | The copied gate is met only by fixing and checking again until nothing fails (Steps 2) | The gate, the words that need the repeated fixing, and the round cap of plan-orchestration's Rules | The user's gate, written through /roadmap, then /plan again |
| The drafted step list | Every plan, after Steps 2, except a draft written under a quoted ruling as Steps 3 says, or under --self-rule outside the cases Steps 3 keeps with the user: the skill does the mechanical half of opening a plan and stops at the design half | The drafted plan.md: the goal, the gate, the steps and each step's check, and in "## Gate" the answer to "could this pass without the goal being reached?" with its reason for the gate and for each step's check, and the design decisions no ADR in force or ruling settles and the rulings file's lines left to place (Steps 3) | The user's approval or correction |
| No configuration | .agents/plan.yaml is missing: no file, no run | That the file is missing, and /ordo-init, which writes it | /ordo-init, then /plan again |
| A required key missing | A required key is not in plan.yaml; the refusal names the key | The key | The key added, then /plan again |
| No such entry | <entry> matches no roadmap entry | The open entries | /plan with an entry that exists |
| Not yet specified | <entry> stands under the roadmap's "Not yet specified" section, so it has no gate for its steps to run | A refusal that names the entry, what must be known before its gate can be named, and /roadmap add <entry> | /roadmap add <entry>, then /plan again |
--self-rule without the keys | --self-rule is given and .agents/plan.yaml does not hold self_rule: on and next_entry: on | A refusal that names the two keys and their values | The two keys set to on, then /plan again, or /plan without --self-rule |
| The plan exists | The ledger folder is already there: a plan is opened once | The folder, and the entry's rulings file when one is still there, for the user to remove, as the bullets below say | Nothing |
- When the stop "The plan exists" finds the entry's rulings file still there, the Agents bullets it holds are named.
- Those bullets are copied into the open plan's Agents section before the user removes the file.
Anti-patterns
| Anti-pattern | Why it fails | Do instead |
Writing plan.md before the user has approved the step list, except as Steps 3 says under --self-rule | The step list is the design half, and the design half is the user's | Steps 3 |
| Keeping a step that cannot name its proof in the step list | Nothing can show it done | Book it under "Blocked, and by what" until it can name its proof |
Rules
- A step is a part of its entry, as Steps 2 says, with the command that proves it.
- A step is built by one dispatch of its executor (a builder agent by default;
inlineoracademic-paperwhen chosen), or run by the orchestrator without an agent. - A step the orchestrator runs without an agent keeps the mark
orchestrator, no agenton its line. - Every step line of
plan.mdends with its authority.(approved)for a step of the list the user approved.(ruling <name>)for a step a ruling added, after the approval or under a quoted ruling ending "(self-rule)", the ruling being the user's or one booked under self-rule, naming that ruling's line in the Rulings section as thespecskill's "Steps / A ruling" says.(ruling A)for a step of a list taken under--self-rule, naming that run's Open item A.
- Every path in the ledger is relative to the repository root.
- Every command in the ledger names the directory it runs from.
- The templates and this file carry no history: the ledger records decisions with their dates in
plan.md's rulings list.
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.

