New workflow for production teams: dynamic agent teams, ADR learning loop, automated execution from PRD to merged PR. Added: - guide/workflows/plan-pipeline.md — complete workflow guide (philosophy, non-prescriptive AI-first, No Bandaids first principles, ADR learning loop, CLAUDE.md 120-line discipline, /clear context reset, cost profile) - examples/commands/plan-start.md — 5-phase planning with 12-agent dynamic pool (trigger-based selection, Tier 0 Solo → Tier 4 Full Spectrum, planning-coordinator synthesis, auto-transition to validate) - examples/commands/plan-validate.md — 2-layer validation (structural inline + 8 specialist agents), ADR-aware auto-fix (Bucket A ~95% auto-resolve, Bucket B human input → new rule), issue persistence in metrics JSON - examples/commands/plan-execute.md — worktree → TDD scaffold → level-based parallel agents → drift detection → quality gate → smoke test → PR squash merge → post-merge metrics → cleanup - examples/agents/planning-coordinator.md — Opus synthesis agent: merges multi-agent reports into coherent task graph, resolves conflicts via ADR precedence, verifies plan completeness before output - examples/agents/integration-reviewer.md — Opus runtime validator: connection params, async/sync consistency, env var completeness, library API correctness (WebFetch), OTEL pipeline validation Updated: - machine-readable/reference.yaml — 16 new indexed keys - CHANGELOG.md — v3.32.0 entry with 6 detailed items - VERSION, README.md, guide/cheatsheet.md, guide/ultimate-guide.md — bumped to 3.32.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
187 lines
6.4 KiB
Markdown
187 lines
6.4 KiB
Markdown
---
|
|
name: plan-validate
|
|
description: "2-layer plan validation: instant structural checks + trigger-based specialist agents. Auto-fixes issues using ADRs and first principles. Every issue must be resolved before execution."
|
|
---
|
|
|
|
# Plan Validate — 2-Layer Validation
|
|
|
|
Independently validate the plan produced by `/plan-start`. No code is written. Run `/clear` after this command before running `/plan-execute`.
|
|
|
|
Validation is separate from planning by design: validators that didn't write the plan are not anchored to its assumptions.
|
|
|
|
---
|
|
|
|
## Prerequisite
|
|
|
|
A committed plan file must exist at `docs/plans/plan-{name}.md`. If multiple plans exist, list them and ask the user which to validate.
|
|
|
|
---
|
|
|
|
## Layer 1: Structural Validation
|
|
|
|
Run immediately, no agents required. Check the plan document for:
|
|
|
|
**Format & Completeness**
|
|
- [ ] All required sections present (Summary, Decisions, Architecture, Tasks, Test Plan, Out of Scope)
|
|
- [ ] Each task has: description, files affected, acceptance criteria, layer assignment
|
|
|
|
**Dependency Chain**
|
|
- [ ] No circular dependencies between tasks
|
|
- [ ] Tasks in higher layers only depend on tasks in lower layers
|
|
- [ ] All stated dependencies exist in the plan
|
|
|
|
**File Existence**
|
|
- [ ] Every file listed for modification actually exists in the codebase (use Glob)
|
|
- [ ] New files are in appropriate directories per project conventions
|
|
|
|
**ADR Consistency**
|
|
- [ ] Plan decisions align with ADRs created during `/plan-start`
|
|
- [ ] No contradiction with existing ADRs in `docs/adr/`
|
|
|
|
**CLAUDE.md Compliance**
|
|
- [ ] Plan respects all hard rules in CLAUDE.md
|
|
- [ ] No first principles violations (no workarounds, no backward-compat shims)
|
|
|
|
**Test Coverage**
|
|
- [ ] Every new function/component has a corresponding test task
|
|
- [ ] TDD-marked tasks have failing test written before implementation task
|
|
|
|
Record all Layer 1 issues with severity (BLOCKER / WARNING / INFO) before proceeding to Layer 2.
|
|
|
|
---
|
|
|
|
## Layer 2: Specialist Review
|
|
|
|
Select agents by applying trigger rules to the plan content. No user input needed — triggers are objective.
|
|
|
|
**Validation agent pool:**
|
|
|
|
| Agent | Trigger | Model |
|
|
|-------|---------|-------|
|
|
| `security-reviewer` | Auth, payments, PII, RBAC, new public APIs | Opus |
|
|
| `db-migration-reviewer` | New tables, columns, indexes, or migration files | Opus |
|
|
| `performance-reviewer` | New queries, resolvers, routes, or added dependencies | Sonnet |
|
|
| `design-system-reviewer` | New UI components or visual styling changes | Sonnet |
|
|
| `ux-reviewer` | New pages, forms, modals, or interaction patterns | Sonnet |
|
|
| `cross-platform-reviewer` | Changes touching both web and mobile, or shared packages | Sonnet |
|
|
| `native-app-reviewer` | Mobile screens, native UI package changes | Sonnet |
|
|
| `integration-reviewer` | New external services, libraries, or OTEL config | Opus |
|
|
|
|
Spawn triggered agents in parallel (Task tool, run_in_background: true). Each agent receives: the plan file, relevant ADRs, and targeted questions based on its domain.
|
|
|
|
Monitor via TaskOutput polling loop. Report progress to user.
|
|
|
|
Each agent must return structured findings:
|
|
```
|
|
FINDING: [BLOCKER|WARNING|INFO]
|
|
Location: [plan section or file reference]
|
|
Issue: [concrete description]
|
|
Risk: [what breaks if this isn't addressed]
|
|
Suggestion: [specific fix or alternative]
|
|
```
|
|
|
|
---
|
|
|
|
## Auto-Fix Phase
|
|
|
|
Merge Layer 1 structural issues + Layer 2 specialist findings into a single issue list. Every issue must be resolved. No skipping.
|
|
|
|
**Triage each issue:**
|
|
|
|
**Bucket A — Auto-resolve:**
|
|
- Issue matches an existing ADR decision → cite ADR, mark resolved
|
|
- Issue matches a confirmed pattern in PATTERNS.md → cite pattern, mark resolved
|
|
- Issue resolvable from first principles in CLAUDE.md → apply rule, mark resolved
|
|
|
|
**Bucket B — Needs human input:**
|
|
- Novel architectural question not covered by existing decisions
|
|
- Conflicting ADRs with no clear precedent
|
|
- Blocker with no obvious resolution
|
|
|
|
For Bucket B items: present the issue, explain why it can't be auto-resolved, propose options, wait for decision. Record the decision in the plan's `## Decisions` section and create a new ADR if it's architecturally significant.
|
|
|
|
**Apply all fixes in one batch** once all issues are triaged. Update the plan file. Commit the updated plan.
|
|
|
|
---
|
|
|
|
## Issue Persistence
|
|
|
|
Record every issue in `docs/plans/metrics/{name}.json` under `validation.issues`:
|
|
|
|
```json
|
|
{
|
|
"id": "S-001",
|
|
"layer": 1,
|
|
"severity": "WARNING",
|
|
"category": "test-coverage",
|
|
"description": "No test task for the new webhook handler",
|
|
"reporting_agent": "structural",
|
|
"triage": "A",
|
|
"resolution_source": "first-principles",
|
|
"resolution": "Added test task in Layer 2 of the plan"
|
|
}
|
|
```
|
|
|
|
This data feeds `/plan-metrics` for pattern analysis over time.
|
|
|
|
---
|
|
|
|
## Auto-Transition
|
|
|
|
If all issues are auto-resolved (Bucket A only): auto-start `/plan-execute` without asking.
|
|
|
|
If any human input was required (Bucket B): ask "All issues resolved. Ready to execute?" before proceeding.
|
|
|
|
---
|
|
|
|
## Usage
|
|
|
|
```
|
|
/plan-validate
|
|
```
|
|
|
|
Picks up the most recent uncommitted plan automatically. Or specify:
|
|
|
|
```
|
|
/plan-validate plan-user-authentication
|
|
```
|
|
|
|
## Output
|
|
|
|
```
|
|
Layer 1: Structural validation...
|
|
✓ Format complete
|
|
✓ Dependencies valid
|
|
⚠ WARNING S-001: Missing test task for webhook handler
|
|
✓ CLAUDE.md compliant
|
|
|
|
Layer 2: Triggering specialist agents...
|
|
→ security-reviewer (auth changes detected) [Opus]
|
|
→ db-migration-reviewer (new users table) [Opus]
|
|
→ performance-reviewer (new query in /api/users) [Sonnet]
|
|
Monitoring... 1/3 complete... 2/3 complete... done.
|
|
|
|
BLOCKER B-001 [security-reviewer]: JWT expiry not validated on refresh endpoint
|
|
WARNING B-002 [db-migration-reviewer]: Migration lacks rollback strategy
|
|
|
|
Auto-fix phase:
|
|
S-001 → auto-resolved (first principles: test coverage rule)
|
|
B-001 → NEEDS INPUT (no existing ADR for JWT refresh strategy)
|
|
B-002 → auto-resolved (ADR-0003: migration rollback pattern)
|
|
|
|
[User input requested for B-001]
|
|
Decision recorded. ADR-0011 created.
|
|
|
|
All 3 issues resolved. Plan updated.
|
|
→ Auto-starting /plan-execute
|
|
```
|
|
|
|
## When to Use
|
|
|
|
Always — before any `/plan-execute` call. The cost of validation ($0.20-3.00) is negligible against the cost of discovering issues mid-execution.
|
|
|
|
## See Also
|
|
|
|
- [Plan-Validate-Execute Pipeline](../../guide/workflows/plan-pipeline.md)
|
|
- [Integration Reviewer Agent](../agents/integration-reviewer.md)
|
|
- [Plan Challenger Agent](../agents/plan-challenger.md)
|