plan-writing
Use when you have a spec or requirements for a multi-step task, before touching code
Skill by Fleron
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fleron-plan-writing-3a79e7
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
plan-writing- Description
- Use when you have a spec or requirements for a multi-step task, before touching code
- License
- MIT
- Instructions
- 162 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- plan-reviewer-prompt.md
SKILL.md (first lines)
> **Pipeline position:** stage 2 of 3 — see [`reference/pipeline-flow.md`](../../reference/pipeline-flow.md).
# 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. Assume they have no outside references or knowledge beyond the plan so any references for domain understanding are good to include.
**Announce at start:** "I'm using the plan-writing skill to create the implementation plan."
**Context:** This should be run in a dedicated worktree (created by brainstorming skill).
## Inputs
This skill expects a spec and a handoff. Read both before drafting the plan:
- **Spec path** — read it from the handoff's frontmatter (`spec_path`).
- **Handoff path** — provided by the user when they invoke the skill, or located in `project-docs/specs/`.
If either is missing, stop and ask the user for the path. Do not draft a plan without both inputs.
## Plan home
The plan lives in the **plan-mode plan file** for the current session. Do not write a separate file under `project-docs/plans/`. After the human approves and the user runs `ExitPlanMode`, the plan-mode file is the single source of truth that `subagent-driven-development` consumes.
## 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. Thisq 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
Always ensure the plan is written in proper markdown using frontmatter.
**Every plan MUST start with this frontmatter header:**
```yaml
---
title: "[Feature Name] Implementation Plan"
goal: "One sentence describing what this builds"
architecture: "2-3 sentences about approach"
tech_stack:
- Technology1
spec_path: <ABSOLUTE PATH TO SPEC>
handoff_path: <ABSOLUTE PATH TO HANDOFF>
implementation_method: "<one-line summary of the chosen method>"
skills_to_use:
- claude-scaffolding:subagent-driven-development
- claude-scaffolding:tdd
- claude-scaffolding:finishing-branch
date: YYYY-MM-DD
---
```
## Plan body MUST contain
Near the top of the plan body (under the frontmatter), include these sections — every plan, no exceptions:
1. **Implementation method** — restate the chosen approach in 2-3 sentences and the rationale (why this method over alternatives). Without this, the plan is invalid and must be rewritten.
2. **Files referenced** — the spec, the handoff, and any coding-guidelines files relevant to this work. Use absolute paths.
3. **Skills used during execution** — copy from frontmatter, with a one-line note for each on when it is invoked.
4. **Definition of done** — overall completion criteria. Each task additionally has its own "done when" criterion in its step list.
## Task Structure
````markdown
### 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**From Fleron/Claude-plugins, MIT.
More from Fleron/Claude-plugins
- 0.567score
code-review
Fleron
Use when the user asks for a review of the current diff, branch or pull request, wants a final check before shipping or opening a PR, asks what is wrong with…
SkillAFreshness: A★ 1Claude Code +9 - 0.527score
babysit-pr
Fleron
Use when the user asks to monitor, watch or babysit a pull request, keep an eye on CI, handle incoming review comments, or stay on top of failures and…
SkillBFreshness: B★ 1Claude Code +9 - 0.494score
rebuild-guidelines-index
Fleron
Rebuild navigational index files for coding guidelines.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
claude-control-goals
Fleron
Minimal /goal integration for Claude and Codex.
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
extensive-build
Fleron
Guided feature development with codebase understanding and architecture focus
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
create-feature
Fleron
Guided feature development with codebase understanding and architecture focus
SkillCFreshness: C★ 1Claude Code +9 - 0.476score
team-build
Fleron
Implement the plan
SkillCFreshness: C★ 1Claude Code +9 - 0.471score
subagent-driven-development
Fleron
Use when executing implementation plans with independent tasks in the current session
SkillCFreshness: C★ 1Claude Code +9 - 0.471score
plan-writing
Fleron
Use when you have a spec or requirements for a multi-step task, before touching code
SkillCFreshness: C★ 1Claude Code +9 - 0.471score
subagent-driven-development
Fleron
Use when executing implementation plans with independent tasks in the current session
SkillCFreshness: C★ 1Claude Code +9 - 0.471score
executing-plans
Fleron
Use when you have a written implementation plan to execute in a separate session with review checkpoints
SkillCFreshness: C★ 1Claude Code +9 - 0.469score
brainstorm
Fleron
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 10, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Fleron/Claude-plugins
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from Fleron
- 0.567score
code-review
Fleron
Use when the user asks for a review of the current diff, branch or pull request, wants a final check before shipping or opening a PR, asks what is wrong with…
SkillAFreshness: A★ 1Claude Code +9 - 0.527score
babysit-pr
Fleron
Use when the user asks to monitor, watch or babysit a pull request, keep an eye on CI, handle incoming review comments, or stay on top of failures and…
SkillBFreshness: B★ 1Claude Code +9 - 0.494score
rebuild-guidelines-index
Fleron
Rebuild navigational index files for coding guidelines.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
claude-control-goals
Fleron
Minimal /goal integration for Claude and Codex.
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
extensive-build
Fleron
Guided feature development with codebase understanding and architecture focus
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
create-feature
Fleron
Guided feature development with codebase understanding and architecture focus
SkillCFreshness: C★ 1Claude Code +9
Cite this page
plan-writing skill. Agent Mart. https://agentmart.dev/skills/fleron-plan-writing-3a79e7 (last updated 2026-10-24)