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
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, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
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.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).