specwright/templates/skills/dev-team/po/acceptance-testing/SKILL.md
# Acceptance Testing Skill > Template for Product Owner acceptance criteria validation and user acceptance testing > Created: 2026-01-09 > Version: 1.0.0 ## Skill Name **acceptance-testing** - Master acceptance criteria definition and user acceptance testing execution ## Purpose Enable systematic validation that developed features meet user needs and business requirements through well-defined acceptance criteria and structured user acceptance testing (UAT). ## When to Activate Activate this
npx skillsauth add michsindlinger/specwright specwright/templates/skills/dev-team/po/acceptance-testingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Template for Product Owner acceptance criteria validation and user acceptance testing Created: 2026-01-09 Version: 1.0.0
acceptance-testing - Master acceptance criteria definition and user acceptance testing execution
Enable systematic validation that developed features meet user needs and business requirements through well-defined acceptance criteria and structured user acceptance testing (UAT).
Activate this skill when:
Given-When-Then (Gherkin):
Given [initial context/precondition]
When [action or event]
Then [expected outcome]
And [additional outcome]
Checklist Format:
- [ ] Specific, testable condition
- [ ] Expected system behavior
- [ ] Edge case handling
Scenario-Based:
Scenario: [Descriptive name]
- User performs: [action]
- System responds: [behavior]
- Result: [outcome]
Test Case ID: TC-[NUMBER]
Feature: [Feature name]
User Story: [Story ID/reference]
Priority: Critical | High | Medium | Low
Preconditions:
- [Required setup or state]
Test Steps:
1. [Action to perform]
2. [Next action]
3. [Final action]
Expected Results:
- [What should happen at each step]
Actual Results:
- [What actually happened - filled during testing]
Status: Pass | Fail | Blocked
Notes: [Any observations or issues]
Severity:
Priority:
Clear, actionable bug reports with:
[MCP_TOOLS]
<!-- Populated during skill creation based on: 1. User's installed MCP servers 2. User's selection for this skill Recommended for this skill (examples): - github - Track test results, defects, and acceptance criteria - fetch - Access feature specs and acceptance criteria - filesystem - Manage test plans, cases, and UAT documentation Note: Skills work without MCP servers, but functionality may be limited -->.specwright/specs/ for detailed requirementsBefore signing off on feature acceptance:
User Story: As a new user, I want to create an account so that I can access personalized features.
Acceptance Criteria (Given-When-Then):
Scenario: Successful account creation
Given I am on the registration page
When I enter valid email, password, and confirm password
And I click "Create Account"
Then I see a success message "Account created successfully"
And I receive a confirmation email at the provided address
And I am redirected to the onboarding page
Scenario: Password validation
Given I am on the registration page
When I enter a password shorter than 8 characters
Then I see an error "Password must be at least 8 characters"
And the "Create Account" button is disabled
Scenario: Duplicate email prevention
Given an account already exists with email "[email protected]"
When I try to register with "[email protected]"
Then I see an error "An account with this email already exists"
And I see a link to "Reset Password"
Scenario: Email confirmation requirement
Given I have created an account
When I try to log in before confirming my email
Then I see a message "Please confirm your email address"
And I see an option to "Resend confirmation email"
User Story: As a customer, I want to pay for my order with a credit card so that I can complete my purchase.
Acceptance Criteria (Checklist):
User Story: As a user, I want to search for products by keyword so that I can quickly find items I'm interested in.
Acceptance Criteria (Scenario-Based):
Scenario 1: Basic keyword search
- User enters: "laptop" in search box
- System responds: Displays products containing "laptop" in title or description
- Result: At least top 10 relevant results shown, sorted by relevance
Scenario 2: No results handling
- User enters: "xyznonexistent"
- System responds: Shows "No results found for 'xyznonexistent'"
- Result: Suggests popular categories or "try different keywords"
Scenario 3: Partial match search
- User enters: "lap" (incomplete word)
- System responds: Shows autocomplete suggestions including "laptop"
- Result: Clicking suggestion performs full search
Scenario 4: Filter combination
- User enters: "shoes"
- User applies: Size filter (10), Color filter (Black)
- System responds: Shows only black shoes in size 10
- Result: Filter count shows "15 results" and can be cleared
Scenario 5: Search performance
- User enters: Any keyword
- System responds: Within 1 second
- Result: Search results appear with < 1s latency
# User Acceptance Test Plan: [Feature Name]
> Created: [DATE]
> Feature Spec: .specwright/specs/[spec-folder]/
> UAT Environment: [URL or environment name]
> Test Period: [Start Date] to [End Date]
## Test Objectives
[What are we validating with this UAT?]
## Scope
**In Scope**:
- [Feature 1]
- [Feature 2]
**Out of Scope**:
- [What will not be tested]
## Test Participants
| Name | Role | User Type | Responsibilities |
|------|------|-----------|------------------|
| [Name] | [Job Title] | [Power User/Admin/etc.] | [Test cases assigned] |
## Test Environment
**URL**: [Staging/UAT URL]
**Test Accounts**:
- Admin: [username/access method]
- Standard User: [username/access method]
**Test Data**: [Description of test data available]
## Test Cases
### TC-001: [Test Case Name]
**Priority**: Critical | High | Medium | Low
**User Story**: [Reference to story]
**Preconditions**:
- [Required setup]
**Test Steps**:
1. [Step 1]
2. [Step 2]
3. [Step 3]
**Expected Result**:
- [What should happen]
**Acceptance Criteria Validated**:
- [ ] [Specific criterion]
- [ ] [Specific criterion]
---
[Repeat for each test case]
## UAT Schedule
| Date | Activity | Participants |
|------|----------|--------------|
| [Date] | UAT Kickoff & Training | All testers |
| [Date] | Testing Period Begins | All testers |
| [Date] | Mid-UAT Checkpoint | PO + Testers |
| [Date] | Testing Deadline | All testers |
| [Date] | Defect Triage Meeting | PO + Dev Team |
| [Date] | Re-test Fixes | Affected testers |
| [Date] | Final Sign-off | PO + Stakeholders |
## Success Criteria
- [ ] All critical and high priority test cases pass
- [ ] No P0 or P1 defects remain
- [ ] At least [X]% of medium priority test cases pass
- [ ] User feedback is positive overall
- [ ] Key stakeholders approve for release
## Defect Tracking
All defects logged in: [Issue tracking system]
Label: `uat-[feature-name]`
## Sign-off
**Product Owner**: _________________ Date: _______
**Stakeholder**: _________________ Date: _______
# Defect Report
**ID**: BUG-[NUMBER]
**Title**: [Clear, concise description]
**Reporter**: [Name]
**Date Found**: [DATE]
**Feature**: [Feature/component name]
**Environment**: [UAT/Staging URL]
## Classification
**Severity**: Critical | High | Medium | Low
**Priority**: P0 | P1 | P2 | P3
**Type**: Functional | UI | Performance | Security | Other
## Description
[Clear explanation of the issue]
## Steps to Reproduce
1. [Step 1]
2. [Step 2]
3. [Step 3]
## Expected Behavior
[What should happen]
## Actual Behavior
[What actually happened]
## Screenshots/Videos
[Attach visual evidence]
## Environment Details
- **Browser**: [Chrome 120, Safari 17, etc.]
- **Device**: [Desktop, iPhone 15, etc.]
- **OS**: [macOS, Windows 11, etc.]
- **User Account**: [Test account used]
## Impact Assessment
**Users Affected**: [All users | Specific user type | Edge case]
**Workaround Available**: [Yes/No - describe if yes]
**Business Impact**: [Revenue, user experience, compliance, etc.]
## Related Information
**User Story**: [Link to story]
**Acceptance Criteria**: [Which criterion failed]
**Spec Reference**: .specwright/specs/[spec-folder]/
## Resolution
**Status**: Open | In Progress | Fixed | Won't Fix | Duplicate
**Assigned To**: [Developer name]
**Fix Version**: [Release/sprint number]
**Resolution Notes**: [How it was fixed]
**Re-test Result**: Pass | Fail
Problem: Only verifying things work when everything goes right Solution: Systematically test edge cases, invalid inputs, error conditions
Problem: "System should work well" Solution: "Search returns results in < 1 second for 95% of queries"
Problem: First validation happens in live environment Solution: Use staging/UAT environment that mirrors production
Problem: Testing with incomplete or unrealistic data Solution: Create comprehensive test data sets covering various scenarios
Problem: Only testing new features, not checking if old ones still work Solution: Maintain regression test suite for critical flows
Problem: Developer says it works, not validated in real environment Solution: Always test in shared environment with realistic conditions
Reference acceptance criteria in:
.specwright/specs/YYYY-MM-DD-feature-name/spec.md
Create UAT plans in:
.specwright/specs/YYYY-MM-DD-feature-name/sub-specs/tests.md
Link bugs to original requirements for traceability
Document acceptance in:
.specwright/specs/YYYY-MM-DD-feature-name/tasks.md
Mark tasks as complete once acceptance testing passes
Track testing effectiveness through:
Remember: Acceptance testing is the final quality gate before users see your work. Be thorough, be critical, but also recognize when good is good enough. Perfect is the enemy of shipped.
tools
Session Handoff: Erstellt eine vollständige Zusammenfassung der aktuellen Session für einen sauberen Kontextwechsel. NUR bei explizitem Aufruf (/session-handoff). NICHT automatisch auslösen. Geeignet wenn der User die Session resetten will, den Kontext aufräumen will, oder bei ~120k Tokens angelangt ist.
development
Pre-Mortem Risk Analysis: Strukturierte Prospective-Hindsight-Übung um launch-blocking Risiken vor Commitment aufzudecken. Team stellt sich vor, das Produkt sei 14 Tage nach Launch gefloppt, und arbeitet rückwärts. Klassifiziert Risiken in Tigers (echt), Paper Tigers (hypothetisch), Elephants (unausgesprochen). Nutze diesen Skill vor Build-Commitment, bei zu hoher Stakeholder-Confidence, vor Major-Releases, oder wenn das Team vage Sorgen nicht artikulieren kann. Trigger: /pre-mortem, 'pre-mortem', 'risk analysis', 'was könnte schiefgehen', 'risiken vor launch'.
testing
Six-Sigma Atomicity Validator for create-spec stories
tools
UX pattern definition guidance for navigation, user flows, interactions, and accessibility