agentleFS
theishandubeytheishandubey/dotclaude/skills/plan-handoff/SKILL.md

plan-handoff

Skill2 starsChanged 27 days agoMITView on GitHub

How planning advisors write implementation and rollout plans for a worker with zero context - file location, numbering, the plan template, the index and the quality bar. Preloaded by architect, backend-engineer, frontend-engineer and sre.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 8 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    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. Distinctive:

    Every plan is executed by a cheaper model that has seen nothing but the plan and the repo.

    line 9
  2. Very specific:

    Keep the index in plans/README.md.

    line 16
  3. Very specific:

    If plans/ already exists, read the index first: keep numbering monotonic, skip work already planned or rejected, and mark a superseded plan …

    line 17
  4. Very specific:

    If plans/ serves an unrelated purpose, use advisor-plans/ instead and say so.

    line 18
  5. Distinctive:

    Write nothing else, scratch files included.

    line 21
  6. Distinctive:

    If the guard blocks a plan, return its full text under its target path in your answer.

    line 22
  7. Distinctive:

    Every Verify is a command with its expected result, never a judgment.

    line 29
  8. Distinctive:

    STOP conditions name this plan's real risks, not boilerplate.

    line 30
  9. Distinctive:

    No secret values anywhere: name locations and credential types only.

    line 31
  10. Distinctive:

    Before finishing each plan, check:

    line 142
  11. Distinctive:

    Do the drift-check paths match the in-scope list?

    line 146

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

Every plan is executed by a cheaper model that has seen nothing but the plan and the repo. It follows explicit instructions well and fills gaps badly, so the plan carries all context, verifies every step with a command, and says exactly when to stop.

Where plans go

  • One plan per independently executable unit of work, at plans/NNN-<slug>.md in the repository root, numbered in execution order. In a multi-repo workspace whose plans/ sits above the repos, use that one.
  • Keep the index in plans/README.md. If plans/ already exists, read the index first: keep numbering monotonic, skip work already planned or rejected, and mark a superseded plan REJECTED with the number that replaces it.
  • If plans/ serves an unrelated purpose, use advisor-plans/ instead and say so. plans/mode/ holds plan-mode files; it does not make plans/ unrelated, and you leave it alone.
  • Your write guard allows exactly these files besides your memory. Write nothing else, scratch files included. If the guard blocks a plan, return its full text under its target path in your answer.
  • Finish your answer with each plan's path and a one-line summary.

Rules

  • Fill Planned at from git rev-parse --short HEAD, and inline every excerpt from your own reads.
  • Name exact files and symbols, never "the relevant module".
  • Every Verify is a command with its expected result, never a judgment.
  • STOP conditions name this plan's real risks, not boilerplate.
  • No secret values anywhere: name locations and credential types only.
  • Name the logic the implementer covers with unit tests, and the user flows to cover end to end only when the user asked for end-to-end tests; put the test files in scope, and let Verify commands run the build, type-checker, linter and those tests only.
  • Executors in place never branch or commit; a parallel-implementer commits on its worktree branch and never pushes.
  • Mark every step that mutates shared or production state (apply, migrate, delete, scale, restart, deploy) REQUIRES HUMAN APPROVAL.
  • A plan that changes a schema, infrastructure or a deploy ends with a Rollback section whose steps have their own Verify commands.
  • Plans that may run in parallel share no in-scope file; say which ones in the index's dependency notes.
  • End your answer with Confidence: high, medium or low, then the structural questions you could not settle. Say low whenever the recommendation rests on facts you could not verify; the orchestrator takes low-confidence plans to the user.

Template

# Plan NNN: <imperative title - what is true after this plan>

> Executor: run the drift check first. Follow the steps in order and run every Verify before the next step.
> On any STOP condition, stop and report. Do not edit `plans/README.md`; the orchestrator maintains it.
>
> Drift check: `git diff --stat <planned-at SHA>..HEAD -- <in-scope paths>`
> If an in-scope file changed, compare it with Current state; a mismatch is a STOP condition.

## Status

- Priority: P1 | P2 | P3
- Effort: S | M | L
- Risk: LOW | MED | HIGH
- Depends on: plans/NNN-*.md or none
- Planned at: `<short SHA>`, <YYYY-MM-DD>

## Why this matters

2-5 sentences: the problem, its cost, what improves. Intent lets the executor judge a detail that is off.

## Current state

- Each relevant file with one line on its role.
- Short excerpts of today's code with `file:line` markers.
- The conventions that apply, each with one exemplar file to match.
- Vocabulary, design tokens or ADR decisions the work must honor, quoted.

## Commands

| Purpose | Command | Expected |
|---|---|---|
| Install | ... | exit 0 |
| Build or typecheck | ... | exit 0 |
| Lint | ... | exit 0 |

## Scope

In scope (the only files to create or modify):
- `path`

Out of scope (do not touch), each with why:
- `path` - reason

## Steps

### Step 1: <imperative title>

What to do, with exact files and symbols, and the target code shape when it matters.

Verify: `<command>` -> <expected result>

## Checks

The existing build, type-check and lint commands to run at the end.

## Done criteria

- [ ] Each a machine-checkable condition.
- [ ] Nothing outside the in-scope list changed (`git status`).

## STOP conditions

- The code does not match Current state.
- A Verify fails twice after a reasonable fix.
- The work needs an out-of-scope file.
- <this plan's own risks>

## Rollback

(Only for schema, infrastructure and deploy changes.) Steps and triggers, each with Verify.

## Notes for reviewers

What to scrutinize, and follow-ups deliberately left out.

Index

# Plans

| Plan | Title | Priority | Effort | Depends on | Status |
|---|---|---|---|---|---|
| 001 | ... | P1 | S | - | TODO |

Status: TODO | IN PROGRESS | DONE | BLOCKED (reason) | REJECTED (reason)

## Dependency notes

- 002 needs 001 because ...
- 003 and 004 can run in parallel.

## Considered and rejected

- <idea>: <one-line reason>

Quality bar

Before finishing each plan, check:

  • Could a model that never saw this repo or conversation execute it from the plan and the repo alone?
  • Does every step end in a command with an expected result?
  • Would a reviewer reading only Why this matters and Done criteria know what they approve?
  • Do the drift-check paths match the in-scope list?

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.