create-qa-test
Create a new QA test procedure for a feature
What this skill does
# create-qa-test
**Category**: Quality Assurance
## Usage
```bash
create-qa-test <feature-name> [--url <url>] [--priority <priority>] [--explore]
```
## Arguments
- `<feature-name>`: Required - Name of the feature to test (kebab-case)
- `--url`: Optional - Test environment URL for the feature
- `--priority`: Optional - Test priority (critical, high, medium, low). Default: medium
- `--explore`: Optional - Launch qa-tester agent to explore the feature via Playwright
## Execution Instructions for Claude Code
When this command is run, Claude Code should:
1. **Generate Test ID**
- Format: `QA-YYYYMMDD-###-feature-name.md`
- Use today's date
- Find next sequential number for today
2. **Create Directory Structure** (if not exists)
```
qa-tests/
├── draft/
├── active/
├── executed/
├── archived/
└── screenshots/
```
3. **Prompt for Details** (if not provided)
- Feature description
- Test URL (if --url not specified)
- Acceptance criteria
- Prerequisites
- Test data requirements
4. **Create QA Test File**
- Place in `qa-tests/draft/` with status DRAFT
- Include all required metadata
- Generate test case placeholders based on feature
5. **Optional: Invoke qa-tester Agent**
- If `--explore` flag is set, launch the qa-tester agent
- Agent will navigate to URL and document test steps
- Agent will take screenshots of key states
## File Template
```markdown
# QA Test Procedure: [Feature Name]
## Metadata
- **Test ID**: QA-YYYYMMDD-###
- **Feature**: [Feature name]
- **Application**: [App name]
- **URL**: [Test environment URL]
- **Created**: [YYYY-MM-DD]
- **Author**: [Name]
- **Status**: DRAFT
- **Priority**: [Critical|High|Medium|Low]
- **Estimated Time**: [X minutes]
- **PRD Reference**: [Link if applicable]
## Prerequisites
- [ ] [Required setup step 1]
- [ ] [Test account with appropriate permissions]
- [ ] [Test data prepared]
## Test Environment
- **URL**: [Test environment URL]
- **Browser**: Chrome (latest)
- **Credentials**: See password manager
---
## Test Cases
### TC-001: [Happy Path - Main Success Scenario]
**Objective**: Verify the main success flow for [feature]
**Preconditions**:
- User is logged in
- [Feature-specific preconditions]
#### Steps
| Step | Action | Expected Result | Pass/Fail | Notes |
|------|--------|-----------------|-----------|-------|
| 1 | Navigate to [URL] | [Page loads correctly] | ☐ | |
| 2 | [Action] | [Expected outcome] | ☐ | |
| 3 | [Action] | [Expected outcome] | ☐ | |
**Postconditions**: [Expected state after test]
---
### TC-002: [Validation Test]
**Objective**: Verify input validation for [feature]
| Step | Action | Expected Result | Pass/Fail | Notes |
|------|--------|-----------------|-----------|-------|
| 1 | [Submit with empty required field] | [Error message appears] | ☐ | |
| 2 | [Enter invalid format] | [Validation error shown] | ☐ | |
---
## Edge Cases & Error Scenarios
### EC-001: [Edge Case Description]
| Step | Action | Expected Result | Pass/Fail | Notes |
|------|--------|-----------------|-----------|-------|
| 1 | [Edge case action] | [Expected behavior] | ☐ | |
---
## Summary Checklist
### Critical Path
- [ ] TC-001: [Title]
### Validation
- [ ] TC-002: [Title]
### Edge Cases
- [ ] EC-001: [Title]
---
## Test Execution Log
| Date | Tester | Environment | Build | Result | Issues |
|------|--------|-------------|-------|--------|--------|
| | | | | | |
## Notes
- [Additional observations]
- [Known limitations]
```
## Example
```bash
# Create a basic QA test for login
create-qa-test user-login --url https://staging.example.com/login --priority critical
# Create a test and explore with Playwright
create-qa-test checkout-flow --url https://staging.example.com/checkout --explore
# Create a simple test, will prompt for URL
create-qa-test password-reset
```
## Output
```
Created: qa-tests/draft/QA-20250105-001-user-login.md
📋 QA Test Procedure: user-login
Status: DRAFT
Priority: Critical
Location: qa-tests/draft/
Next steps:
1. Review and complete test cases
2. Add specific test data
3. Move to qa-tests/active/ when ready
```
## Integration with qa-tester Agent
When `--explore` flag is used:
1. Command creates the initial QA test file
2. Launches qa-tester agent with:
- Feature name
- URL to test
- Path to QA test file
3. Agent navigates and documents steps
4. Agent takes screenshots to `qa-tests/screenshots/{test-id}/`
5. Agent extracts element screenshots to `qa-tests/screenshots/{test-id}/elements/`
6. Agent updates the QA test file with discovered steps
7. **Agent validates and embeds all screenshots** (see Final Review below)
## Final Review: Screenshot Integration (REQUIRED)
**Before marking the QA test as complete, the agent MUST verify all screenshots are properly referenced in the final markdown file.**
### Verification Checklist
1. **Check screenshot directory exists**
```
qa-tests/screenshots/{test-id}/
├── 01-initial-state.png
├── 02-form-filled.png
├── 03-success-state.png
└── elements/
├── login-button.png
├── email-field.png
└── password-field.png
```
2. **Verify all screenshots are referenced in the markdown**
- Each test case should have a "Screenshots" subsection
- Element references should use relative paths
- No orphaned screenshots (captured but not referenced)
3. **Add missing references**
If screenshots exist but aren't in the document, add them:
### Required Sections in Final Document
#### Screenshots Reference (per test case)
```markdown
### TC-001: User Login
#### Steps
| Step | Action | Expected Result | Pass/Fail | Notes |
|------|--------|-----------------|-----------|-------|
| 1 | Navigate to login page | Login form displays | ☐ | |
| 2 | Enter email in **Email field** | Email accepted | ☐ | |
| 3 | Click **Login button** | Dashboard loads | ☐ | |
#### Screenshots
| Step | Screenshot | Description |
|------|------------|-------------|
| 1 |  | Login page before input |
| 3 |  | Dashboard after login |
```
#### Element Visual Reference (document level)
```markdown
## Element Visual Reference
| Element | Screenshot | Selector | Test Case |
|---------|------------|----------|-----------|
| Email field |  | `input#email` | TC-001 |
| Login button |  | `button[type=submit]` | TC-001 |
```
### Validation Steps
The agent should run these checks before completing:
```
1. LIST all files in qa-tests/screenshots/{test-id}/
2. SCAN the QA test markdown for image references
3. COMPARE: Are all screenshots referenced?
4. IF missing references:
- Add Screenshots section to each test case
- Add Element Visual Reference section
- Use relative paths: ./screenshots/{test-id}/filename.png
5. VERIFY: All image paths are valid (files exist)
6. REPORT: "✅ All X screenshots properly referenced" or "⚠️ Added Y missing references"
```
### Auto-Fix Missing References
If the agent finds screenshots that aren't referenced:
```markdown
## Auto-Generated Screenshot References
The following screenshots were captured but not initially referenced.
They have been added to the document:
| Screenshot | Added To | Path |
|------------|----------|------|
| 02-form-filled.png | TC-001 Screenshots | ./screenshots/QA-20250105-001/02-form-filled.png |
| submit-button.png | Element Reference | ./screenshots/QA-20250105-001/elements/submit-button.png |
```
## Related Commands
- `list-qa-tests` - List and filter existing QA tests
- `enrich-qa-test` - Add element screenshots to existing test
- `/prd-progress` - Check linked PRD implementation status
## Related Skills
- `qa-screenshot-management` - Screenshot naming and organization
- `qa-element-extraction` - Extract element scRelated in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.