skills/use-workflow-spec-validation/SKILL.md
SOW/Spec cross-document consistency validation.
npx skillsauth add thkt/claude-config use-workflow-spec-validationInstall 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.
| Document | Prefix | Links To | | -------- | ------- | ---------------- | | SOW | AC-N | - | | Spec | FR-NNN | Implements: AC-N | | Spec | T-NNN | FR: FR-NNN | | Spec | NFR-NNN | Validates: AC-N | | Spec | AS-NNN | - |
Priority levels (P0/P1/P2) and the Gate rule are defined by the reviewer-spec agent.
Each check below assigns priority per finding type.
Run P0-producing checks (1-3) first. If any P0 is raised, downstream checks may be skipped. The gate will already be NotReady.
Each AC-N must have ≥1 FR with Implements: AC-N.
| Finding | Priority | | ------------------------------------ | -------- | | AC has no FR implementing it | P0 | | Orphan FR implements non-existent AC | P1 |
Each FR-NNN must have ≥1 T-NNN with matching FR reference.
| Finding | Priority | | ------------------------------- | -------- | | FR has no test scenario | P0 | | Test references non-existent FR | P1 |
| Column | Must exist in | | ------ | ------------------------- | | AC | SOW Acceptance Criteria | | FR | Spec Functional Req table | | Test | Spec Test Scenarios | | NFR | Spec NFR table |
| Finding | Priority | | --------------------------------------- | -------- | | Matrix row references non-existent ID | P0 | | Matrix row missing expected column | P1 |
SOW In-Scope targets must appear in Spec phases. Extra files → P2.
Cross-check SOW↔Spec for technology mismatches, numeric conflicts.
| Finding | Priority | | ----------------------------------------- | -------- | | SOW and Spec specify conflicting tech | P0 | | SOW and Spec specify conflicting numerics | P0 | | Terminology used inconsistently | P1 |
| Language | Patterns | | -------- | ---------------------------------------------------------------------------------- | | JA | 適切に、できる限り、なるべく、ある程度、検討する、考慮する、予定、高速に(数値なし) | | EN | appropriately, as much as possible, reasonable, adequate, TBD, fast(no metric) |
| Finding | Priority | | ----------------------------------------- | -------- | | Ambiguous term inside a SHALL clause (FR) | P0 | | Ambiguous term in NFR Target | P0 | | Ambiguous term elsewhere | P1 |
Same concept must use same term across documents.
| Finding | Priority | | ----------------------------------------- | -------- | | Synonym mixing (user/member) in same role | P1 | | Abbreviation mixing (DB/database) | P2 |
| Finding | Priority | | ---------------------------------------------- | -------- | | AC Observable signal column empty (SOW) | P0 | | In Scope Observable outcome column empty (SOW) | P1 | | NFR Rationale column empty | P1 | | Assumption Impact-if-broken column empty | P1 | | Dependency Purpose column empty | P2 |
Risks column rules (Probability/Mitigation × Impact): delegated to
reviewer-spec Risks Completeness section.
Implementation table must declare Depends. Empty Depends blocks parallel
scheduling judgment.
| Finding | Priority | | -------------------------- | -------- | | Phase Depends column empty | P1 |
With YAGNI Checklist: verify Spec excludes checked items. Flag over-engineering.
SOW In Scope and Out of Scope must not overlap. ACs must target only In Scope.
| Finding | Priority |
| ------------------------------------------- | -------- |
| In Scope target also listed in Out of Scope | P0 |
| AC references a target absent from In Scope | P1 |
| Out of Scope lacks Why not justification | P2 |
Markdown appended to reviewer findings:
## Consistency Findings
| ID | Priority | Check | Location | CC Impact | Fix |
| ------- | -------- | ---------- | -------------------------------- | -------------------------------- | ------------------------------------ |
| CON-001 | P0/P1/P2 | check name | sow.md:section / spec.md:section | What CC will do when it reads this | Concrete rewrite, not "clarify this" |
Finding format and Gate contribution follow the reviewer-spec agent.
documentation
Generates and updates .claude/OUTCOME.md interactively. When the file is absent or empty (no Behavior / all sections TBD), collects content via AskUserQuestion and writes the stub; when present, shows the current state and applies updates.
development
Judge a SKILL.md against craft axes (single responsibility, description distinctiveness, imperative voice, verifiable completion, calibration, progressive disclosure) and apply the fixes the audit surfaces. Do not use for format-presence-only checks (use reviewer-prompt) or reproducibility loops (use /tuning).
tools
Internal helper for /think Step 11. Renders SOW.md + Spec.md as an integrated Astro view and returns a dev server URL.
development
Extract repository spec while detecting bugs, spec gaps, and consistency drift via dual-purpose documentation. OUTCOME.md-axis question-driven exploration with ephemeral output. Do NOT use for code review (use /audit or /polish), feature implementation (use /code), planning only (use /think), or single-bug fix (use /fix).