platforms/pi/skills/planning-make/SKILL.md
Create structured implementation plans in docs/plans/. Use when user asks to make a plan, implementation plan, rollout plan, or wants structured task breakdown before coding.
npx skillsauth add alexei-led/claude-code-config planning-makeInstall 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.
Create a plan in docs/plans/YYYYMMDD-<topic>.md.
Before writing the plan:
ask_user_question for user choices and clarifications.structured_output is available, use it for the final plan summary and next-step choices.Load custom rules before planning:
bash ../planning-common/scripts/resolve-rules.sh planning-rules.md
If non-empty, treat them as extra planning constraints.
If the user wants rules management:
.pi/planning-rules.md~/.pi/agent/planning-rules.md.pi/planning-rules.md~/.pi/agent/planning-rules.mdNever edit skill files while managing rules.
See ../planning-common/references/custom-rules.md.
Use direct tools. No exhaustive archaeology.
git log --oneline -5.git status --short, git log --oneline -5, README.md, CLAUDE.md, top-level dirs.Rules:
scout agent with a narrow prompt and a low max_turns; do not start an archaeology department.web_answer or web_search only for external APIs, standards, or current dependency behavior that affects the plan.Ask sequentially. Wait for each answer.
Use ask_user_question. One tool call per question.
Prefer multiple choice when the codebase scan suggests options.
Unless the path is obvious or user already chose one:
ask_user_question to make the user pick.Create docs/plans/YYYYMMDD-<slug>.md with this structure:
# <Plan Title>
## Overview
- what changes
- why
- success criteria
## Context
- relevant files
- current patterns
- dependencies and risks
## Development Approach
- testing style: TDD or Regular
- finish one task before the next
- keep changes small and focused
- every task includes tests
- tests must pass before the next task
- update plan when scope changes
## Testing Strategy
- unit tests required for each task
- integration/e2e tests when applicable
- success, error, and edge cases
## Progress Tracking
- mark done with [x] immediately
- add discovered work with ➕
- add blockers with ⚠️
- keep the plan in sync with reality
## Solution Overview
- chosen approach
- key decisions
- why this fits the codebase
## Technical Details
- data shape changes
- control flow
- APIs, flags, config, migrations
## Implementation Steps
### Task 1: <specific goal>
**Files:**
- Create: `path/if-needed`
- Modify: `path/if-needed`
- [ ] implement the code change
- [ ] verify integration points
- [ ] write tests for success cases
- [ ] write tests for error or edge cases
- [ ] run relevant tests and make them pass
### Task N-1: Verify acceptance criteria
- [ ] verify requirements from Overview
- [ ] verify edge cases
- [ ] run full relevant test suite
- [ ] verify docs/config changes if needed
### Task N: Update documentation
- [ ] update README.md if user-visible behavior changed
- [ ] update CLAUDE.md or project docs if new conventions matter
- [ ] move this plan to `docs/plans/completed/` when done
## Post-Completion
- manual checks
- deploy or migration steps
- external follow-up
Plan rules:
After creating the plan, tell the user the file path and use ask_user_question to offer:
reviewer or planner Agent if useful/plan mode for read-only reviewIf structured_output is available, use it for the final summary before asking.
If the user chooses implementation or execution, suggest planning-exec.
If the user chooses review, suggest planning-review.
If the user chooses /plan, tell them to run /plan and keep the session read-only until the plan is solid.
tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
development
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
tools
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.