From PRD-Driven Context Engineering
Validates PRD stage readiness before version advancement by running a scoring pipeline and reporting PASS/WARN/BLOCK verdict with top blockers and causal chains.
How this skill is triggered — by the user, by Claude, or both
Slash command
/prd-ce:ghm-gate-checkThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Validate whether the PRD stage is ready to advance to the next version. Delegates to the three-layer readiness scorer — SoT files → EPICs → stage — then surfaces the leverage view (what to fix first, and which EPICs it unblocks).
Validate whether the PRD stage is ready to advance to the next version. Delegates to the three-layer readiness scorer — SoT files → EPICs → stage — then surfaces the leverage view (what to fix first, and which EPICs it unblocks).
scripts/readiness.py run --quiet to refresh status/readiness.jsonstatus/readiness.jsonreferences/gate-criteria.md remains the canonical source of mandatory artifacts per gate. The scorer's GATE_REQUIREMENTS table mirrors it. Do not hand-roll checklists here — the scoring engine is the single source of truth.
Run the orchestrator. It runs SoT → EPIC → stage in dependency order and writes status/readiness.json.
python scripts/readiness.py run --quiet
# exit 0 = all pass, 1 = warn, 2 = block, 3 = error
If the exit code is 3, report a runtime error and stop. If 0/1/2, proceed to Step 2.
If scripts/readiness.py is missing or Python is unavailable, fall back to reading status/readiness.json directly. If that's also absent, report: "Readiness not yet computed — install scripts/requirements.txt and run python scripts/readiness.py run."
cat status/readiness.json
Extract:
summary.current_stage — the gate being evaluated and its scoresummary.top_blockers — ranked SoT files blocking progressstages.{target} — detailed stage block (dimensions, unmet_criteria, caps)epics.{id} — per-EPIC scores (cite the lowest ones)Use this template. Fill every field from the JSON — do not improvise scores.
## Gate Check Report: {stage.gate_description}
**Verdict**: [PASS | WARN | BLOCK]
**Stage Score**: {stage.score} / 100 (warn < {threshold_warn}, block < {threshold_block})
**Date**: {now}
### Stage Dimensions
| Dimension | Score | Weight |
|-----------|-------|--------|
| required_ids_present | {score} | {weight} |
| relevant_sot_readiness | {score} | {weight} |
| cross_ref_integrity | {score} | {weight} |
| downstream_epic_readiness | {score or "n/a"} | {weight or "—"} |
### Top Blockers (leverage view)
1. **{file}** (score {score}) — blocks {N} EPICs: {EPIC-XX, …} — impact {impact}
2. …
### Unmet Criteria (high severity first)
- [high] {ref}: {reason}
- [medium] {ref}: {reason}
### Recommendation
**If PASS**: Advance to {next_version}. Run `ghm-status-sync` to update the README dashboard.
**If WARN / BLOCK**: Do not advance. Address top blockers in order — fixing the highest-impact SoT file cascades up the graph.
**Next action**: {top_blockers[0] → concrete fix}
| Stage score | Verdict | Meaning |
|---|---|---|
| ≥ 70 | PASS | Safe to advance |
| 50–69 | WARN | Advance with documented risk; log in PRD change log |
| < 50 | BLOCK | Cannot advance — per rule 05-lifecycle-gates, update the EPIC and STOP |
Always prioritize by impact = (100 − score) × #EPICs blocked. The top blocker is the single highest-leverage fix; cite its blocking_epics list so the human understands what unblocks.
| Pattern | Example | Fix |
|---|---|---|
| Ignoring the score | "Feels ready; pass" | Cite stage.score verbatim |
| Skipping blockers | "Minor stuff, advance anyway" | Block if score < 50; warn if < 70 |
| Hand-rolling criteria | Re-checking IDs manually | Trust the scorer; if wrong, fix GATE_REQUIREMENTS in _readiness/stage.py |
| Forcing PASS | Overriding the verdict | Never override; the score is the contract |
DO:
readiness.pytop_blockers leverage viewDON'T:
status/readiness.json directly — it's computed outputAfter a report:
ghm-status-sync; the gate advancement updates the README dashboardtop_blockers[0] fix is the single most important next actionreferences/gate-criteria.md — canonical gate requirements (consumed by scorer)references/examples.md — pass/warn/block report examples.claude/rules/07-readiness-protocol.md — the discipline ruledocs/READINESS_PROTOCOL.md — full schemanpx claudepluginhub mattgierhart/prd-driven-context-engineering --plugin prd-ceValidates phase gates (LOM, ABM, IOC, PRM) by inventorying artifacts, dispatching multi-agent validators, aggregating results, and generating pass/fail reports for phase transitions.
Standardizes release approvals using GitHub checklists for gates on scope, quality signals, docs, comms, and operations readiness before deployment.
Creates structured quality gates for workflow boundaries like pre-merge checklists, deployments, and phase transitions with pass/fail criteria, exact commands, and escalation procedures.