Deliver acceptance criteria
Skill product-on-purpose/pm-skills/skills/deliver-acceptance-criteria
Generates structured Given/When/Then acceptance criteria for a user story or feature slice, covering the happy path, key failure scenarios, and non-functional expectations in testable form. Use when turning requirements into verifiable scenarios for engineering handoff and QA sign-off. For a dedicated catalog of boundary conditions, error states, and recovery paths across a feature, use deliver-edge-cases; to write the stories themselves, use deliver-user-stories.From its SKILL.md
npx -y skills add product-on-purpose/pm-skills --skill deliver-acceptance-criteriaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.0 KB, 691 tokens by cl100k_base, as published. Nobody here has run it
Acceptance Criteria
Acceptance criteria define the observable behavior that must be true for a story or feature to be considered done. This skill turns feature context into concise, testable Given/When/Then scenarios that engineers and QA can verify without guessing intent.
When to Use
- After a user story, PRD section, or feature slice is defined
- When a team needs clear pass/fail conditions for implementation
- When writing QA-ready criteria for sprint planning or handoff
- When a story has edge cases, error paths, or non-functional expectations that should be explicit
When NOT to Use
- You need the user stories themselves -> use
deliver-user-stories; this skill deepens a story that already exists - You need systematic failure coverage across a whole feature -> use
deliver-edge-cases; this skill stays story-scoped - There is no story or slice to bind criteria to yet -> use
deliver-prdordeliver-user-storiesfirst - You are defining success metrics for an experiment, not done-ness for a story -> use
measure-experiment-design
Instructions
When asked to create acceptance criteria, follow these steps:
-
Confirm the story or feature scope Identify the exact slice of work. If the scope is unclear, ask for the user story, PRD section, or feature description before drafting criteria.
-
Separate the happy path from exceptions Start with the primary success flow, then add edge cases and error states that are likely or costly if missed.
-
Write each criterion as an observable scenario Use Given/When/Then language only. Keep each criterion independently testable and avoid implementation details.
-
Cover recovery and failure behavior Describe what the user sees or can do when validation fails, a dependency is unavailable, or a save action cannot complete.
-
Include non-functional expectations Add criteria for performance, accessibility, security, reliability, or auditability when they matter to the story.
-
Avoid duplication and overlap Each criterion should test one outcome. If two criteria describe the same behavior, merge or split them until the intent is clear.
-
Review for testability Ensure a reviewer can pass or fail each criterion without interpretation. If a statement is subjective, rewrite it into a measurable outcome.
Output Contract
Use references/TEMPLATE.md as the output format. A complete response should:
- Restate the feature or story context
- Group criteria into happy path, edge cases, error states, and non-functional criteria
- Use explicit Given/When/Then statements for each criterion
- Note assumptions or open questions when context is incomplete
Quality Checklist
Before finalizing, verify:
- The criteria map to a specific story or feature slice
- The happy path is covered first
- Edge cases are explicit, not implied
- Error states include user-visible recovery behavior
- Non-functional criteria are included when relevant
- Each criterion is testable and has one clear outcome
- No implementation details leak into the acceptance criteria
Examples
See references/EXAMPLE.md for a completed example based on a realistic e-commerce checkout flow.
What ships with it: 5 files
11.6 KB alongside SKILL.md
evals/
references/
- EXAMPLE.md2.8 KB
- TEMPLATE.md1.6 KB
- HISTORY.md1.1 KB
Gives 0 of the 12 instructions most product spec skills give in 691 tokens
Counted across 483 of the 502 authors here whose files we hold, read 2026-09-06
- Write the PRD using the templatein 39 of 483, across 36 files
- Ask one question at a timein 24 of 483
- Write acceptance criteria in Given-When-Then formatin 24 of 483
- Write user stories with acceptance criteriain 22 of 483, across 21 files
- Respect ADRs in areas you touchin 21 of 483, across 17 files
- Use the domain glossary vocabulary throughout the PRDin 20 of 483, across 16 files
- Explore the repo to understand the current codebasein 19 of 483, across 15 files
- Provide testable acceptance criteriain 19 of 483, across 17 files
- Publish the PRD to the issue trackerin 18 of 483, across 14 files
- Apply the ready-for-agent triage labelin 15 of 483, across 13 files
- Prefer existing seams over new onesin 14 of 483, across 12 files
- Save the PRD as a markdown filein 14 of 483, across 9 files
Said here and by no other author read
- Separate the happy path from exceptions
- Test one outcome per criterion
- Make each criterion pass or fail without interpretation
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.