writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
Skill by muratmirgun
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/muratmirgun-writing-plans
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
writing-plans- Description
- Use when you have a spec or requirements for a multi-step task, before touching code
- License
- Apache-2.0
- Instructions
- 165 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- plan-document-reviewer-prompt.md
SKILL.md (first lines)
# 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/witch/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.
## Task Right-Sizing
A task is the smallest unit that carries its own test cycle and is worth a
fresh reviewer's gate. When drawing task boundaries: fold setup,
configuration, scaffolding, and documentation steps into the task whose
deliverable needs them; split only where a reviewer could meaningfully
reject one task while approving its neighbor. Each task ends with an
independently testable deliverable.
## 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:**
```markdown
# [Feature Name] Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use `subagent-driven-development` (recommended) or `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]
## Global Constraints
[The spec's project-wide requirements — version floors, dependency limits,
naming and copy rules, platform requirements — one line each, with exact
values copied verbatim from the spec. Every task's requirements implicitly
include this section.]
---
```
## 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`
**Interfaces:**
- Consumes: [what this task uses from earlier tasks — exact signatures]
- Produces: [what later tasks rely on — exact function names, parameter
and return types. A task's implementer sees only their own task; this
block is how they learn the names and types neighboring tasks use.]
- [ ] **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"From muratmirgun/witch, Apache-2.0.
More from muratmirgun/witch
- 0.563score
witch-delegation
muratmirgun
Use after design and plan approval to execute a plan through Witch's fixed work and review lanes
SkillBFreshness: B★ 3Claude Code +9 - 0.553score
using-witch
muratmirgun
Use at the start of every Witch session to select the governing process skill and preserve Witch routing boundaries
SkillBFreshness: B★ 3Claude Code +9 - 0.543score
subagent-driven-development
muratmirgun
Use when executing implementation plans with independent tasks in the current session
SkillBFreshness: B★ 3Claude Code +9 - 0.538score
systematic-debugging
muratmirgun
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
SkillBFreshness: B★ 3Claude Code +9 - 0.538score
executing-plans
muratmirgun
Use when you have a written implementation plan to execute in a separate session with review checkpoints
SkillBFreshness: B★ 3Claude Code +9 - 0.538score
requesting-code-review
muratmirgun
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
SkillBFreshness: B★ 3Claude Code +9 - 0.536score
brainstorming
muratmirgun
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
SkillBFreshness: B★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 2, 2026 (2 months ago)
- Last release
- Aug 15, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/muratmirgun/witch
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from muratmirgun
- 0.563score
witch-delegation
muratmirgun
Use after design and plan approval to execute a plan through Witch's fixed work and review lanes
SkillBFreshness: B★ 3Claude Code +9 - 0.553score
using-witch
muratmirgun
Use at the start of every Witch session to select the governing process skill and preserve Witch routing boundaries
SkillBFreshness: B★ 3Claude Code +9 - 0.543score
subagent-driven-development
muratmirgun
Use when executing implementation plans with independent tasks in the current session
SkillBFreshness: B★ 3Claude Code +9 - 0.538score
executing-plans
muratmirgun
Use when you have a written implementation plan to execute in a separate session with review checkpoints
SkillBFreshness: B★ 3Claude Code +9 - 0.538score
systematic-debugging
muratmirgun
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
SkillBFreshness: B★ 3Claude Code +9 - 0.538score
requesting-code-review
muratmirgun
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
SkillBFreshness: B★ 3Claude Code +9
Cite this page
writing-plans skill. Agent Mart. https://agentmart.dev/skills/muratmirgun-writing-plans (last updated 2026-10-24)