check-planlisted
Install: claude install-skill justinstimatze/plancheck
Verify plans by tracing them from both ends. Trace forward from the current state. Trace backward from the goal. Compare where they meet. If the gap is too big, pick a midpoint and repeat. Disagreements between the forward and backward traces are the findings.
Works for any plan: software, infrastructure, data pipelines, project plans, anything.
---
## Before starting — Project knowledge
Read `~/.plancheck/projects/<hash>/knowledge.md` if it exists (call `get_last_check_id` with cwd to confirm the project is known). Use it to:
- Pre-load files that are always forgotten
- Focus on known risk areas
- Skip probes known to false-positive for this project
If the file doesn't exist, proceed normally — it will be created after the first reflection.
---
## Pass 0 — Deterministic probes (code projects only)
**When to run:** The plan touches source files AND the `check_plan` MCP tool is available. Skip for non-code plans.
1. Serialize the plan as ExecutionPlan JSON. Include `semanticSuggestions` — files you think might need changing but haven't committed to:
```json
"semanticSuggestions": [
{"file": "routes.go", "confidence": 0.7, "reason": "registers the new handler"},
{"file": "types.go", "confidence": 0.5, "reason": "may need new types"}
]
```
plancheck validates each suggestion against the reference graph and git history. You'll see which suggestions have structural support (must/likely) vs semantic-only (consider).
2. Call `check_plan` with plan_j