Skip to content

Acceptance Criteria

Try it: /pm-skills:deliver-acceptance-criteria "Your context here"

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.

  • 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
  • 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-prd or deliver-user-stories first
  • You are defining success metrics for an experiment, not done-ness for a story -> use measure-experiment-design

Invoke the skill by name (/pm-skills:deliver-acceptance-criteria on Claude Code, $deliver-acceptance-criteria on Codex):

/pm-skills:deliver-acceptance-criteria "Your context here"

Or reference the skill file directly: skills/deliver-acceptance-criteria/SKILL.md

When asked to create acceptance criteria, follow these steps:

  1. 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.

  2. 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.

  3. Write each criterion as an observable scenario Use Given/When/Then language only. Keep each criterion independently testable and avoid implementation details.

  4. 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.

  5. Include non-functional expectations Add criteria for performance, accessibility, security, reliability, or auditability when they matter to the story.

  6. 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.

  7. 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.

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

See references/EXAMPLE.md for a completed example based on a realistic e-commerce checkout flow.

Acceptance Criteria: [Feature or Story Title]

Section titled “Acceptance Criteria: [Feature or Story Title]”

[Describe the user need, scope boundary, and any assumptions that matter for testing.]

Given [initial context or precondition]

When [user action or trigger]

Then [expected observable outcome]

Given [initial context or precondition]

When [user action or trigger]

Then [expected observable outcome]

Given [boundary condition or alternate state]

When [user action or trigger]

Then [expected observable outcome]

Given [failure condition]

When [user action or trigger]

Then [expected observable outcome and recovery path]

Given [relevant system or user context]

When [measurement or action]

Then [expected measurable constraint or guarantee]

  • [Assumption or dependency]
  • [Open question if the source story is incomplete]
Acceptance Criteria: Guest Checkout

This example describes the acceptance criteria for a guest checkout flow that lets shoppers buy items without creating an account.

The checkout experience must let a shopper complete an order as a guest, enter shipping and payment details, and receive a confirmation after payment succeeds. The criteria below focus on the behavior a reviewer can observe in the UI and system responses.

Given I have items in my cart and I am not signed in

When I open the checkout page

Then I can enter shipping information, delivery method, and payment details without being prompted to create an account

Given I have entered valid shipping and payment details

When I submit the order

Then I see an order confirmation page with an order number and estimated delivery date

Given I am on checkout and my cart qualifies for a discount

When I enter a valid promo code and apply it

Then the order summary updates to show the discount before I submit payment

AC-4: Shipping Address Validation Supports International Formats

Section titled “AC-4: Shipping Address Validation Supports International Formats”

Given I enter a shipping address for a supported non-US destination

When I continue to the next step

Then the form accepts the address if it matches the country-specific validation rules

Given I have entered shipping information but the payment card is invalid

When I attempt to place the order

Then I see a clear inline error message and the order is not created

Given an item in my cart becomes out of stock before I submit payment

When I place the order

Then I am shown which item failed, my cart remains available, and I can remove the item or choose a different variant

AC-7: Checkout Responds Within the Performance Budget

Section titled “AC-7: Checkout Responds Within the Performance Budget”

Given I submit a valid order during normal operating conditions

When the checkout request is processed

Then the confirmation response is returned within 3 seconds for at least 95 percent of requests

Given a validation or payment error occurs

When the error message is shown

Then the message is announced by screen readers and the field with the error receives focus when applicable

  • Payment processor and inventory service availability are external dependencies.
  • Fraud review and manual review flows are out of scope for this example.

See this skill applied to three different product contexts:

Storevine (B2B): Storevine B2B ecommerce platform . acceptance criteria for the Campaigns email template builder

Prompt:

deliver-acceptance-criteria
Feature: Campaigns . email template builder
The template builder lets merchants drag-and-drop content blocks (text, image, button, divider, product card) onto a canvas, customize styling, preview on desktop and mobile, and save templates for reuse across campaigns. Templates are stored per-merchant and can be duplicated.

Output:


artifact: acceptance-criteria version: “1.0” created: 2026-04-11 status: draft

Section titled “artifact: acceptance-criteria version: “1.0” created: 2026-04-11 status: draft”

Acceptance Criteria: Campaigns Email Template Builder

Section titled “Acceptance Criteria: Campaigns Email Template Builder”

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