skills/task-planner/SKILL.md
Discovery-driven planning for tasks in existing codebases. Explores code, gathers requirements, identifies edge cases, and produces prd.json + plan.json under .prove/runs/<branch>/<slug>/ for the orchestrator.
npx skillsauth add mjmorales/claude-prove task-plannerInstall 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.
Iterative discovery and planning for a task in an existing codebase. Output: prd.json + plan.json under .prove/runs/<branch>/<slug>/.
Gather from the user:
Explore the codebase using scripts/code_explorer.py (find, imports, usages, structure, tests, history, todos, analyze):
Identify edge cases across input boundaries, state conditions, error scenarios. Use references/edge-cases-checklist.md by domain.
references/interaction-patterns.md). Open-ended: free-form discussion.After discovery, emit two JSON files under .prove/runs/<branch>/<slug>/ — pick <branch> from the intent (feature, fix, chore, refactor, ...) and derive <slug> from a kebab-cased task name (max 40 chars).
Both files are validated by a PostToolUse hook against tools/run_state/schemas.py. Invalid writes block.
Shape (see tools/run_state/schemas.py::PRD_SCHEMA):
{
"schema_version": "1",
"kind": "prd",
"title": "Human-readable title",
"context": "Why this run exists (problem framing).",
"goals": ["Concrete outcome 1", "Concrete outcome 2"],
"scope": {
"in": ["What's in"],
"out": ["What's explicitly deferred"]
},
"acceptance_criteria": [
"Testable criterion 1",
"Testable criterion 2"
],
"test_strategy": "High-level approach (unit, integration, manual).",
"body_markdown": "Optional longer narrative sections (discovery notes, rollback plan, monitoring)."
}
Shape (see tools/run_state/schemas.py::PLAN_SCHEMA):
{
"schema_version": "1",
"kind": "plan",
"mode": "simple | full",
"tasks": [
{
"id": "1.1",
"title": "Setup config",
"wave": 1,
"deps": [],
"description": "What this task accomplishes and why.",
"acceptance_criteria": ["Criterion A", "Criterion B"],
"worktree": {"path": "", "branch": ""},
"steps": [
{
"id": "1.1.1",
"title": "Add schema field",
"description": "Add `foo` to SchemaX in module Y.",
"acceptance_criteria": ["`tests/test_schema.py` asserts field present"]
}
]
}
]
}
Task id convention: <wave>.<seq> — wave groups parallelizable tasks, seq orders within a wave. Step id: <task_id>.<step_seq>. Orchestrator relies on these dotted ids.
Mode: simple when total step count is ≤3; full otherwise.
Worktree: leave empty at plan time; orchestrator fills this in when spawning the wave.
After writing prd.json + plan.json, initialize state.json with:
python3 -m tools.run_state init \
--branch <branch> --slug <slug> \
--plan .prove/runs/<branch>/<slug>/plan.json \
--prd .prove/runs/<branch>/<slug>/prd.json
This creates state.json with every task/step in pending and seeds an empty dispatch ledger. Required before /prove:orchestrator can run.
Check .claude/.prove.json for configured validators — use those commands in task acceptance criteria. If absent, the orchestrator auto-detects at runtime. See references/validation-config.md.
scripts/code_explorer.py — structured code explorationassets/task-planning-prompts.md — prompt templates for planning sessionsreferences/edge-cases-checklist.md — edge case checklist by domainreferences/interaction-patterns.md — AskUserQuestion vs free-form patternstools/run_state/schemas.py — authoritative JSON schemasDelegate to the commit skill. Do not create ad-hoc commits.
testing
Anchor session context into prove primitives before compaction and rehydrate from them after. Built-in compaction summarizes by recency and drops the claude-prove state an agent needs to reorient; this skill externalizes volatile context into durable anchors (scrum tasks, decisions, run-state, a compact-anchors pointer file) pre-compact, then runs a deterministic reorientation sequence post-compact. Use before a manual /compact, when context is about to auto-compact, or immediately after a compaction. Triggers on "smart compact", "prepare for compaction", "anchor before compact", "context is getting long", "rehydrate", "reorient after compact".
tools
Apply model-driven CONTENT reshaping to stored run artifacts that sit behind the current schema, on explicit operator invocation only. Triggers on "migrate runs", "migrate run artifacts", "run content migration", "reshape run artifacts", "bring runs to current schema". You are the driver: the `run-state migrate-runs` CLI mechanically detects which artifacts are behind and emits a plan naming each one plus its migration-instruction file; you read the instructions and reshape the prose/findings, gated by the operator. The deterministic `schema migrate` handles structural column moves; this skill covers only the content reshaping beyond them. Never run as a background or resident loop — only when the operator asks.
tools
Synthesize the 7-section risk-forward Review Brief from a run's reasoning log. Triggers on "reasoning brief", "review brief", "synthesize the brief", "generate the brief", "brief the run", "brief for review", "story brief". You are the driver: the `acb brief` CLI renders a mechanical preservation-safe backbone and proves preservation; you synthesize the narrative prose (summary + changes), single-pass or multipass over episode chunks, then gate it through Stage-1 (mechanical, blocking) and Stage-2 (prose judge, advisory).
tools
Prune stale cached versions of the prove plugin from Claude Code's plugin cache. Use when superseded versions pile up under plugins/cache and agents read stale skills/references from them, or when reclaiming plugin-cache disk space. Triggers on "clean up cached plugin versions", "prune the plugin cache", "remove old prove versions", "stale plugin cache".