platforms/pi/skills/planning-exec/SKILL.md
Execute implementation plans task by task with strict verification and plan tracking. Use when user wants to run a plan, execute tasks from docs/plans/, or implement from an existing plan.
npx skillsauth add alexei-led/claude-code-config planning-execInstall 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.
Execute a plan file one task at a time.
Pi can use Agent, but the main loop still stays here: one task, verify it, update the plan, then continue.
Use the plan path from the user. If missing:
docs/plans/*.mddocs/plans/completed/ask_user_questionbash ../planning-common/scripts/resolve-rules.sh planning-rules.md
git status --shortask_user_question whether to use a git worktree or stay in the current directory.using-git-worktrees skill.todo tool is available, mirror the current task checklist there while keeping the markdown plan file as the source of truth.Repeat until no unchecked boxes remain in Implementation Steps:
todo is available, sync the current task checklist into todo before editing code.[x] immediately.todo is in use, update it immediately as items complete.➕.⚠️ with the reason and stop.Agent only for bounded review or recon work on large tasks, never as an excuse to lose control of the main loop.Use background agents for independent work only:
Agent({
subagent_type: "reviewer",
description: "Review task diff",
run_in_background: true,
prompt: "Review the current diff for the completed task. Return blockers only with file:line. Do not edit."
})
Do not let a worker agent run ahead of the plan unless the user explicitly chooses delegated implementation. If delegated, use isolation: "worktree" in a git repo for non-trivial edits.
todo and the markdown plan in sync if todo is in use.ask_user_question.For each task:
At the end:
docs/plans/completed/ only after everything passesAfter each task, report:
If structured_output is available and the user wants a machine-readable checkpoint, use it.
Short. Factual.
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.