---
name: wf-spec-review-breakdown
description: Audit a breakdown before anyone builds it: dependency ordering, task sizing, coverage gaps, overlapping boundaries, missing tests. Read-only; returns PASS or NEEDS REVISION. Use immediately after breakdown.
argument-hint:
allowed-tools: Read, Grep, Glob, Agent, Bash(ls *)
---
# Review Task Breakdown
Validate a task breakdown produced by `/wf-spec-breakdown` before starting
implementation. Catch structural issues that would cause failures mid-execution.
## Step 0: Parse arguments
Extract the spec file path or task folder from the first token. If given a spec
file, locate its child spec directory (sibling directory with matching name,
e.g., `specs/shared/visual-identity/` for `visual-identity.md`). If given
a directory, locate the parent spec (the `.md` file in the containing directory
whose name matches the directory).
## Step 1: Load the breakdown
1. Read the parent spec in full. **Parse its YAML frontmatter** to extract
`title`, `status`, `depends_on`, `affects`, `effort`.
2. Read every child spec file in the subdirectory. **Parse each child's YAML
frontmatter** — extract `title`, `status`, `depends_on`, `affects`,
`effort`, `dispatched_task_id`.
3. Read `specs/README.md` for track context and cross-spec dependencies.
## Step 2: Check dependency correctness
For each child spec's `depends_on` list in its YAML frontmatter:
- Verify every path in `depends_on` resolves to an existing spec file.
- Verify no self-dependency (a spec cannot list itself in `depends_on`).
- Verify no circular dependencies in the DAG (topological sort must succeed).
- Verify dependency direction: if spec B modifies a function that spec A creates,
B must depend on A. Cross-reference `affects` lists to catch this.
- Flag missing dependencies: if two child specs have overlapping `affects` paths,
check whether they need ordering.
- Verify `depends_on` edges that cross subtrees or tracks are intentional and
the target spec exists.
Report: list of dependency issues, or "Dependencies: OK".
## Step 3: Check task sizing
For each child spec, estimate scope by examining the `affects` list from
frontmatter and the "What to do" section in the body:
- Read each file in `affects` to check its size and complexity.
- Cross-check `effort` (small/medium/large/xlarge) against actual scope:
- `small` with 6+ files in `affects` is suspicious.
- `xlarge` with only 1-2 files may be over-estimated.
- Flag specs whose "What to do" has fewer than 3 steps as potentially too small
(might be foldable into a sibling spec).
- Flag specs that create new packages AND refactor existing code (should usually
be split).
- Verify leaf specs are small enough for one agent task (2-5 files, one clear
goal) per the spec document model.
Report: list of sizing concerns, or "Sizing: OK".
## Step 4: Check spec coverage
Compare the spec's implementation plan against the task breakdown:
- For each item in the spec (sections, bullet points, requirements), check that
at least one task covers it.
- Flag spec items with no corresponding task.
- Flag tasks that don't trace back to any spec item (scope creep).
Report: uncovered spec items and untraceable tasks, or "Coverage: OK".
## Step 5: Check boundary conflicts
For each pair of child specs that have overlapping `affects` paths in their
frontmatter:
- Check that their "Boundaries" sections don't overlap (both claiming to modify
the same function or type).
- Check that the later spec's "What to do" accounts for changes made by the
earlier spec (follow the `depends_on` ordering).
- Flag cases where two independent specs (no `depends_on` edge between them)
share `affects` entries — they may conflict during parallel execution.
Report: list of boundary conflicts, or "Boundaries: OK".
## Step 6: Check test completeness
For each task:
- Verify the "Tests" section exists and is non-empty.
- Check that test cases cover the "Goal" (not just the mechanics of "What to do").
- Flag tasks that modify existing behavior but only test new behavior.
Report: list of test gaps, or "Tests: OK".
## Step 7: Verify the critical path
Compute the critical path through the dependency graph:
- Identify the longest chain of sequential tasks.
- Flag if the critical path has more than 6 tasks (may indicate missing
parallelism opportunities).
- Identify tasks with no dependents that could be reordered earlier.
Report: critical path length, parallelism opportunities.
## Step 8: Summary
Present a structured report:
```
## Breakdown Review:
Tasks: N total, N phases
Critical path: N tasks deep
Parallelism: up to N tasks can run concurrently
### Issues Found
- [ ]
- [ ]
### Recommendations
-
### Verdict: PASS / NEEDS REVISION
```
If issues are found, list specific remediation steps. Do NOT modify any files —
this skill is read-only. The user decides whether to revise manually or re-run
`/wf-spec-breakdown` with feedback.