agentleFS
maroffomaroffo/claude-forge/skills/plan-forge/SKILL.md

plan-forge

Skill17 starsChanged 50 days agoMITView on GitHub

Turn a GitHub issue or an in-session analysis into a locked ExecPlan on disk plus a ready-to-paste implementation prompt and /goal line for a fresh session using opus subagents in a separate worktree. Use when user says plan-forge, issue to plan, prepara il piano, piano di implementazione, fai il piano per la issue N, forge a plan. Runs deep code analysis, /second-opinion on the approach, writes quality_reports/plans/active/ with decisions table, tasklist, exhaustive E2E matrix, DoD. Not for implementing (the emitted prompt drives that), not for trivial SKIP_SET fixes, not for ADRs (use adr).

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

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    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:

    Every mechanic claimed by the issue or discussion gets verified in the actual code (file:line) before it enters the plan.

    line 16
  2. Distinctive:

    If neither gives a crisp problem statement, ask at most 1-2 clarifying questions (AskUserQuestion), then proceed.

    line 24
  3. Very specific:

    Read the actual code paths involved.

    line 28

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

ABOUTME: Issue or in-session analysis to locked ExecPlan + implementation prompt + /goal line

ABOUTME: Deep code analysis, 3-lab second opinion, plan on disk, delegation prompt for opus subagents in a worktree

Plan Forge

The planning session (main loop) does analysis and planning; implementation is delegated to a FRESH session driving opus software-engineer subagents in a separate worktree, held to the plan by a /goal line.

Quality Notes

  • Every mechanic claimed by the issue or discussion gets verified in the actual code (file:line) before it enters the plan. Never plan from memory or from the issue text alone.
  • The plan is the source of truth for a session that has NO chat context. Self-containment test: could a fresh session execute from the plan file alone?
  • Locked decisions are locked: the implementing session must not relitigate them.

Step 0: Resolve the input

  • Issue mode: gh issue view <N> --repo <org/repo> --json title,body,comments. Read refs it cites (ADRs, prior PRs).
  • Analysis mode: the problem was already dissected in this session; consolidate that.
  • If neither gives a crisp problem statement, ask at most 1-2 clarifying questions (AskUserQuestion), then proceed.

Step 1: Deep analysis (code-level, evidence-first)

  1. Read the actual code paths involved. Cite file:line for every mechanic (detection surface, write path, config default, ...). Grep, do not assume.
  2. State the root cause or design gap in one paragraph a reviewer could falsify.
  3. Enumerate candidate approaches INCLUDING rejected ones with the reason (rejections are load-bearing for the second opinion and the plan).
  4. Note blast radius: which packages, which tests, hot-path or not (check the repo's perf-gate rule; mirsad: internal/{lsh,pii,decode,control,adapter,proxy,cache}).

Step 2: Second opinion (mandatory for non-trivial work)

Invoke the second-opinion skill with: problem context + verbatim code excerpts + your recommendation + rejected alternatives + 3-5 explicit questions (hidden flaws? failure paths not closed? false-positive/false-block scenarios? operational semantics like metrics/reasons?).

Fold every hard requirement the reviewers surface back into the locked decisions, citing which reviewer (e.g. "full-chain verify, Claude isolated, must-fix"). Skip the second opinion only when the task is mechanical plumbing with one obvious shape; say so explicitly.

Step 3: Write the ExecPlan to disk

Path: quality_reports/plans/active/YYYY-MM-DD_<slug>.md in the target repo (worktree-safe path if the session is isolated). Follow references/plan-template.md exactly. Non-negotiables:

  • Analysis section marked "verified, do not re-derive", with file:line evidence.
  • Locked design-decisions table (append-only afterwards).
  • W0 = REPRODUCE-first for any bugfix: a failing test recorded RED before one line of fix code.
  • E2E matrix WITH an exhaustiveness note (the union rationale; forbid combinatorial padding).
  • Wherever that matrix exists, its Depth column (3★ behavior+edge+error / 2★ happy path / 1★ smoke) and its computed COVERAGE: n/m paths (p%) footer are mandatory, not optional decoration.
  • DoD includes: fresh pristine VERIFY after last edit; BENCH-BASELINE/bench-compare when hot-path; review fleet (minimum security + architecture + test, or the repo's file-routing); PR to the integration branch NOT merged; SCORE: <n>/100 (threshold: 90, gate: pr); plan updated after every task.
  • Empty living-plan sections: Progress, Surprises & Discoveries, Decisions, Outcomes & Retrospective.

Mirror to vault if Obsidian is up (obsidian create name="Plans/YYYY-MM-DD - <desc>" ... silent); repo copy stays authoritative.

Step 4: Emit the implementation prompt + /goal line

Fill references/impl-prompt-template.md from the plan (repo, branch, plan path, hot-path yes/no, verify commands, reproduce clause). Present BOTH blocks to the user: the prompt to paste into a fresh session, and the /goal line they type immediately after (only the user can set /goal).

The prompt must carry, verbatim from the template: worktree from updated origin/<integration-branch>; plan copied + committed FIRST; bench-baseline pre-edit on a quiet machine when hot-path; REPRODUCE red before fix code; subagents = software-engineer, model opus; shared-worktree git guards; review fleet + fix + re-verify + canonical SCORE; follow-up issues filed; PR opened, never merged by the agent.

Common Issues

IssueSolution
Issue text is vague or aspirationalStep 0 questions; if still fuzzy, stop and say what is missing
A second-opinion reviewer fails (401/timeout)Degrade per that skill: synthesize from survivors, report status line
Plan file name collidesAppend -2 to the slug; never overwrite another task's plan
Target repo lacks make check/e2e equivalentsName the repo's actual verify commands in prompt AND goal line
Hot-path unclearGrep the repo's perf/bench rule; when in doubt, include BENCH-BASELINE (cheap)

References

  • references/plan-template.md: the ExecPlan skeleton (structure is mandatory, prose adapts)
  • references/impl-prompt-template.md: the implementation prompt + /goal templates with placeholders
  • Rules this operationalizes: plan-first-workflow (plan shape, living plans), the orchestrator skill (SCORE format, BENCH-BASELINE, review routing), verification-protocol (REPRODUCE, outcome verification)

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.