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
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).