Validates an approved plan against 8 dimensions before Phase 3 begins. Catches incomplete acceptance criteria, missing dependencies, and unresolved risks. Use after Gate 1 approval and before Phase 2 (Test). Produces a validation report with pass/fail per dimension.
Scanned 5/29/2026
Install via CLI
openskills install ngocsangyem/MeowKit---
name: mk:validate-plan
version: 1.0.0
preamble-tier: 3
description: >-
Validates an approved plan against 8 dimensions before Phase 3 begins.
Catches incomplete acceptance criteria, missing dependencies, and unresolved
risks. Use after Gate 1 approval and before Phase 2 (Test). Produces a
validation report with pass/fail per dimension.
allowed-tools:
- Read
- Grep
- Glob
- AskUserQuestion
# Adapted for the gate system — runs between Gate 1 and Phase 2
source: new
keywords: [validate-plan, plan-validation, gate-1-pass, acceptance-criteria-check, 8-dimension-validation]
when_to_use: "Use after Gate 1 plan approval and before Phase 2 — validates plan against 8 dimensions. NOT for creating plans (see mk:plan-creator)."
user-invocable: true
---
# Plan Validation — 8-Dimension Quality Check
Validates a plan file against 8 dimensions to catch gaps before implementation begins.
Does NOT replace Gate 1 (human approval). Supplements it with systematic checks.
> For green-field harness sprints (generator↔evaluator loop), use `mk:sprint-contract` instead. `mk:validate-plan` operates on plans from `mk:plan-creator` (cook flow only).
## When to Use
- After Gate 1 approval, before Phase 2 (Test)
- When `/mk:cook` detects a COMPLEX task (auto-suggested)
- When user wants to stress-test a plan before committing to implementation
- When user says "validate this plan", "check my plan", "is this plan complete"
## 8 Validation Dimensions
| # | Dimension | Pass Criteria | Common Failure |
| --- | --------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------ |
| 1 | **Scope Clarity** | In-scope and out-of-scope sections are explicit and non-overlapping | Vague scope: "improve the auth system" without boundaries |
| 2 | **Acceptance Criteria** | Every criterion is binary (pass/fail), not subjective | Subjective: "should feel fast" vs binary: "response < 200ms" |
| 3 | **Dependencies Resolved** | All external dependencies identified with status (available/blocked) | Missing: needs DB migration but not listed as dependency |
| 4 | **Risks Identified** | At least 1 risk flag with mitigation strategy | No risks listed (every plan has risks; zero = not evaluated) |
| 5 | **Architecture Documented** | Technical approach references existing patterns or includes ADR | "We'll figure out the architecture during implementation" |
| 6 | **Test Strategy** | Test approach covers acceptance criteria; edge cases identified | "We'll add tests after" (violates TDD) |
| 7 | **Security Considered** | Auth, data access, input validation addressed (or explicitly N/A) | No mention of security for a feature handling user data |
| 8 | **Effort Estimated** | Time/complexity estimate with confidence level | No estimate or "it depends" without qualification |
## Workflow
1. **Load plan file** — Read from `tasks/plans/YYMMDD-name/plan.md`
2. **Check each dimension** — Evaluate against pass criteria
3. **Produce validation report** — Pass/fail per dimension with findings
4. **Route result:**
- All 8 PASS → proceed to Phase 2
- Any FAIL → return to planner with specific revision requests
- WARN (partially met) → user decides: proceed or revise
## Output Format
```markdown
## Plan Validation: [Plan Name]
| # | Dimension | Status | Finding |
| --- | ----------------------- | -------------- | ------------------ |
| 1 | Scope Clarity | PASS/FAIL/WARN | [specific finding] |
| 2 | Acceptance Criteria | PASS/FAIL/WARN | [specific finding] |
| 3 | Dependencies Resolved | PASS/FAIL/WARN | [specific finding] |
| 4 | Risks Identified | PASS/FAIL/WARN | [specific finding] |
| 5 | Architecture Documented | PASS/FAIL/WARN | [specific finding] |
| 6 | Test Strategy | PASS/FAIL/WARN | [specific finding] |
| 7 | Security Considered | PASS/FAIL/WARN | [specific finding] |
| 8 | Effort Estimated | PASS/FAIL/WARN | [specific finding] |
**Result:** [N]/8 passed | [Action: proceed / revise dimensions X,Y]
```
## Whole-Plan Consistency Sweep (final pre-emit step)
After scoring the 8 dimensions and BEFORE emitting the validation report, run a cross-file consistency check on the plan directory.
**Why:** Distributed plans (`plan.md` + N × `phase-*.md`) drift after edits. One phase gets renamed; another phase still references the old name. Each phase reads as self-consistent but the plan as a whole is contradictory.
**Procedure:**
1. Re-read `plan.md` and every `phase-*.md` in the plan dir
2. Build a delta of: renamed entities, scope changes, dropped features, decision changes
3. Grep every plan file for stale references to renamed/dropped items
4. Reconcile contradictions across files (not only the file that surfaced them)
**Output:** Append a `sweep_failures` block to the validation report. Sweep failures DO NOT auto-FAIL — they surface inconsistencies the human must reconcile before Phase 3.
```
sweep_failures:
- phase-02.md:18 references `userController` (renamed to `authController` in plan.md:42)
- phase-04.md:8 declares scope item that plan.md:62 marks out-of-scope
```
**Skip conditions:** plan has only `plan.md` (no phase files); plan dir not found.
**Source:** Adapted from external verification-role guidance for whole-plan consistency sweeps.
## Integration with Cook Workflow
In `/mk:cook`, validation runs automatically for COMPLEX tasks:
```
Gate 1 (plan approved) → mk:validate-plan → Phase 2 (Test)
```
For STANDARD tasks, validation is optional (user-triggered).
For TRIVIAL tasks, validation is skipped.
## Gotchas
- **Not the same as `validate-plan.py`**: The script at `mk:plan-creator/scripts/validate-plan.py` validates plan file *structure* (required sections exist). This skill validates plan *content quality* (are acceptance criteria binary? are risks identified?). Both can run — they check different things.
## Relationship to plan-creator v2.3.1
Note: plan-creator's step-06 now includes an enhanced validation interview with detection keywords and section mapping. mk:validate-plan focuses on 8-dimension structural validation, which is complementary — not a replacement.
## What This Skill Does NOT Do
- Does NOT replace Gate 1 — human approval still required
- Does NOT modify plan files — read-only analysis
- Does NOT generate tests — that's Phase 2 (tester agent)
- Does NOT block Gate 1 — runs after Gate 1, before Phase 2
No comments yet. Be the first to comment!