From em-software-factory
Create comprehensive end-to-end test plans for features and releases
How this skill is triggered — by the user, by Claude, or both
Slash command
/em-software-factory:create-e2e-testplanThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create comprehensive end-to-end test plans that cover critical user flows, integration points, and acceptance criteria.
Create comprehensive end-to-end test plans that cover critical user flows, integration points, and acceptance criteria.
Use this skill to create E2E test plans for:
When invoked, respond with:
I'll help you create an end-to-end test plan.
Please provide:
1. Feature/ticket reference (e.g., SEMI-790) or release version (e.g., v2.1.0)
2. Scope: Is this for a single feature or an entire release?
3. Any specific user flows or scenarios to focus on?
Then wait for user input.
If ticket/feature provided:
.claude/cache/SEMI-XXX.md exists and read itmcp__atlassian__jira_get_issue tool with parameter issue_key: "SEMI-XXX".claude/cache/SEMI-XXX.md for reuseIf Confluence page referenced:
/pages/{page_id}/).claude/cache/CONF-{page-id}.md exists and read itmcp__atlassian__confluence_get_page tool with parameter page_id: "{page_id}".claude/cache/CONF-{page-id}.md for reuseFind related documentation:
specs/features/FEAT-XXX/implementation-plan*.mdspecs/research/*{topic}*.md.claude/reviews/{pr-number}_review.mdRead all discovered documents FULLY (no limit/offset).
Use parallel agents to understand the feature:
Agent 1 - Frontend Research:
Agent 2 - Backend Research:
Agent 3 - Integration Points:
Based on research findings, identify:
Critical User Flows:
Edge Cases:
Integration Scenarios:
Non-Functional Requirements:
For each test scenario, create structured test cases:
### TC-{number}: {Test Case Title}
**Priority:** High | Medium | Low
**Type:** Functional | Integration | Performance | Security
**Prerequisites:**
- User logged in as [role]
- Feature flag [X] enabled
- Test data: [specific dataset]
**Test Steps:**
1. Navigate to [page/URL]
2. Click [button/link]
3. Enter [data] in [field]
4. Verify [expected result]
5. ...
**Expected Results:**
- [Specific outcome 1]
- [Specific outcome 2]
- UI displays [expected state]
- API returns [expected response]
**Test Data:**
- Input: [specific values]
- Expected output: [specific values]
**Acceptance Criteria Mapping:**
- ✓ Covers AC #1: [description]
- ✓ Covers AC #2: [description]
Identify data needs:
Document test data setup:
## Test Data Requirements
### User Accounts
- `[email protected]` - Admin role with full permissions
- `[email protected]` - Standard user role
- `[email protected]` - Read-only access
### Sample Data
- 10 workflow runs in various states (pending, running, completed, failed)
- 5 products with different configurations
- Historical data covering last 30 days
### Environment Configuration
- Feature flag `enable_streaming` = true
- API endpoint: `https://dev.example.com/api`
Document environment requirements:
Define execution approach:
Manual Testing:
Automated Testing:
Regression Testing:
Filename: specs/testing/e2e/{feature-name}-e2e-testplan.md or specs/testing/e2e/{release}-e2e-testplan.md
Structure:
---
feature: "[Feature Name or Release Version]"
ticket: "SEMI-XXX" (if applicable)
created_date: YYYY-MM-DD
created_by: [username]
test_plan_version: 1.0
status: draft | approved | in-progress | completed
last_updated: YYYY-MM-DD
last_updated_by: [username]
---
# E2E Test Plan: [Feature Name or Release Version]
**Feature:** [Feature Name]
**Ticket:** [SEMI-XXX] ([Jira Link])
**Version:** 1.0
**Created:** YYYY-MM-DD
**Status:** Draft
## Overview
[Brief description of what's being tested and why]
## Scope
### In Scope
- [Feature area 1]
- [Feature area 2]
- [Integration with system X]
### Out of Scope
- [What's not being tested]
- [Deferred to other test plans]
## Test Objectives
- Validate [objective 1]
- Ensure [objective 2]
- Verify [objective 3]
## Related Documentation
- Implementation Plan: `specs/features/FEAT-XXX/implementation-plan.md`
- Jira Ticket: `.claude/cache/SEMI-XXX.md`
- API Documentation: [link]
- Design Document: `.claude/cache/CONF-123456.md`
## Environment Setup
### Prerequisites
- Services: [backend API, database, external services]
- Accounts: [test users with specific roles]
- Configuration: [feature flags, environment variables]
### Test Environment
- URL: https://dev.example.com
- API: https://dev.example.com/api
- Database: PostgreSQL (test instance)
### Test Data Setup
[Instructions to set up test data]
```bash
# Commands to prepare test environment
make setup-test-env
npm run seed-test-data
Priority: High Type: Functional
Prerequisites:
Test Steps:
Expected Results:
Acceptance Criteria Mapping:
...
Priority: High Type: Integration
...
Priority: Medium Type: Performance
Test Steps:
Expected Results:
| Role | Permissions | |
|---|---|---|
| [email protected] | Admin | Full access |
| [email protected] | User | Standard access |
Duration: ~2 hours Required: QA tester familiar with feature
Process:
Framework: Playwright / Cypress / Selenium
Location: tests/e2e/{feature-name}/
Run tests:
npm run test:e2e
# or
pytest tests/e2e/
Frequency: Before each release Duration: ~30 minutes Scope: Core user flows
| Risk | Impact | Mitigation |
|---|---|---|
| External service unavailable | Test blocked | Use mocks/stubs |
| Test data corruption | Flaky tests | Automated data reset |
| Environment instability | False failures | Health checks before tests |
Test Execution Log:
### Step 9: Present Test Plan
Show summary to user:
I've created an E2E test plan for [Feature/Release]:
Location: specs/testing/e2e/{name}-e2e-testplan.md
Summary:
Coverage:
Estimated Execution Time:
Next steps:
Would you like me to:
## Important Guidelines
**Be Comprehensive:**
- Cover happy paths and edge cases
- Include integration and non-functional testing
- Map all acceptance criteria to test cases
**Be Specific:**
- Detailed test steps anyone can follow
- Exact expected results
- Specific test data values
**Be Practical:**
- Prioritize high-value test cases
- Balance manual and automated testing
- Consider execution time
**Be Traceable:**
- Map to acceptance criteria
- Reference implementation details
- Link to requirements
**Leverage Existing Work:**
- Use implementation plans for context
- Reference code reviews for known issues
- Check validation reports for edge cases
## Integration with Other Skills
**Create test plan after implementation:**
```bash
1. /create-plan SEMI-790 # Plan feature
2. /implement-plan SEMI-790 # Implement feature
3. /validate-plan # Validate implementation
4. /create-e2e-testplan SEMI-790 # Create E2E test plan ← You are here
5. Execute tests
6. /code-review # Final review before release
Use research for context:
1. /research-codebase # Understand existing feature
"How does authentication work?"
2. /create-e2e-testplan # Create tests for authentication
# Create test plan for a feature
/create-e2e-testplan SEMI-790
# Create test plan for a release
/create-e2e-testplan v2.1.0
# Create test plan with specific focus
/create-e2e-testplan SEMI-790 Focus on security testing
Based on the test plan, suggest which tests should be automated:
High Priority for Automation:
Medium Priority:
Low Priority (Manual):
Include example automation structure:
tests/e2e/
├── {feature-name}/
│ ├── setup.ts # Test data and environment setup
│ ├── happy-path.test.ts # Primary user flows
│ ├── edge-cases.test.ts # Error and boundary conditions
│ └── integration.test.ts# Cross-component tests
└── helpers/
└── common.ts # Shared utilities
Guides 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 emergenceai/em-aisoftwarefactory