writing-plans
Creates actionable implementation plans from specifications.
Install
mkdir -p .claude/skills/writing-plans-antonykervazocanut && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18819" && unzip -o skill.zip -d .claude/skills/writing-plans-antonykervazocanut && rm skill.zipInstalls to .claude/skills/writing-plans-antonykervazocanut
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Convert a spec or requirement into a numbered, executable implementation planKey capabilities
- →Convert a spec into a numbered implementation plan
- →Map file creations and modifications
- →Define bite-sized TDD tasks
- →Structure tasks with failing tests, minimal code, and passing tests
- →Generate a plan document header
- →Perform a self-review of the complete plan
How it works
The skill takes a spec, maps out file changes, and breaks down the implementation into small, test-driven development tasks. It structures each task with steps for testing, coding, and committing.
Inputs & outputs
When to use writing-plans
- →Draft implementation plan
- →Break down feature specs
- →Create TDD tasks
About this skill
Writing Plans
Overview
Write comprehensive implementation plans assuming the engineer has zero context of the codebase. Document everything they need: which files to create/modify, exact commands, test code, expected output. Bite-sized TDD tasks. DRY. YAGNI. Frequent commits.
Announce at start: "I'm using the writing-plans skill to create the implementation plan."
Save plans to: docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md
Scope Check
If the spec covers multiple independent subsystems (extraction + injection + validation + IPS patch), suggest breaking into separate plans — one per subsystem. Each plan should produce testable, working software on its own.
File Structure First
Before defining tasks, map which files will be created or modified:
Create: src/core/new_module.py
Modify: src/text/encoder.py (add method to existing class)
Create: tests/unit/test_new_module.py
Modify: src/pipeline/orchestrator.py (wire new module)
Follow project-rules.md:
- New scripts →
src/extractors/NN_name.py,src/analyzers/NN_name.py, etc. - Common logic →
src/core/(DRY) - Tests →
tests/unit/test_<module>.py - Outputs →
output/withYYYY-MM-DD_prefix
Bite-Sized Task Granularity
Each step is one action (2-5 minutes):
- "Write the failing test" — step
- "Run it to verify it fails" — step
- "Implement the minimal code" — step
- "Run tests to verify they pass" — step
- "Commit" — step
Plan Document Header
# [Feature Name] Implementation Plan
> **For agentic workers:** Use `test-driven-development` and `verification-before-completion` skills on each task.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** Python 3.11+, pytest, pyyaml
---
Task Structure
### Task N: [Component Name]
**Files:**
- Create: `src/core/new_class.py`
- Create: `tests/unit/test_new_class.py`
- [ ] **Step 1: Write the failing test**
```python
# tests/unit/test_new_class.py
def test_specific_behavior():
obj = NewClass()
result = obj.do_thing(input_data)
assert result == expected_output
```
- [ ] **Step 2: Run test to verify it fails**
```bash
pytest tests/unit/test_new_class.py::test_specific_behavior -v
```
Expected: FAIL with "NewClass not defined" or "AttributeError"
- [ ] **Step 3: Write minimal implementation**
```python
# src/core/new_class.py
class NewClass:
def do_thing(self, data):
return expected_output
```
- [ ] **Step 4: Run test to verify it passes**
```bash
pytest tests/ -v
```
Expected: All tests PASS (100% required — project-rules.md)
- [ ] **Step 5: Commit**
```bash
git add tests/unit/test_new_class.py src/core/new_class.py
git commit -m "feat(core): add NewClass for specific behavior"
```
No Placeholders
Never write:
- "TBD", "TODO", "implement later"
- "Add appropriate error handling" (without showing code)
- "Write tests for the above" (without actual test code)
- "Similar to Task N" (repeat the full code — tasks are read independently)
- References to functions not defined in any task
Project-Specific Reminders
- 100% test pass rate required after every task (
pytest tests/) - Docstrings + type hints on all public functions
- Common code →
src/core/(never duplicate) - Backups before ROM writes (
.gba.bak) - Outputs →
output/YYYY-MM-DD_name.ext - Commit format:
feat(scope): description
Self-Review
After writing the complete plan:
- Spec coverage: Can you point to a task for every requirement? List gaps.
- Placeholder scan: Search for TBD/TODO/vague steps. Fix them.
- Type consistency: Do method names match across tasks?
Fix issues inline. Then offer execution choice to the user.
When not to use it
- →Before brainstorming approval
- →When the spec covers multiple independent subsystems that should be broken down
Limitations
- →Each plan should produce testable, working software on its own
- →Does not allow placeholders like 'TBD' or 'TODO'
- →Requires 100% test pass rate after every task
How it compares
This skill generates a detailed, executable implementation plan with specific TDD steps and file changes, unlike a high-level plan that lacks concrete actions.
Compared to similar skills
writing-plans side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| writing-plans (this skill) | 0 | 1mo | Review | Intermediate |
| agent-pseudocode | 1 | 5mo | No flags | Intermediate |
| app | 0 | 4mo | No flags | Intermediate |
| phase-2-convention | 0 | 3mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by AntonyKervazoCanut
View all by AntonyKervazoCanut →You might also like
agent-pseudocode
ruvnet
Agent skill for pseudocode - invoke with $agent-pseudocode
app
jhenriquedev
use when setting up APP projects, adding host apps, creating or updating Cases, introducing packages, classifying shared code across cases/packages/core/shared, maintaining case .us.md artifacts, validating APP grammar, reviewing structural drift, and adapting existing projects incrementally with th
phase-2-convention
LowyShin
|
phase-1-schema
cdman28
|
brainstorming
obra
Use when creating or developing, before writing code or implementation plans - refines rough ideas into fully-formed designs through collaborative questioning, alternative exploration, and incremental validation. Don't use during clear 'mechanical' processes
project-planner
adrianpuiu
Comprehensive project planning and documentation generator for software projects. Creates structured requirements documents, system design documents, and task breakdown plans with implementation tracking. Use when starting a new project, defining specifications, creating technical designs, or breaking down complex systems into implementable tasks. Supports user story format, acceptance criteria, component design, API specifications, and hierarchical task decomposition with requirement traceability.