Planning
Create and manage implementation plans: Plans.md management for framework-driven workflows + comprehensive plan writing methodology for any project. Use before touching code.From its SKILL.md
npx -y skills add asong56/skills --skill planningAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 22 days oldThe repository was created 22 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
18.9 KB, ~4.9k tokens by cl100k_base, as published. Nobody here has run it
Harness Plan
planning(plan-with-agent) — → Plans.mdplans-management—sync-status— Plans.md
Quick Reference
|------------|------------|------|
| / /FRM-plan create | create | Spec delta / skip reason → Plans.md task |
| / /FRM-plan add | add | Plans.md |
| / /FRM-plan update | update | cc: |
| / /FRM-plan sync | sync | Plans.md |
| /FRM-sync | sync | sync surface |
| /FRM-plan create | create | spec.md / Plans.md |
| /FRM-plan list | list | plans/manifest.json named Plans |
| /FRM-plan switch <name> | switch | active plan .claude/state/active-plan.json |
Literal companion commandsCC 2.1.108+
/undo:/rewindplan
See references/planning-quality.md
FRM-plan spec.md product contract and Plans.md task contract co-required planning output planning surface
precedence spec.md > sub-spec > Plans.md
Plans.md task ledgerroot spec.md product contract
/FRM-plan create Spec delta Spec skip reason Plans.md task
Spec delta Spec skip reason
Spec delta / Spec skip reason Harness consumer
Non-trivial planning gate:
non-trivial task / file / session / product behavior / API / data model / / / / / Task tool Product / Architecture / Security / QA / Skeptic
non-trivial planning
team_validation_mode:not_required_lightweight/native/subagent/manual-pass/unavailablespec.md/ sub-spec /Plans.md- FRM-mem / FRM-recall / repo memory
- lint / formatter baseline source code changes plan task setup task
- test / smoke / CI / review / release gate task DoD
task team_validation_mode: not_required_lightweight
non-trivial planning native / subagent / manual-pass
unavailable Required
Product / Architecture / Security / QA / Skeptic perspective agent_type
TeamAgent / Task perspective agent spawn
.env secret read Risk Gate guard / evidence
****:
-
create -
addproduct behavior / API / / / / task -
marker
update -
status
sync -
typoformatREADME/CHANGELOG
****:
3. root spec.mdPlans.mdREADMEdocsCLAUDE.md skill
4. FRM-mem / FRM-recall / .claude/agent-memory/ / .claude/state/ project-scoped
5. non-trivial planning TeamAgent / Task Product / Architecture / Security / QA / Skeptic
6. source code changes plan lint / formatter baseline setup task
7. Required / Recommended / Optional / Reject
9. root spec.md / Plans.md / test task
create —
****:
4. WebSearch
6. **spec.md / Plans.md **Spec delta Spec skip reason + Plans.md task
7. Required / Recommended / Optional / Reject
9. Plans.md cc:TODO
spec.md / Plans.md
Plans.md task contractroot spec.md product contract
co-required planning output precedence spec.md > sub-spec > Plans.md
Plans.md root spec.md
create product-impacting add root spec.md
- root
spec.md - consumer repo root
spec.mdproject spec / architecture / product compass - consumer repo root
spec.mddocs/spec/00-project-spec.md
-
product behavior task
-
typoformatdependency bumpREADME/CHANGELOG
-
refactor
-
Spec delta: product contract spec path -
Spec skip reason: product contract -
Spec delta/Spec skip reasonHarness consumer -
docs-only / mechanical task
Spec skip reasontask context / sprint contract -
missing search resultunavailable memory absent
not_observed != absent -
docs/plans/spec-ssot.md -
:
claude -
:
/FRM-work <task> -
:
claude -
:
/breezing all -
:
/FRM-work all -
:
ENABLE_PROMPT_CACHING_1H=1 claude -
:
/FRM-loop all -
:
/breezing all
:
: /breezing all
: ENABLE_PROMPT_CACHING_1H=1 claude
: /FRM-loop all
scripts/claude-longrun.shplugin install consumer- consumer
ENABLE_PROMPT_CACHING_1H=1 claude1 bash scripts/claude-longrun.shcheckout
**CI ** (--ci):
add —
product-impacting spec.md / Plans.md Spec delta Spec skip reason
/FRM-plan add : [--phase ]
update —
/FRM-plan update [|] [WIP||blocked]
|---------|---------|
| WIP | cc:WIP |
| `` / done | cc: |
| blocked | blocked |
| TODO | cc:TODO |
sync —
****:
- Plans.md
- Plans.md v1: 3 / v2: 5
- git status / git log
.claude/state/agent-trace.jsonl- Plans.md
sync --no-retro
team mode / issue bridge
Plans.md GitHub Issue opt-in team mode
-
solo bridge
-
team mode tracking issue 1 task sub-issue payload dry-run
-
scripts/plans-issue-bridge.shGitHub dry-run payload -
Plans.md bridge
-
docs/plans/team-mode.md
named Plans
Plans.md plans/manifest.json
scripts/plan-registry.sh list
scripts/plan-registry.sh switch roadmap
scripts/plans-issue-bridge.sh --plan roadmap --format markdown
node scripts/generate-sprint-contract.js --plan roadmap 9.1.1
-
1 run 1 named plan
-
long-running / CI / issue bridge active pointer
--plan <name> -
manifest path project root
..repo symlink -
docs/plans/named-plans.md
Plans.md
# [] Plans.md
: YYYY-MM-DD
---
## Phase N:
| Task | | DoD | Depends | Status |
|------|------|-----|---------|--------|
| N.1 | | | - | cc:TODO |
| N.2 | | lint 0 | N.1 | cc:WIP |
| N.3 | | | N.1, N.2 | cc: |
Depends: -``N.1``N.1, N.2``Phase N
TDD tags
tdd_required | ||
|---|---|---|
[tdd:required] | task | true |
[tdd:skip:<reason>] | task TDD | false, skip_tdd_reason=<reason> |
<reason>
: [tdd:skip:docs-only]``[tdd:skip:no-test-framework-detected]
- Plans.md tag:
[tdd:required]/[tdd:skip:<reason>] - files:
src/,app/,cmd/,lib/,pkg/,internal/,go/source required - TDD : docs-only test framework skip reason not required
optional briefs / manifest
FRM-plan create brief
-
project spec SSOT project
-
UI
design brief -
API
contract brief -
skill frontmatter
scripts/generate-skill-manifest.shmachine-readable JSON -
docs/plans/briefs-manifest.md -
docs/plans/spec-ssot.md
|---------|------|
| pm: | PM |
| cc:TODO | |
| cc:WIP | |
| cc: | Worker |
| pm: | PM |
| blocked | |
FRM-sync— Plans.mdFRM-work—FRM-review—FRM-setup—
writing-plans
Writing Plans
Overview
Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.
Announce at start: "I'm using the writing-plans skill to create the implementation plan."
Context: If working in an isolated worktree, it should have been created via the using-git-worktrees skill at execution time.
Save plans to: docs/skills/plans/YYYY-MM-DD-<feature-name>.md
- (User preferences for plan location override this default)
Scope Check
If the spec covers multiple independent subsystems, it should have been broken into sub-project specs during brainstorming. If it wasn't, suggest breaking this into separate plans — one per subsystem. Each plan should produce working, testable software on its own.
File Structure
Before defining tasks, map out which files will be created or modified and what each one is responsible for. This is where decomposition decisions get locked in.
- Design units with clear boundaries and well-defined interfaces. Each file should have one clear responsibility.
- You reason best about code you can hold in context at once, and your edits are more reliable when files are focused. Prefer smaller, focused files over large ones that do too much.
- Files that change together should live together. Split by responsibility, not by technical layer.
- In existing codebases, follow established patterns. If the codebase uses large files, don't unilaterally restructure - but if a file you're modifying has grown unwieldy, including a split in the plan is reasonable.
This structure informs the task decomposition. Each task should produce self-contained changes that make sense independently.
Bite-Sized Task Granularity
Each step is one action (2-5 minutes):
- "Write the failing test" - step
- "Run it to make sure it fails" - step
- "Implement the minimal code to make the test pass" - step
- "Run the tests and make sure they pass" - step
- "Commit" - step
Plan Document Header
Every plan MUST start with this header:
# [Feature Name] Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use subagent-driven-development (recommended) or skills:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
---
Task Structure
### Task N: [Component Name]
**Files:**
- Create: `exact/path/to/file.py`
- Modify: `exact/path/to/existing.py:123-145`
- Test: `tests/exact/path/to/test.py`
- [ ] **Step 1: Write the failing test**
```python
def test_specific_behavior():
result = function(input)
assert result == expected
```
- [ ] **Step 2: Run test to verify it fails**
Run: `pytest tests/path/test.py::test_name -v`
Expected: FAIL with "function not defined"
- [ ] **Step 3: Write minimal implementation**
```python
def function(input):
return expected
```
- [ ] **Step 4: Run test to verify it passes**
Run: `pytest tests/path/test.py::test_name -v`
Expected: PASS
- [ ] **Step 5: Commit**
```bash
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature"
```
No Placeholders
Every step must contain the actual content an engineer needs. These are plan failures — never write them:
- "TBD", "TODO", "implement later", "fill in details"
- "Add appropriate error handling" / "add validation" / "handle edge cases"
- "Write tests for the above" (without actual test code)
- "Similar to Task N" (repeat the code — the engineer may be reading tasks out of order)
- Steps that describe what to do without showing how (code blocks required for code steps)
- References to types, functions, or methods not defined in any task
Remember
- Exact file paths always
- Complete code in every step — if a step changes code, show the code
- Exact commands with expected output
- DRY, YAGNI, TDD, frequent commits
Self-Review
After writing the complete plan, look at the spec with fresh eyes and check the plan against it. This is a checklist you run yourself — not a subagent dispatch.
1. Spec coverage: Skim each section/requirement in the spec. Can you point to a task that implements it? List any gaps.
2. Placeholder scan: Search your plan for red flags — any of the patterns from the "No Placeholders" section above. Fix them.
3. Type consistency: Do the types, method signatures, and property names you used in later tasks match what you defined in earlier tasks? A function called clearLayers() in Task 3 but clearFullLayers() in Task 7 is a bug.
If you find issues, fix them inline. No need to re-review — just fix and move on. If you find a spec requirement with no task, add the task.
Execution Handoff
After saving the plan, offer execution choice:
"Plan complete and saved to docs/skills/plans/<filename>.md. Two execution options:
1. Subagent-Driven (recommended) - I dispatch a fresh subagent per task, review between tasks, fast iteration
2. Inline Execution - Execute tasks in this session using executing-plans, batch execution with checkpoints
Which approach?"
If Subagent-Driven chosen:
- REQUIRED SUB-SKILL: Use subagent-driven-development
- Fresh subagent per task + two-stage review
If Inline Execution chosen:
- REQUIRED SUB-SKILL: Use skills:executing-plans
- Batch execution with checkpoints for review
Task Breakdown Methodology (agent-skills)
Planning and Task Breakdown
Overview
Decompose work into small, verifiable tasks with explicit acceptance criteria. Good task breakdown is the difference between an agent that completes work reliably and one that produces a tangled mess. Every task should be small enough to implement, test, and verify in a single focused session.
When to Use
- You have a spec and need to break it into implementable units
- A task feels too large or vague to start
- Work needs to be parallelized across multiple agents or sessions
- You need to communicate scope to a human
- The implementation order isn't obvious
When NOT to use: Single-file changes with obvious scope, or when the spec already contains well-defined tasks.
The Planning Process
Step 1: Enter Plan Mode
Before writing any code, operate in read-only mode:
- Read the spec and relevant codebase sections
- Identify existing patterns and conventions
- Map dependencies between components
- Note risks and unknowns
Do NOT write code during planning. The output is a plan document, not implementation.
Step 2: Identify the Dependency Graph
Map what depends on what:
Database schema
│
├── API models/types
│ │
│ ├── API endpoints
│ │ │
│ │ └── Frontend API client
│ │ │
│ │ └── UI components
│ │
│ └── Validation logic
│
└── Seed data / migrations
Implementation order follows the dependency graph bottom-up: build foundations first.
Step 3: Slice Vertically
Instead of building all the database, then all the API, then all the UI — build one complete feature path at a time:
Bad (horizontal slicing):
Task 1: Build entire database schema
Task 2: Build all API endpoints
Task 3: Build all UI components
Task 4: Connect everything
Good (vertical slicing):
Task 1: User can create an account (schema + API + UI for registration)
Task 2: User can log in (auth schema + API + UI for login)
Task 3: User can create a task (task schema + API + UI for creation)
Task 4: User can view task list (query + API + UI for list view)
Each vertical slice delivers working, testable functionality.
Step 4: Write Tasks
Each task follows this structure:
## Task [N]: [Short descriptive title]
**Description:** One paragraph explaining what this task accomplishes.
**Acceptance criteria:**
- [ ] [Specific, testable condition]
- [ ] [Specific, testable condition]
**Verification:**
- [ ] Tests pass: `npm test -- --grep "feature-name"`
- [ ] Build succeeds: `npm run build`
- [ ] Manual check: [description of what to verify]
**Dependencies:** [Task numbers this depends on, or "None"]
**Files likely touched:**
- `src/path/to/file.ts`
- `tests/path/to/test.ts`
**Estimated scope:** [Small: 1-2 files | Medium: 3-5 files | Large: 5+ files]
Step 5: Order and Checkpoint
Arrange tasks so that:
- Dependencies are satisfied (build foundation first)
- Each task leaves the system in a working state
- Verification checkpoints occur after every 2-3 tasks
- High-risk tasks are early (fail fast)
Add explicit checkpoints:
## Checkpoint: After Tasks 1-3
- [ ] All tests pass
- [ ] Application builds without errors
- [ ] Core user flow works end-to-end
- [ ] Review with human before proceeding
Task Sizing Guidelines
| Size | Files | Scope | Example |
|---|---|---|---|
| XS | 1 | Single function or config change | Add a validation rule |
| S | 1-2 | One component or endpoint | Add a new API endpoint |
| M | 3-5 | One feature slice | User registration flow |
| L | 5-8 | Multi-component feature | Search with filtering and pagination |
| XL | 8+ | Too large — break it down further | — |
If a task is L or larger, it should be broken into smaller tasks. An agent performs best on S and M tasks.
When to break a task down further:
- It would take more than one focused session (roughly 2+ hours of agent work)
- You cannot describe the acceptance criteria in 3 or fewer bullet points
- It touches two or more independent subsystems (e.g., auth and billing)
- You find yourself writing "and" in the task title (a sign it is two tasks)
Plan Document Template
# Implementation Plan: [Feature/Project Name]
## Overview
[One paragraph summary of what we're building]
## Architecture Decisions
- [Key decision 1 and rationale]
- [Key decision 2 and rationale]
## Task List
### Phase 1: Foundation
- [ ] Task 1: ...
- [ ] Task 2: ...
### Checkpoint: Foundation
- [ ] Tests pass, builds clean
### Phase 2: Core Features
- [ ] Task 3: ...
- [ ] Task 4: ...
### Checkpoint: Core Features
- [ ] End-to-end flow works
### Phase 3: Polish
- [ ] Task 5: ...
- [ ] Task 6: ...
### Checkpoint: Complete
- [ ] All acceptance criteria met
- [ ] Ready for review
## Risks and Mitigations
| Risk | Impact | Mitigation |
|------|--------|------------|
| [Risk] | [High/Med/Low] | [Strategy] |
## Open Questions
- [Question needing human input]
Parallelization Opportunities
When multiple agents or sessions are available:
- Safe to parallelize: Independent feature slices, tests for already-implemented features, documentation
- Must be sequential: Database migrations, shared state changes, dependency chains
- Needs coordination: Features that share an API contract (define the contract first, then parallelize)
Common Rationalizations
| Rationalization | Reality |
|---|---|
| "I'll figure it out as I go" | That's how you end up with a tangled mess and rework. 10 minutes of planning saves hours. |
| "The tasks are obvious" | Write them down anyway. Explicit tasks surface hidden dependencies and forgotten edge cases. |
| "Planning is overhead" | Planning is the task. Implementation without a plan is just typing. |
| "I can hold it all in my head" | Context windows are finite. Written plans survive session boundaries and compaction. |
Red Flags
- Starting implementation without a written task list
- Tasks that say "implement the feature" without acceptance criteria
- No verification steps in the plan
- All tasks are XL-sized
- No checkpoints between tasks
- Dependency order isn't considered
Verification
Before starting implementation, confirm:
- Every task has acceptance criteria
- Every task has a verification step
- Task dependencies are identified and ordered correctly
- No task touches more than ~5 files
- Checkpoints exist between major phases
- The human has reviewed and approved the plan
What ships with it: 3 files
12.9 KB alongside SKILL.md
FRM-plan-references/
- create.md6.4 KB
- planning-quality.md4.7 KB
- sync.md1.8 KB