From skraft
Use when reviewing DISTILL artefacts (Gherkin scenarios, test plans, implementation plans) for quality, completeness, and alignment. Contains the gate definitions and scoring rubric for the acceptance-designer-reviewer lenses.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skraft:acceptance-review-criteriaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Formal gate definitions and verdict rubric for the `acceptance-designer-reviewer`. Applied across 4 lenses (coverage, business-alignment, testability, boundary-enforcement).
Formal gate definitions and verdict rubric for the acceptance-designer-reviewer. Applied across 4 lenses (coverage, business-alignment, testability, boundary-enforcement).
| Gate | ID | Definition | Pass condition | Fail severity |
|---|---|---|---|---|
| AC–Scenario bijection | G1 | Every AC in ac-draft-{story}.md maps to ≥1 scenario. No scenario exists without a traceable AC. | All ACs covered, no orphan scenarios. | BLOCKER |
| Edge case representation | G2 | Boundary conditions and negative cases from the domain examples in the story are represented as scenarios. | ≥1 edge case or boundary condition scenario per business rule. | HIGH |
Checking G1:
ac-draft-{story}.md*.feature| Gate | ID | Definition | Pass condition | Fail severity |
|---|---|---|---|---|
| Business vocabulary | G3 | All nouns, verbs, and adjectives in Given/When/Then steps appear in the domain vocabulary of the stories or the business lexicon. No class names, method names, HTTP verbs, or framework names. | Zero technical identifiers in .feature files. | HIGH |
| No technical jargon | G4 | Given/When/Then steps contain zero implementation details: no HTTP status codes, no ORM terms, no database language, no DI container references. | Zero implementation leaks. | BLOCKER |
G4 red flags (auto-fail):
POST, GET, HTTP 200, HTTP 422Repository, Service, Handler, Controller, UseCasenull, true, false as business values (unless they are genuine domain terms)| Gate | ID | Definition | Pass condition | Fail severity |
|---|---|---|---|---|
| Step unambiguity | G5 | Every step can be implemented without asking the designer for clarification. The step's meaning is unambiguous within the domain vocabulary. | Every step maps uniquely to a domain action or state. | HIGH |
| Implementation plan completeness | G6 | Every scenario listed in the .feature files has a corresponding entry in impl-plan-{story}.md with a file path and a use case boundary. | Bijection feature scenarios ↔ impl-plan entries. | HIGH |
Checking G5: For each step, ask "could two engineers implement this differently and both be correct?" If yes, the step is ambiguous.
| Gate | ID | Definition | Pass condition | Fail severity |
|---|---|---|---|---|
| Layer boundary compliance | G7 | Each row in the coverage matrix targets an Application layer use case named in contracts-{story}.md. No scenario targets an Infrastructure adapter directly as its primary entry point. | All coverage matrix entries reference a use case boundary from the contracts. | BLOCKER |
| Walking skeleton coverage | G8 | At least one walking skeleton scenario per major feature flow is identified in the test plan (tagged @smoke or marked Walking Skeleton in the matrix). | ≥1 walking skeleton entry per feature flow. | HIGH |
| Severity | Definition | Impact |
|---|---|---|
| BLOCKER | Fundamental correctness violation. The artefact cannot be used by DELIVER as-is. | Always triggers rejected verdict. |
| HIGH | Significant quality gap. Increases implementation risk or causes rework in DELIVER. | Triggers changes_requested unless no other severity exists. |
| MEDIUM | Quality improvement. Can be implemented but suboptimal. | Triggers changes_requested. |
| LOW | Style or consistency issue. Does not affect DELIVER. | approved with recommendation. |
| Condition | Verdict |
|---|---|
| ≥1 BLOCKER in ANY lens | rejected |
| ≥1 HIGH, 0 BLOCKER (across ALL lenses) | changes_requested |
| MEDIUM only (across ALL lenses) | changes_requested |
| LOW only, or all lenses pass | approved |
Confidence:
high — all artefacts present, clear findings, no ambiguitymedium — some artefacts missing, or findings require interpretationlow — critical artefacts missing, review is incompleteWhen 3 lenses pass and 1 fails:
dissentchanges_requested or rejected.approved with recommendation.Example dissent entry:
dissent: "business-alignment-lens flagged 'driver ID' in step text (G3 HIGH).
Overridden: 'driver ID' is a genuine domain term used consistently in the story
vocabulary. Not a technical identifier. Verdict remains approved."
| Score | Meaning |
|---|---|
pass | All gates in this lens pass. No findings. |
fail | ≥1 gate in this lens has a finding. |
Each finding includes:
gate — G1 through G8severity — BLOCKER / HIGH / MEDIUM / LOWfinding — plain-language description of the problemlocation — file path and line/scenario referencesuggestion — (optional) how to fix itGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub sebastiendegodez/skraft-plugin --plugin skraft