agentleFS
haiggohhaiggoh/run-to-completion/skills/writing-execution-plans/SKILL.md

writing-execution-plans

Skill1 starsChanged 13 days agoMITView on GitHub

Use together with a general plan-writing skill when the plan will be executed by a DIFFERENT executor than the session writing it (a handoff, a successor session, a free or local model, an overnight or unattended run), when it crosses permission boundaries beyond editing and committing (publishing, merging, tagging, releasing, deploying, live services, spending, downloads, process control), or when it touches shared or live state (a checkout other tooling resolves through, a running runtime). Adds the execution-safety layer: an authority matrix, a forced Phase 0 preflight, receipts with a known-bad discriminant, side-effect classification, and an adversarial review. Do NOT use alone for decomposition, and skip it when the writing session executes a repo-local plan itself.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Phase 0, forced preflight: Before any mutation, the executor writes exactly three sentences connecting the first phase to the final …

    line 32
  2. Distinctive:

    Receipts, not checkboxes: Every phase ends with the command run, its expected observation and exit status, and the state invariant checked.

    line 37
  3. Distinctive:

    Write standing rules blunt and numbered: the executor has no incident context, so a ban may outrun its mechanism there.

    line 58
  4. Very specific:

    When you begin working under this skill, lead your first substantive reply with "🏃 run-to-completion:" so the user can see which plugin …

    line 70

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

writing-execution-plans — the execution-safety layer on top of a plan

A general plan-writing skill decides what gets built: decomposition, tasks, interfaces, test steps, self-review, execution handoff. This layer does not restate any of that. It adds what a plan needs when the reader is not its author: the executor has no chat history, may be a smaller model, and cannot ask. Template: references/plan-template.md.

When the layer is needed (any one is enough)

  • Different executor. Someone other than this session runs it: a handoff, a successor, a delegated model, an unattended run.
  • Permission boundary. Any operation past edit + local commit: publishing, merge, tag, release, deploy, live services or APIs, money, large downloads, killing or restarting processes, user config.
  • Shared or live state. A checkout other tooling resolves through, uncommitted work that is not the executor's, a runtime that other sessions use.

None of these? The base plan is enough; do not add this layer for ceremony.

What the layer adds

  1. Self-contained context. Label every fact confirmed live, dated observation, decision or unknown to inspect. Never present a guessed path or command as proven. No secrets.
  2. Authority matrix. For each operation: allowed now / allowed after a named gate / needs separate user permission / prohibited. Silence is not permission. Clearance for one boundary never implies the next: publishing a branch does not authorize a merge, a merge does not authorize a release. State the highest granted boundary in the opening rules AND in the final phase.
  3. Phase 0, forced preflight. Before any mutation, the executor writes exactly three sentences connecting the first phase to the final outcome, then does read-only discovery: the right source (not a build output, cache or similarly named copy), dirty and untracked paths, the test command and a baseline run, tool availability. A new worktree starts from committed history; uncommitted work does not come along. Unverifiable prerequisite ⇒ pause the dependent work.
  4. Receipts, not checkboxes. Every phase ends with the command run, its expected observation and exit status, and the state invariant checked. "Not tested" is said as such, never as passed. On an unexpected failure: stop that phase, diagnose, fix, rerun, show both runs.
  5. A known-bad discriminant per important behaviour. A planted bad fixture or an isolated temporary mutation must turn the check red before the good case counts as green. Never plant faults in live files or services. If an assertion contradicts a verified fact, inspect the instrument; never weaken the test.
  6. Side-effect classification. Name every step that can spend, download, change credentials, kill processes, overwrite data or alter terminal state, and route its routine verification through mocks, stubs, temp dirs, scratch ports and synthetic credentials. A --dry-run is not presumed harmless: the plan says how its implementation was checked.
  7. Adversarial review. For each credible risk, one line: tempting shortcut → plausible false success → concrete harm → preventive rule → the test or receipt that detects it. Always consider: wrong checkout, dirty work missing from a worktree, guessed tool schema, a pipeline hiding a non-zero exit, a rewrite from a fragment, a green-but-inert test, secrets in receipts, one entry point updated while others are not, and a lower permission read as a higher one.
  8. Final delivery questions. What is implemented versus only planned? Which receipts actually ran? Is user work preserved? Did the run stop at its authority boundary? State blockers plainly.

Writing for the executor

Write standing rules blunt and numbered: the executor has no incident context, so a ban may outrun its mechanism there. Keep one authoritative version of the plan; reread the delivered file itself before handing it over.

When NOT to use this

  • Planning that this session will execute itself, inside one repository, with edits and tests only.
  • As a replacement for the base plan-writing skill: decomposition, task granularity and test steps come from there.

Branding (🏃)

When you begin working under this skill, lead your first substantive reply with "🏃 run-to-completion:" so the user can see which plugin just became active — whichever of the plugin's skills loaded.

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.