agentleFS
javierbreajavierbrea/eslint-plugin-boundaries/.agents/skills/write-plan/SKILL.md

write-plan

Skill1k starsChanged 11 days agoMITView on GitHub

Write or update an implementation plan in .agents/plans/ for work that spans several pull requests or sessions — an index plus one file per phase, each self-contained for an agent with no other context — including how the plan is shared on an integration branch, removed before merging into release, and re-analyzed and updated at the start of every phase with a preview for the maintainer. Use when asked to plan a feature, break an RFC or an issue into phases, write or update a plan, or start a phase of an existing plan.

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 2

    Distinctive

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

    Use it for any work that needs more than one pull request, or that more than one session will implement.

    line 11
  2. Distinctive:

    Check that the later phases still fit, and adjust them: scope moved, preconditions changed, hand-offs renamed.

    line 68
  3. Distinctive:

    Commit the approved edit on the integration branch and push it, then start the implementation on the phase branch.

    line 71

“Common” is measured: kept by at least 6 in 10 of the 18 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.

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

Write plan

When to use this skill

Use it for any work that needs more than one pull request, or that more than one session will implement. A single-PR task that one session implements does not need a plan: its issue is enough. Write every file with the writing-style skill.

Layout

.agents/plans/<name>.md             index
.agents/plans/<name>/00-shared.md   facts two or more phases need (optional)
.agents/plans/<name>/NN-<phase>.md  one file per phase
.agents/plans/<name>/<assets>       mockups, renders, data the phases need

<name> is the feature in kebab-case (website-redesign, playground). Phases are numbered in the order they are expected to run; a phase that is dropped keeps its number out of the sequence rather than renumbering the rest.

Where it lives

.agents/plans/ is git-ignored (root AGENTS.md) and a plan is a working document, not a committed artifact: no committed file may depend on it.

A plan that several sessions share is committed on the feature's integration branch, never on release or master:

  1. Replace .agents/plans/ in .gitignore with .agents/plans/* followed by !.agents/plans/<name>.md and !.agents/plans/<name>/, with a comment saying the plan is removed before the branch merges into release.
  2. The last phase of the plan moves any fact that must outlive it into an AGENTS.md, a rule or a skill, then removes the plan and the .gitignore exception, in its own pull request against the integration branch, merged last.
  3. Plan edits are their own commits on the integration branch (chore(<scope>): update the <name> plan after phase N), pushed so that every session sees them, never only on a phase branch.
  4. A phase branch starts from the branch its pull request targets. A phase that targets release never commits plan files; its session reads the plan from the integration branch (git show origin/<branch>:.agents/plans/<name>.md).

The index

The index is what a session reads first. It holds, in this order:

  • A status line with the date and what is merged, open or pending. It is rewritten at every update, never appended to.
  • Where the plan lives (its integration branch) and a pointer to the "Where it lives" and "Starting a phase" sections of this skill.
  • A table of the files with "read it when".
  • A table of the phases: phase, issue, branch, depends on, PR target and title.
  • The integration plan: which branches exist, what merges where and when, and what is released or deployed by which merge. Point to .github/CONTRIBUTING.md for the branching model instead of restating it.
  • Decisions already taken, numbered, each in one sentence with a link to where it was taken (RFC, issue, review). A session does not reopen them.
  • Open questions, each with who decides it and the phase that needs the answer.

A phase file

Written so that an agent can implement the phase with no other context than this file, the index, 00-shared.md and the repository's own agent files. It holds:

  • Goal: one paragraph, what exists when the phase is done.
  • Issue and PR: the issue it closes, the branch name, the PR target and title, the changelog entries expected, what the PR description must show (screenshots, measurements, checklists).
  • Read first: the repository files and external documents the phase depends on, each with why.
  • Preconditions: what must be merged or decided before it starts.
  • Scope: what is in, what is out, and what is handed to a later phase.
  • Steps: grouped by concern, each naming the files it creates or changes and the behavior expected, in enough detail to be verified but without copying code the agent can read in the repository. Point to an existing file as the model to follow when there is one.
  • Verification: the commands and quality gates that must pass, and how each acceptance criterion of the issue is checked.
  • Hand-offs: facts later phases take from this one (names, interfaces, decisions to confirm).
  • Open points: what the implementing session must decide or ask, with the default to take when nobody answers.

00-shared.md holds every fact that two or more phases need (environment, commands, branching, conventions specific to the plan, quality gates, definition of done). Phase files add only what is specific to them.

Starting a phase

The first task of every phase is to bring the plan up to date, because what earlier phases found changes what later ones must do:

  1. Re-read the phase's sources (RFC, issue, the code it touches, what the previous phases' pull requests recorded) and extend or correct the phase file: missing steps, wrong facts, decisions that are now taken.
  2. Check that the later phases still fit, and adjust them: scope moved, preconditions changed, hand-offs renamed.
  3. Rewrite the index status line and anything in the index the changes affect.
  4. Show the maintainer the diff of the plan with a short explanation of what changes and why, and wait for approval. Nothing of the plan is committed before it.
  5. Commit the approved edit on the integration branch and push it, then start the implementation on the phase branch.

During the phase, a deviation from the plan is recorded in the pull request description and in the plan (same procedure: preview, then commit on the integration branch). The next phase starts from a plan that is already true.

Notes

  • Dates are absolute (2026-10-25), never relative.
  • A plan names only what exists or what it creates; a renamed file or command is renamed in the plan in the same change.
  • Facts that stay true after the work is done (layering, constraints, conventions) do not belong in the plan: they go to the project's AGENTS.md, a rule or a skill as part of the phase that establishes them, and the plan points there.

Download now (ZIP)

  • Other versions24 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 24

    1. foambubble/foam★ 17ksame name
    2. Arman-Kudaibergenov/1c-ai-development-kit★ 163same name
    3. alamops/skills★ 53same name
    4. Ovich/charrette★ 13same name
    5. Ovich/swarmstorm★ 13same name
    6. ariadoss/superskills★ 12same name
    7. nikhilw/structured-agentic-workflow★ 6same name
    8. preetamnath/agent-skills★ 4same name
    9. Gusen1453/creed★ 3same name
    10. arcadesunlabs/skills★ 2same name

    14 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.

  • Used alongsideProjects with it also use finish-branch, write-spec and 7 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.
    • ariadossSkill

      finish-branch

      Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

      Also in 3 projects that use this

    • AnthropicSkill

      write-spec

      Write a feature spec or PRD from a problem statement or feature idea. Use when turning a vague idea or user request into a structured document, scoping a feature with goals and non-goals, defining success metrics and acceptance criteria, or breaking a big ask into a phased spec.

      Also in 5 projects that use this

    • TheKREATORSSkill

      execute-plan

      Deprecated - use the superpowers:executing-plans skill instead

      Also in 6 projects that use this

    • Hugging FaceSkill

      implement

      Make tests pass. Invoke after /write-tests produces failing tests.

      Also in 3 projects that use this

    • Google CloudSkill

      triage

      Gather context on a change or bug and plan the implementation.

      Also in 3 projects that use this

    • GoogleSkill

      tdd

      Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

      Also in 4 projects that use this

  • In this repository12 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

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.