test-scenarios — Claude Code skill: test scenarios from user stories
Turns a user story and its acceptance criteria into QA-ready test scenarios: objectives, starting conditions, roles, steps and expected outcomes.
npx skills add phuryn/pm-skills --skill test-scenarios -a claude-codeWhat test-scenarios does
The skill takes a user story with acceptance criteria and breaks it into testable scenarios. Each one carries a test objective, starting conditions such as system state, data and permissions, the user role, step-by-step actions, and an observable result after every step. Edge cases and invalid inputs get their own pass.
It follows a fixed template: review the story, set the objective, establish starting conditions, name the role, write the steps, define outcomes, cover edge cases. Three arguments go in — $PRODUCT for the product or system name, $USER_STORY with the title and acceptance criteria, and $CONTEXT for extra testing constraints. A story without acceptance criteria gives it nothing to work from, so the output stays thin.
What comes out is meant for the QA team to execute and document. Installing drops a single SKILL.md into the skills directory of whichever platform you pick.
What it helps with
- turn a user story into testable scenarios
- set starting conditions and roles before a run
- spell out the expected result after each step
- cover edge cases and invalid inputs
- build a test plan around acceptance criteria
Example prompts for the agent
- Write test scenarios for the user story "password reset", product is the account dashboard
- Break the cart story's acceptance criteria into steps with expected outcomes
- Draft a test plan for the checkout story, context: mobile browser only
How to install test-scenarios
1Skills CLI (Vercel)
npx skills add phuryn/pm-skills --skill test-scenarios -a claude-code2Manually: put the files in place
~/.claude/skills/test-scenarios/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/test-scenarios/
1Skills CLI (Vercel)
npx skills add phuryn/pm-skills --skill test-scenarios -a codex2Manually: put the files in place
.agents/skills/test-scenarios/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add phuryn/pm-skills --skill test-scenarios -a cursor2Manually: put the files in place
.cursor/skills/test-scenarios/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install phuryn/pm-skills test-scenarios2Manually: put the files in place
.github/skills/test-scenarios/SKILL.md1Skills CLI (Vercel)
npx skills add phuryn/pm-skills --skill test-scenarios -a gemini-cli2Platform CLI
gemini skills install https://github.com/phuryn/pm-skills --path pm-execution/skills/test-scenariosManually: put the files in place
.devin/skills/test-scenarios/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add phuryn/pm-skills --skill test-scenarios -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about test-scenarios
How do I install test-scenarios in Claude Code?
Run npx skills add phuryn/pm-skills --skill test-scenarios -a claude-code. The skill lands in ~/.claude/skills/test-scenarios/SKILL.md.
What does test-scenarios do?
It builds test scenarios from a user story: objective, starting conditions, user role, step-by-step actions and expected outcomes, plus edge cases.
What do I need to pass to the skill?
Three arguments: $PRODUCT, $USER_STORY with acceptance criteria, and $CONTEXT with testing constraints.
Source text
SKILL.md · MIT
--- name: test-scenarios description: "Create comprehensive test scenarios from user stories with test objectives, starting conditions, user roles, step-by-step actions, and expected outcomes. Use when writing QA test cases, creating test plans, defining acceptance tests, or preparing for feature validation." --- # Test Scenarios Create comprehensive test scenarios from user stories with test objectives, starting conditions, user roles, step-by-step test actions, and expected outcomes. **Use when:** Writing QA test cases, creating test plans, defining acceptance test scenarios, or validating user story implementations. **Arguments:** - `$PRODUCT`: The product or system name - `$USER_STORY`: The user story to test (title and acceptance criteria) - `$CONTEXT`: Additional testing context or constraints ## Step-by-Step Process 1. **Review the user story** and acceptance criteria 2. **Define test objectives** - What specific behavior to validate 3. **Establish starting conditions** - System state, data setup, configurations 4. **Identify user roles** - Who performs the test actions 5. **Create test steps** - Break down interactions step-by-step 6. **Define expected outcomes** - Observable results after each step 7. **Consider edge cases** - Invalid inputs, boundary conditions 8. **Output detailed test scenarios** - Ready for QA execution ## Scenario Template **Test Scenario:** [Clear scenario name] **Test Objective:** [What this test validates] **Starting Conditions:** - [System state required] - [Data or configuration needed] - [User setup or permissions] **User Role:** [Who performs the test] **Test Steps:** 1. [First action and its expected result] 2. [Second action and observable outcome] 3. [Third action and system behavior] 4. [Completion action and final state] **Expected Outcomes:** - [Observable result 1] - [Observable result 2] - [Observable result 3] ## Example Test Scenario **Test Scenario:** View Recently Viewed Products on Product Page **Test Objective:** Verify that the 'Recently viewed' section displays correctly and excludes the current product. **Starting Conditions:** - User is logged in or has browser history enabled - User has viewed at least 2 products in the current session - User is now on a product page different from previously viewed items **User Role:** Online Shopper **Test Steps:** 1. Navigate to any product page → Section should appear at bottom with previously viewed items 2. Scroll to bottom of page → "Recently viewed" section is visible with product cards 3. Verify product thumbnails → Images, titles, and prices are displayed correctly 4. Check current product → Current product is NOT in the recently viewed list 5. Click on a product card → User navigates to the corresponding product page **Expected Outcomes:** - Recently viewed section appears only after viewing at least 1 prior product - Section displays 4-8 product cards with complete information - Current product is excluded from the list - Each card shows "Viewed X minutes/hours ago" timestamp - Clicking cards navigates to correct product pages - Performance: Section loads within 2 seconds ## Output Deliverables - Comprehensive test scenarios for each acceptance criterion - Clear test objectives aligned with user story intent - Detailed step-by-step test actions - Observable expected outcomes after each step - Edge case and error scenario coverage - Ready for QA team execution and documentation
© phuryn · MIT · phuryn/pm-skills