From silver-bullet
Reviews consistency across SPEC.md, REQUIREMENTS.md, ROADMAP.md, and DESIGN.md, detecting unmapped ACs, orphaned requirements, missing design coverage, and phantom phase requirements.
How this skill is triggered — by the user, by Claude, or both
Slash command
/silver-bullet:review-cross-artifact --artifacts <spec-path> <requirements-path> <roadmap-path> [design-path]--artifacts <spec-path> <requirements-path> <roadmap-path> [design-path]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Cross-artifact consistency reviewer skill. Implements the artifact-reviewer framework interface to validate alignment across multiple planning artifacts: SPEC.md, REQUIREMENTS.md, ROADMAP.md, and optionally DESIGN.md. Returns structured PASS/ISSUES_FOUND findings.
Cross-artifact consistency reviewer skill. Implements the artifact-reviewer framework interface to validate alignment across multiple planning artifacts: SPEC.md, REQUIREMENTS.md, ROADMAP.md, and optionally DESIGN.md. Returns structured PASS/ISSUES_FOUND findings.
This reviewer MUST load the following before executing any review:
@skills/artifact-reviewer/rules/reviewer-interface.md — interface contract (input/output shape, prohibitions)@skills/artifact-reviewer/rules/review-loop.md — 2-pass loop mechanism and audit trail format/artifact-reviewer --reviewer review-cross-artifact --artifacts <spec-path> <requirements-path> <roadmap-path> [design-path]
Or invoke directly:
/review-cross-artifact --artifacts <spec-path> <requirements-path> <roadmap-path> [design-path]
This reviewer accepts MULTIPLE artifact paths. Use artifact_path as a sentinel (e.g., .planning/SPEC.md) and pass ALL artifact paths via source_inputs. The reviewer auto-detects which artifact is which by filename pattern matching.
| Field | Type | Required | Description |
|---|---|---|---|
| artifact_path | string | YES | Sentinel value — set to the SPEC.md path (primary source of truth) |
| source_inputs | string[] | YES | All artifact paths to check consistency across. Accepts: SPEC.md, REQUIREMENTS.md, ROADMAP.md, DESIGN.md |
| check_mode | "full" / "structural" | YES | Defaults to "full". In "structural" mode, all checks are skipped (see Structural Mode below) |
| review_context | string | NO | Additional context string |
Artifact detection: The reviewer identifies each artifact by filename pattern:
SPEC.md → source of truth for user stories and acceptance criteriaREQUIREMENTS.md → requirement IDs and their source AC mappingsROADMAP.md → phase definitions and requirement assignmentsDESIGN.md → component/module definitions (OPTIONAL — QC-3 is conditional on its presence)Minimum required: SPEC.md and REQUIREMENTS.md MUST be present. ROADMAP.md is expected but optional. DESIGN.md is fully optional.
When check_mode == "structural", ALL consistency checks are content-level and therefore skipped. The reviewer returns:
status: "PASS"
findings:
- id: "XART-I00"
severity: "INFO"
description: "Cross-artifact consistency checks are content-level only -- structural mode returns automatic PASS"
location: "N/A"
suggestion: "Run with check_mode: full to evaluate cross-artifact consistency"
Read ALL provided artifacts completely before evaluating any criterion. Validate every criterion explicitly — do NOT skip checks.
Purpose: Verify every acceptance criterion in SPEC.md has a corresponding requirement in REQUIREMENTS.md, and every requirement traces back to a SPEC AC.
Steps:
## Acceptance Criteria section. AC IDs match patterns like AC-XX, AC-NNN, or similar identifiers appearing as list item labels or bold text.**REQ-XX**:, - [x] **XXX-NNx**:, or similar bold-labeled entries.XART-F01.XART-F02.Findings:
| ID | Severity | Trigger | Suggestion |
|---|---|---|---|
| XART-F01 | ISSUE | AC {id} in SPEC.md has no corresponding requirement in REQUIREMENTS.md | "Add a requirement in REQUIREMENTS.md that implements AC {id}, or update the AC ID reference in an existing requirement" |
| XART-F02 | ISSUE | Requirement {id} has no source AC in SPEC.md | "Map requirement {id} to a SPEC.md AC, or add an AC that this requirement implements" |
Purpose: Verify every requirement appears in at least one ROADMAP phase, and every requirement ID referenced in ROADMAP phases exists in REQUIREMENTS.md.
Steps:
Requirements: lines from ROADMAP.md. Patterns include: **Requirements:** [ID1, ID2], **Requirements**: ID1, ID2, or similar inline requirement lists within phase sections.XART-F10.XART-F11 (phantom requirement).Findings:
| ID | Severity | Trigger | Suggestion |
|---|---|---|---|
| XART-F10 | ISSUE | Requirement {id} is not mapped to any ROADMAP phase | "Add requirement {id} to the appropriate phase's Requirements line in ROADMAP.md" |
| XART-F11 | ISSUE | Phase {N} references requirement {id} which does not exist in REQUIREMENTS.md | "Add requirement {id} to REQUIREMENTS.md, or remove the reference from Phase {N} in ROADMAP.md" |
Condition: Only evaluate when DESIGN.md is present in the provided artifacts. If DESIGN.md is NOT provided, skip this entire check and emit INFO finding XART-I01.
Purpose: Verify every user story in SPEC.md has design coverage in DESIGN.md, and every design component relates to at least one user story or AC.
Steps:
XART-I01 and stop QC-3.## User Stories section. Each user story is a bullet or numbered entry following the pattern As a [persona], I want to [action] so that [outcome].##, ###), bold component names, or explicit "Component:" / "Module:" labels.XART-F20.XART-F21.Findings:
| ID | Severity | Trigger | Suggestion |
|---|---|---|---|
| XART-I01 | INFO | DESIGN.md not provided | "Cross-artifact SPEC-to-DESIGN consistency check skipped -- provide DESIGN.md path to enable QC-3" |
| XART-F20 | ISSUE | User story '{story}' has no design coverage in DESIGN.md | "Add a design component or section in DESIGN.md that addresses this user story" |
| XART-F21 | ISSUE | Design component '{component}' has no corresponding user story or AC in SPEC.md | "Map this design component to a SPEC.md user story, or remove if it is not needed" |
Return structured findings using the schema from reviewer-interface.md. Finding IDs use prefix XART-F for ISSUE findings, XART-I for INFO findings.
status: "PASS" | "ISSUES_FOUND"
findings:
- id: "XART-F01" # unique within this review
severity: "ISSUE" # or "INFO"
description: "..." # what is misaligned
location: "..." # artifact name and section reference
suggestion: "..." # specific, actionable fix
Status rules:
PASS — zero ISSUE-severity findings; INFO findings (XART-I00, XART-I01) are allowed alongside PASSISSUES_FOUND — one or more ISSUE-severity findingsFinding ID suffix convention: When multiple instances of the same finding type exist (e.g., multiple unmapped ACs), append a sequential counter: XART-F01a, XART-F01b, etc.
npx claudepluginhub alo-exp/silver-bullet --plugin silver-bulletGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.