Install any skill in seconds. Free to start, no credit card required.
Get Started Free →donchitos/story-readiness
Validate that a story file is implementation-ready. Checks for embedded GDD requirements, ADR references, engine notes, clear acceptance criteria, and no open design questions. Produces READY / NEEDS WORK / BLOCKED verdict with specific gaps.
Passed 11 of 16 test cases with the skill, and 5 of 16 without it.
and 7 more in the full report
8 fixed7 passed either way7 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/1/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
A Logic story contains only 2 testable acceptance criteria in its specification. What check fails and what fix should be reported?
| Checked | Without skill | With skill |
|---|---|---|
| Marks the Definition of Done check as NEEDS WORK for having fewer than 3 criteria. | Missed | Passed |
The instructions your model reads when the skill loads.
!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys review_mode,automation,workflow,qa.level,testing.strict,system_overrides
Resolved above — use as-is; --review overrides review_mode. No block →
defaults in .claude/docs/config-resolution.md.
This skill validates that a story file contains everything a developer needs to begin implementation — no mid-sprint design interruptions, no guessing, no ambiguous acceptance criteria. Run it before assigning a story.
This skill is read-only. It never edits story files. It reports findings and asks whether the user wants help filling gaps.
Output: Verdict per story (READY / NEEDS WORK / BLOCKED / NOT ASSESSED) with a specific
NOT ASSESSEDis not a synonym forBLOCKED.BLOCKEDis a finding about the story — a Proposed ADR, an ADR file it names that does not exist, an unresolved dependency — and it tells the reader exactly what to clear. UseNOT ASSESSEDwhen the story could not be evaluated at all: the file is unreadable or unparseable, a referenced ADR exists but has no readable## Status(malformed), or a referenced design document cannot be located, so the checks below cannot run. Collapsing that intoBLOCKEDreports a blocker that does not exist and hides the one that does — the reader chases a phantom blocker instead of the unreadable file.READYmust never be reachable for a story that was not actually evaluated.Precedence — first matching rule wins, in this order: BLOCKED, then NEEDS WORK, then NOT ASSESSED, then READY.
NOT ASSESSEDoutranksREADY(a story that could not be evaluated has not been shown ready) and ranks below both failure verdicts (a known blocker is more actionable than an unknown, and demoting it behind an access problem buries it). A story with both a real blocker and an unevaluable check isBLOCKED— the blocker is the actionable finding. This half of the rank has to be stated: the rule above establishes only thatREADYis unreachable, which would leave the ordering againstBLOCKEDto inference. gap list for each non-ready story.
test cases passed, vs 5 / 16 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.