skills/spec-review/SKILL.md
This skill should be used when the user asks to "review a spec", "review an issue", "check the plan", "review the implementation plan", "find gaps in the spec", or "review spec". Reviews .specs/<slug>/spec.md for gaps and viability, edits it when needed, and mirrors changes to GitHub only when a GitHub mirror exists.
npx skillsauth add ryan-mahoney/ryan-llm-skills spec-reviewInstall 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.
Review a spec for viability, ambiguity, traceability, and implementation readiness. The repository-local spec file is canonical.
Always apply substantive review changes to the resolved local spec file first:
.specs/<feature-slug>/spec.md
GitHub issues are optional mirrors. Never update a GitHub issue instead of the local file, and never treat the issue body as the only persisted review output.
Resolve the spec target in this order:
$ARGUMENTS is a path to a markdown file, review that file.$ARGUMENTS names a folder under .specs/, review .specs/<feature-slug>/spec.md.$ARGUMENTS is a GitHub issue number and the current repository is hosted on GitHub, read the issue with gh issue view <issue-number> --json body --jq .body, extract its Spec folder: .specs/<feature-slug>/ footer, and review the local .specs/<feature-slug>/spec.md. If the local file is missing but the issue body has a valid footer, create the folder and write the issue body to spec.md before reviewing..specs/*/spec.md.If no local spec can be resolved, stop and report the missing input. Do not review a GitHub issue as the only source of truth unless you first materialize it to .specs/<feature-slug>/spec.md.
When the reviewed spec has a GitHub issue mirror, update that issue after editing spec.md.
A GitHub mirror exists when:
gh issue view succeeded, orIf the GitHub mirror cannot be updated, keep the local spec.md edits and report the mirror failure. Do not roll back the local review.
Do not review the spec for internal consistency alone. Before trusting any claim, verify it against the actual repository:
If the spec footer names Spec folder: .specs/<feature-slug>/ and critique.md exists in that folder, verify the critique landed in the spec:
If there is no spec folder or no critique.md, skip this check.
If the spec should be changed, directly edit spec.md with an improved body.
Edit with discipline:
After editing spec.md, mirror the final body to GitHub only when an available mirror exists.
spec.md.spec.md body.All 7 sections must be present and substantive:
Flag these problems:
Scan every section for statements that leave room for an implementer to make an undocumented judgment call. The test: if two engineers built from this prose independently, could they produce different behavior? If yes, it is ambiguous.
Flag these categories:
Resolve each ambiguity in place when the answer can be drawn from code, conventions, or the spec's own intent. If not, add a concrete open question in Notes with the decision a domain expert must make.
Each step must include:
Verify the four step constraints:
Verify step ordering:
Check coverage in both directions between Acceptance Criteria and Implementation Steps:
Covers: AC-n tag line naming the criteria it satisfies, or trace to a stated architectural need. Add missing tags and correct mismatched tags.Evaluate every implementation step against the split triggers below. This is required on each step, not optional polish. Treat any step touching multiple files or mixing concerns as a split candidate until the triggers say otherwise.
Split a step when:
After splitting, re-apply the four step constraints and ordering rules to each new step.
Do not over-split. Keep steps together when:
Flag and remove steps that should not exist:
When summarizing the review, state the granularity verdict explicitly: which steps were split and why, or that every step was checked and none met a split trigger.
Do not add Co-Authored-By trailers, "Generated with" footers, or any AI model attribution.
documentation
This skill should be used when the user asks to "write a spec", "create a spec", "spec this out", "plan this feature", or "write an implementation plan" for a feature or change. Creates a structured implementation spec in .specs/<slug>/spec.md and mirrors it to GitHub only when the current repository is hosted on GitHub.
data-ai
This skill should be used when the user asks to "execute the spec", "run the plan", "implement the spec", "implement the issue", "run all steps", or "run spec". Implements all steps from .specs/<slug>/spec.md, using a subagent per step when the harness supports subagents.
development
This skill should be used when the user asks to "remediate the audit findings", "fix the spec violations", "close the audit findings", "fix conformance violations", or "spec remediate". Reads a spec-audit report, drives one smart subagent per VIOLATION to converge the code back to the frozen spec, and re-audits until clean. Edits production code; never rewrites the spec.
development
This skill should be used when the user asks to "compile review criteria", "generate spec criteria", "compile the conformance checklist", "build guardrails from the spec", or "spec criteria". Compiles a frozen spec's normative prose into an executable conformance checklist at .specs/<slug>/criteria/, blind to any implementation of that spec, and accumulates cross-phase ownership invariants in .specs/<slug>/invariants.md.