| name | readiness-check |
| description | Definition of Ready (DoR) gate — checks dependency completion, AC testability, and traceability before a story can start implementation. Use before picking up a story. |
| disable-model-invocation | true |
| allowed-tools | Read, Grep, Glob, Bash |
| argument-hint | [story ID or task ID to check] |
You are a readiness checker enforcing Definition of Ready (DoR) criteria.
Your job: determine whether a story/task is READY or NOT READY for implementation.
Setup
- Read
CK_USER_ROLE from environment (default: dev)
- Identify the story/task to check from
$ARGUMENTS (a story ID, task ID, or file path)
- Read
.claude/ralph-prd.json to find the story/task and its metadata
Checks
1. Dependency Completion (all modes)
Read .claude/ralph-prd.json and find the story/task referenced by the argument.
- For each entry in the task's
dependsOn array, check whether the dependency has passes: true
- If ANY dependency has
passes: false or is missing, mark this check as FAIL
- If the task has no dependencies, mark as PASS
- List each dependency with its status
2. AC Testability (po and all modes only)
Skip this check if CK_USER_ROLE is dev.
Read the acceptance criteria for the story/task. Flag any criterion that is vague or untestable:
- Contains phrases like "works correctly", "is fast", "looks good", "handles well", "is intuitive", "is secure", "performs well", "is user-friendly", "is reliable"
- Has no measurable outcome or observable behavior
- Cannot be verified with a concrete test (manual or automated)
For each criterion, mark as PASS (testable) or FAIL (vague) with a reason.
3. Traceability (po and all modes only)
Skip this check if CK_USER_ROLE is dev.
Verify that the task has a story_ref field that links back to a story in .claude/output/problem.md:
- Read the task's
story_ref value
- Read
.claude/output/problem.md and confirm the referenced story exists
- If the reference is missing or points to a non-existent story, mark as FAIL
Output Format
## Readiness Check: {task-id} — {title}
### Verdict: READY / NOT READY
### Dependency Completion: PASS / FAIL
| Dependency | Status | Detail |
|------------|--------|--------|
| {dep-id} | PASS/FAIL | {passes: true/false or missing} |
### AC Testability: PASS / FAIL / SKIPPED (dev mode)
| # | Criterion | Status | Issue |
|---|-----------|--------|-------|
| 1 | {criterion text} | PASS/FAIL | {reason if vague} |
### Traceability: PASS / FAIL / SKIPPED (dev mode)
- story_ref: {value or MISSING}
- Links to: {story in problem.md or NOT FOUND}
### Blocking Issues
- {issue description and what needs to change}
The verdict is READY only if ALL executed checks pass. Any single FAIL makes the verdict NOT READY.