plugins/axiom-planning/skills/implementation-planning/SKILL.md
Use when you have specifications or requirements for multi-step implementation tasks requiring comprehensive documentation for handoff
npx skillsauth add tachyon-beep/skillpacks implementation-planningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write comprehensive implementation plans assuming the engineer is skilled but unfamiliar with the codebase and project conventions. Document everything they need: which files to touch for each task, complete code examples, testing commands, documentation to reference, and verification steps. Break work into atomic, committable units following DRY, YAGNI, and TDD principles.
Announce at start: "I'm using the implementation-planning skill to create the implementation plan."
Context: Plans should be created in a dedicated worktree for isolation.
Save plans to: docs/plans/YYYY-MM-DD-<feature-name>.md
Use implementation-planning when:
Don't use for:
Each step is one atomic action:
Examples of atomic steps:
NOT atomic:
Every plan MUST start with this header:
# [Feature Name] Implementation Plan
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
**Prerequisites:**
- [Any setup needed before starting]
- [Dependencies that must be installed]
---
Each task follows this template:
### Task N: [Component Name]
**Files:**
- Create: `exact/path/to/file.py`
- Modify: `exact/path/to/existing.py:123-145` (lines if known)
- Test: `tests/exact/path/to/test.py`
- Docs: `docs/path/to/reference.md` (if relevant)
**Step 1: Write the failing test**
```python
def test_specific_behavior():
# Arrange
input_data = create_test_input()
# Act
result = function(input_data)
# Assert
assert result == expected_output
Why this test: [Explain what behavior this verifies]
Step 2: Run test to verify it fails
Run: pytest tests/path/test.py::test_specific_behavior -v
Expected output:
FAILED - NameError: name 'function' is not defined
Step 3: Write minimal implementation
def function(input_data):
"""Brief docstring explaining purpose."""
# Minimal code to make test pass
return expected_output
Why minimal: [Explain what's deliberately omitted for now]
Step 4: Run test to verify it passes
Run: pytest tests/path/test.py::test_specific_behavior -v
Expected output:
PASSED
Step 5: Commit
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature
- Implements [specific behavior]
- Tests verify [specific condition]
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>"
Definition of Done:
## Quality Standards
**Every task MUST include:**
1. **Exact file paths** - No "update the config file" without path
2. **Complete code** - No "add validation logic" without showing the code
3. **Exact commands** - Full command with flags, not "run tests"
4. **Expected output** - What success/failure looks like
5. **Definition of Done** - Checklist for task completion
**Code examples must be:**
- Complete and runnable
- Include necessary imports
- Show actual logic, not pseudocode
- Have minimal comments (code should be self-explanatory)
## Cross-Skill References
**Reference skills using requirement markers, NOT @ syntax:**
```markdown
# ✅ GOOD: Explicit requirement marker
**REQUIRED SUB-SKILL:** Use superpowers:test-driven-development
**BACKGROUND:** Understanding superpowers:systematic-debugging helps with troubleshooting
# ❌ BAD: @ syntax force-loads and burns context
@skills/test-driven-development/SKILL.md
| Mistake | Impact | Fix | |---------|--------|-----| | Vague tasks ("add validation") | Engineer doesn't know what to implement | Include complete validation code in plan | | Missing file paths | Time wasted searching codebase | Exact path for every file touched | | "Run tests" without specifics | Wrong tests run, or none at all | Exact command with file::function and expected output | | Generic commit messages | Hard to review, poor history | Follow conventional commits with context | | Skipping test failure verification | False confidence (test might not work) | Always verify RED before implementing GREEN | | Combining multiple actions in one step | Unclear what to commit, harder to debug | Each step = one atomic action | | Assuming context knowledge | Engineer unfamiliar with codebase stuck | Document which files define types, where utilities live | | Incomplete code examples | "Figure it out" wastes time | Complete, runnable code in plan |
These thoughts mean incomplete plan:
| Excuse | Reality | |--------|---------| | "They'll figure out the details" | Details ARE the plan. Document them. | | "File path is obvious from context" | Not obvious to someone unfamiliar. State it explicitly. | | "Standard validation, doesn't need code" | What's standard to you is unclear to others. Show the code. | | "Test command is straightforward" | Exact command eliminates ambiguity. Specify it. | | "This step is quick, combine with next" | Atomic steps = atomic commits. Keep separate. |
If you catch yourself using these rationalizations, STOP and add the missing details.
After saving the plan, offer execution choice:
"Plan complete and saved to docs/plans/<filename>.md. Two execution options:
1. Subagent-Driven (this session) - I dispatch fresh subagent per task with code review between tasks for fast iteration
2. Parallel Session (separate) - Open new session with executing-plans for batch execution with checkpoints
Which approach?"
If Subagent-Driven chosen:
If Parallel Session chosen:
DRY (Don't Repeat Yourself):
YAGNI (You Aren't Gonna Need It):
TDD (Test-Driven Development):
Frequent Commits:
tools
Use when designing, implementing, or auditing an MCP (Model Context Protocol) server — tool API design, idempotency under agent retry, structured error envelopes agents can recover from, schema versioning across model drift, transport reliability (stdio / HTTP), output-shape and pagination discipline, and choosing between tools / resources / prompts / sampling. Also use when an MCP server's tools confuse agents, return unstructured errors, deadlock under concurrent calls, double-execute under retry, or lose state across reconnects. Do not use for general REST/GraphQL API design (use `/web-backend`), for client-side prompt engineering or tool-loop design (use `/llm-specialist`), for general in-process plugin architecture (use `/system-architect`), or for cryptographic-provenance audit trails (use `/audit-pipelines`).
development
Use when running **SQLite or DuckDB inside an application process** as the durable store — not as a development convenience but as the production database. Use when scaling an SQLite layer that worked at low concurrency and is now hitting SQLITE_BUSY, WAL bloat, lock contention, schema-migration ceremony, or correctness gaps under multi-process writers. Use when introducing DuckDB as an OLAP complement to an OLTP SQLite store, or when picking between the two for a new component. Pairs with `/web-backend` (the API surface above the DB) and `/audit-pipelines` (when the DB is also the audit trail). Do not load for server databases (Postgres, MySQL), key-value stores, or ORM choice in isolation.
development
Use when designing or critiquing the structure of a staged procedure — a wizard, configuration flow, troubleshooting tree, training curriculum, multi-stage approval pipeline, decision pipeline, or any decomposition of expert work into composable stages. Use for both producer work (build the decomposition) and critic work (audit a proposed decomposition). Use when reasoning about capacity, bottlenecks, or soundness of a procedural flow. Do not use for implementation-plan critique of code changes (use `/axiom-planning` instead), for execution-time dynamics (use `/simulation-foundations`), or for rendering an already-designed procedure as docs or UI (use `/technical-writer` or `/ux-designer`).
testing
Use when the user wants to draft fiction or creative nonfiction prose, get craft critique on prose they have written, or plan story structure, outline, or premise. Workshop-voiced. Three explicit modes (draft, critique, plan) and the router will refuse to begin work without a declared mode.