Generate ready-to-fill QA deliverables from markdown templates: test plans, manual test cases, automated Playwright specs, regression suites, and bug reports. Use when asked to draft or fill any of these artifacts from requirements or user stories. Keywords: test plan, test case, bug report, regression suite, playwright spec, test strategy, test design, template.
A comprehensive skill for QA Automation engineers to create test plans, generate manual test cases, build automated Playwright tests, create regression test suites, validate UI with browser automation, and document bugs effectively.
Activation: This skill is triggered only when explicitly called by name (e.g., /qa-test-planner, qa-test-planner, or use the skill qa-test-planner).
Quick Start
Create a test plan:
"Create a test plan for the user authentication feature using the test-plan.md template"
Generate test cases:
"Generate manual test cases for the checkout flow using the test-case.md template"
Create automated Playwright tests:
"Create Playwright automated tests for the login flow using the playwright-test.md template"
Validate UI with browser:
"Navigate to the login page and validate all form elements are visible using Playwright MCP"
Build regression suite:
"Build a regression test suite for the payment module using test-case.md templates grouped by priority"
Create bug report:
"Create a bug report for the form validation issue using the bug-report.md template"
Quick Reference
Task
Template
Time
Test Plan
templates/test-plan.md
10-15 min
Test Case
templates/test-case.md
5-10 min each
Automated Test
templates/playwright-test.md
5-15 min each
Bug Report
templates/bug-report.md
5 min
When to Use This Skill
Use this skill when you need to:
Create or review test plans and test strategies
Generate test cases from requirements or user stories
Write bug reports with clear reproduction steps
Build regression suites with risk-based selection
Implement Playwright automation with best practices
Document test execution and results
Conduct exploratory testing sessions
Validate UI elements with browser automation
Prerequisites
Requirement
Notes
Node.js 18+
Required for Playwright automation
Playwright
npm init playwright@latest for automation
Text editor
For creating/editing markdown files
Git
Recommended for testware version control
Playwright MCP
Optional, for browser-based validation
How It Works
Your Request
│
▼
┌─────────────────────────────────────────────────────┐
│ 1. ANALYZE │
│ • Parse feature/requirement │
│ • Identify test types needed (manual/automated) │
│ • Determine scope and priorities │
├─────────────────────────────────────────────────────┤
│ 2. SELECT TEMPLATE │
│ • Choose appropriate template from assets/ │
│ • Review template structure and sections │
│ • Identify placeholders to fill │
├─────────────────────────────────────────────────────┤
│ 3. CUSTOMIZE │
│ • Fill in placeholders with project details │
│ • Add specific test steps and scenarios │
│ • Apply Playwright best practices │
├─────────────────────────────────────────────────────┤
│ 4. EXECUTE (with Playwright MCP) │
│ • Navigate and interact with browser │
│ • Capture screenshots and evidence │
│ • Validate UI elements and behavior │
├─────────────────────────────────────────────────────┤
│ 5. VALIDATE │
│ • Check completeness │
│ • Verify traceability │
│ • Ensure actionable steps │
└─────────────────────────────────────────────────────┘
│
▼
QA Deliverable Ready
Workflows
1) Create a Test Plan
Use templates/test-plan.md as your starting point
Identify test objectives, scope, assumptions, and constraints
Define test levels and types (functional, UI, performance, etc.)
Specify environments, test data, tooling, and configuration needs
Define entry/exit criteria, deliverables, and reporting cadence
Regression is risk-based, tagged, and curated with clear add/remove rules
Bug reports are reproducible, actionable, and contain evidence + environment + impact
Troubleshooting
Problem
Cause
Solution
Test cases lack traceability
Missing requirement IDs
Add requirement_id column; link to user stories/ACs
Bug reports get rejected
Insufficient reproduction steps
Use minimal steps; include exact data and environment
Regression suite too slow
Too many tests, no prioritization
Apply risk-based selection; tier into smoke/sanity/full
Flaky automated tests
Unstable locators or timing
Use data-testid; avoid sleeps; use Playwright auto-waits
Test estimates are wrong
Scope creep, missing risks
Add contingency; re-estimate when scope changes
Common Rationalizations
Common shortcuts and "good enough" excuses that erode test quality — and the reality behind each.
Rationalization
Reality
"Test plans are documentation theater"
A good test plan prevents scope creep, missed scenarios, and misaligned expectations before testing begins.
"We can figure out test cases as we go"
Ad-hoc testing leaves gaps. Structured test cases ensure systematic coverage and traceability.
"Bug reports can be informal"
Reproducible bug reports with exact steps save hours of back-and-forth between tester and developer.
"Estimation is just guessing"
Test estimation techniques (function point analysis, Delphi method) improve accuracy and credibility.
"Regression suites maintain themselves"
Without curation, suites grow bloated and slow. Regular review and pruning are mandatory.
"Templates slow us down"
Templates ensure nothing is forgotten and standardize quality across the team.
"Testing shows the presence, not the absence of bugs." - Edsger Dijkstra
"Quality is not an act, it is a habit." - Aristotle
Verification
After completing this skill's workflow, confirm:
Test strategy document created — Covers scope, approach, resources, schedule, and risks
Test levels defined — Unit, integration, E2E, and acceptance levels with criteria
Entry/exit criteria documented — Clear definition of when testing starts and ends
Risk-based prioritization — Tests prioritized by impact x likelihood
Environment requirements listed — Hardware, software, data, and network requirements
Defect management process defined — How bugs are reported, tracked, and resolved
Stakeholder sign-off — Test plan reviewed and approved by relevant stakeholders
1---2name: qa-test-planner3description: Generate ready-to-fill QA deliverables from markdown templates: test plans, manual test cases, automated Playwright specs, regression suites, and bug reports. Use when asked to draft or fill any of these artifacts from requirements or user stories. Keywords: test plan, test case, bug report, regression suite, playwright spec, test strategy, test design, template.4license: Complete terms in LICENSE.txt5---67# QA Test Planner89A comprehensive skill for QA Automation engineers to create test plans, generate manual test cases, build automated Playwright tests, create regression test suites, validate UI with browser automation, and document bugs effectively.1011> **Activation:** This skill is triggered only when explicitly called by name (e.g., `/qa-test-planner`, `qa-test-planner`, or `use the skill qa-test-planner`).1213---1415## Quick Start1617**Create a test plan:**1819```20"Create a test plan for the user authentication feature using the test-plan.md template"21```2223**Generate test cases:**2425```26"Generate manual test cases for the checkout flow using the test-case.md template"27```2829**Create automated Playwright tests:**3031```32"Create Playwright automated tests for the login flow using the playwright-test.md template"33```3435**Validate UI with browser:**3637```38"Navigate to the login page and validate all form elements are visible using Playwright MCP"39```4041**Build regression suite:**4243```44"Build a regression test suite for the payment module using test-case.md templates grouped by priority"45```4647**Create bug report:**4849```50"Create a bug report for the form validation issue using the bug-report.md template"51```5253---5455## Quick Reference5657| Task | Template | Time |58| -------------- | ------------------------------ | ------------- |59| Test Plan | `templates/test-plan.md` | 10-15 min |60| Test Case | `templates/test-case.md` | 5-10 min each |61| Automated Test | `templates/playwright-test.md` | 5-15 min each |62| Bug Report | `templates/bug-report.md` | 5 min |6364---6566## When to Use This Skill6768Use this skill when you need to:6970- Create or review **test plans** and **test strategies**71- Generate **test cases** from requirements or user stories72- Write **bug reports** with clear reproduction steps73- Build **regression suites** with risk-based selection74- Implement **Playwright automation** with best practices75- Document **test execution** and results76- Conduct **exploratory testing** sessions77- Validate **UI elements** with browser automation7879---8081## Prerequisites8283| Requirement | Notes |84| -------------- | ------------------------------------------- |85| Node.js 18+ | Required for Playwright automation |86| Playwright | `npm init playwright@latest` for automation |87| Text editor | For creating/editing markdown files |88| Git | Recommended for testware version control |89| Playwright MCP | Optional, for browser-based validation |9091---9293## How It Works9495```96Your Request97 │98 ▼99┌─────────────────────────────────────────────────────┐100│ 1. ANALYZE │101│ • Parse feature/requirement │102│ • Identify test types needed (manual/automated) │103│ • Determine scope and priorities │104├─────────────────────────────────────────────────────┤105│ 2. SELECT TEMPLATE │106│ • Choose appropriate template from assets/ │107│ • Review template structure and sections │108│ • Identify placeholders to fill │109├─────────────────────────────────────────────────────┤110│ 3. CUSTOMIZE │111│ • Fill in placeholders with project details │112│ • Add specific test steps and scenarios │113│ • Apply Playwright best practices │114├─────────────────────────────────────────────────────┤115│ 4. EXECUTE (with Playwright MCP) │116│ • Navigate and interact with browser │117│ • Capture screenshots and evidence │118│ • Validate UI elements and behavior │119├─────────────────────────────────────────────────────┤120│ 5. VALIDATE │121│ • Check completeness │122│ • Verify traceability │123│ • Ensure actionable steps │124└─────────────────────────────────────────────────────┘125 │126 ▼127QA Deliverable Ready128```129130---131132## Workflows133134### 1) Create a Test Plan1351361. Use `templates/test-plan.md` as your starting point1372. Identify test objectives, scope, assumptions, and constraints1383. Define test levels and types (functional, UI, performance, etc.)1394. Specify environments, test data, tooling, and configuration needs1405. Define entry/exit criteria, deliverables, and reporting cadence1416. Add a risk matrix and mitigation actions1427. Prioritize testing accordingly (risk-based testing)143144**Template:** [`templates/test-plan.md`](templates/test-plan.md)145146### 2) Generate Test Cases1471481. Use `templates/test-case.md` for individual test cases1492. Convert requirements into test conditions (what to test)1503. Pick a test design technique:151 - Equivalence partitions and boundary values for inputs152 - Decision tables for rule combinations153 - State transitions for lifecycle/flows154 - Use-case/scenario tests for end-to-end journeys1554. Write test cases that are atomic, unambiguous, and traceable1565. Add expected results that are observable and measurable1576. Add priority and risk tags to support risk-based regression1587. Mark automation candidates using stability + value criteria159160**Templates:**161162- [`templates/test-case.md`](templates/test-case.md) - Individual test case163164### 3) Implement Automation Test Scripts (Playwright)1651661. Use `templates/playwright-test.md` as a template1672. Keep tests readable and aligned with test cases1683. Prefer stable locators (e.g., `getByTestId`) over brittle selectors1694. Avoid arbitrary sleeps; rely on Playwright auto-waits and explicit assertions1705. Make tests independent (setup preconditions explicitly)1716. Use tagging in test titles (e.g., `@smoke`, `@regression`) for suite runs1727. Capture artifacts for triage (screenshots/video/trace) when debugging173174**Template:** [`templates/playwright-test.md`](templates/playwright-test.md)175176### 4) Build and Maintain Regression Suites1771781. Use `templates/regression-suite.md` to define the suite1792. Define suite tiers: smoke (critical paths), sanity (build verification), regression (broad), full (release)1803. Select tests using risk + frequency + criticality + defect history1814. Tag tests consistently and document selection rules1825. Review the suite regularly: remove obsolete coverage, add coverage for escaped defects183184**Template:** Use individual `test-case.md` templates grouped by priority185186### 5) Create Bug Reports1871881. Use `templates/bug-report.md` as your starting point1892. Reproduce reliably; reduce to minimal steps1903. Note variability (frequency) and scope1914. Capture environment details (build/app version, OS, browser/device, account/role)1925. Describe expected vs actual behavior1936. Include impact; set severity and priority consistently1947. Attach evidence (screenshots, console logs, network traces, Playwright trace)1958. Track lifecycle: triage notes, owner, fix version, verification steps196197**Template:** [`templates/bug-report.md`](templates/bug-report.md)198199---200201## Security Guidelines202203### Credential Handling204205**NEVER embed real credentials in test cases or code.** Use placeholders instead:206207| Instead of | Use |208| ----------------------------- | ----------------------------------------------------- |209| `test@example.com / Test123!` | `${TEST_USER_EMAIL}` or `process.env.TEST_USER_EMAIL` |210| `password: "actualpassword"` | `password: "${TEST_PASSWORD}"` (from env) |211| Hardcoded secrets | Environment variables via `.env` files |212213**Test data best practices:**214215- Use test accounts provisioned via API or admin panel216- Store credentials in environment variables217- Use Faker.js or similar for generated test data218- Never commit real credentials to version control219220### URL Navigation Safety221222When using Playwright MCP to validate external/untrusted URLs:2232241. **Verify the URL is from a trusted domain** before navigating2252. **Avoid executing arbitrary JavaScript** from untrusted sources2263. **Use sandboxed environments** when testing third-party applications2274. **Do NOT navigate to URLs provided by untrusted user input** without validation228229### Input Sanitization230231All user inputs should be:232233- Validated for expected format234- Escaped when used in generated code235- Never passed directly to `eval()` or shell execution236237---238239## Anti-Patterns240241| Avoid | Why | Instead |242| --------------------- | ----------------------- | ----------------------------------------- |243| Vague test steps | Can't reproduce | Specific actions + expected results |244| Missing preconditions | Tests fail unexpectedly | Document all setup requirements |245| No test data | Tester blocked | Provide sample data or generation |246| Generic bug titles | Hard to track | Specific: "[Feature] issue when [action]" |247| Skip edge cases | Miss critical bugs | Include boundary values, nulls |248| Embedding credentials | Security risk | Use environment variables |249250---251252## Verification Checklist253254**Test Plan:**255256- [ ] Scope clearly defined (in/out)257- [ ] Entry/exit criteria specified258- [ ] Risks identified with mitigations259- [ ] Timeline realistic260261**Test Cases:**262263- [ ] Each step has expected result264- [ ] Preconditions documented265- [ ] Test data uses placeholders (no hardcoded credentials)266- [ ] Priority assigned267268**Automated Tests:**269270- [ ] Role-based locators used271- [ ] Web-first assertions implemented272- [ ] Page Object Model applied273- [ ] test.step() grouping for clarity274- [ ] Error handling and screenshots275- [ ] Credentials loaded from environment variables276277**Bug Reports:**278279- [ ] Reproducible steps280- [ ] Environment documented281- [ ] Screenshots/evidence attached282- [ ] Severity/priority set283284---285286## Templates287288### Available Templates289290| Template | Purpose | Format |291| ---------------------------------------------------- | -------------------------------------------- | -------- |292| [`test-plan.md`](templates/test-plan.md) | ISTQB-aligned test plan structure | Markdown |293| [`test-case.md`](templates/test-case.md) | Individual test case with full sections | Markdown |294| [`bug-report.md`](templates/bug-report.md) | Detailed defect report | Markdown |295| [`playwright-test.md`](templates/playwright-test.md) | Playwright test template with best practices | Markdown |296297### Template Usage298299All templates are located in `templates/`. To use them:3003011. **Copy the template** to your project directory3022. **Fill in placeholders** (marked with `[brackets]` or `${VARIABLE}`)3033. **Customize sections** based on your specific needs3044. **Remove or add sections** as appropriate3055. **Save and version control** the completed document306307---308309## References310311- [`references/test_case_templates.md`](references/test_case_templates.md) - Standard formats for all test types312- [`references/bug_report_templates.md`](references/bug_report_templates.md) - Documentation templates313- [`references/regression_testing.md`](references/regression_testing.md) - Suite building and execution314- [`references/playwright_automation.md`](references/playwright_automation.md) - Browser automation and test generation315316---317318## Examples319320<details>321<summary><strong>Example: Using the Test Case Template</strong></summary>322323**Request:**324325```326"Create a test case for user login with valid credentials using the test-case.md template"327```328329**Result:**330The AI will:3313321. Open `templates/test-case.md`3332. Fill in the placeholders with specific details:334 - TC-ID: `TC-LOGIN-001`335 - Title: `Verify valid user login with correct credentials`336 - Priority: `P0 (Critical)`337 - Type: `Functional`338 - Objective: `Verify users can successfully login with valid credentials`339 - Preconditions: `User account exists in test environment; Browser cookies cleared`340 - Test Steps: Fill with specific login steps341 - Test Data: Use `${TEST_USER_EMAIL}` and `${TEST_USER_PASSWORD}` placeholders3423. Provide the completed test case markdown file343344</details>345346<details>347<summary><strong>Example: Using the Bug Report Template</strong></summary>348349**Request:**350351```352"Create a bug report for a login form validation issue using the bug-report.md template"353```354355**Result:**356The AI will:3573581. Open `templates/bug-report.md`3592. Generate a unique bug ID (e.g., `BUG-1715345678`)3603. Fill in the placeholders:361 - Title: `Login form accepts invalid email format`362 - Severity: `High`363 - Priority: `P1`364 - Environment: Fill with actual OS, browser, build details365 - Steps to Reproduce: Add specific, reproducible steps366 - Expected vs Actual: Clear description of the issue367 - Impact: Describe user and business impact3684. Provide the completed bug report markdown file369370</details>371372<details>373<summary><strong>Example: Using the Playwright Spec Template</strong></summary>374375**Request:**376377```378"Create Playwright tests for the login flow using the playwright-test.md template"379```380381**Result:**382The AI will:3833841. Open `templates/playwright-test.md`3852. Customize the test describe block for login functionality3863. Add specific test cases:387 - `TC-LOGIN-001 @smoke @regression` - Valid login388 - `TC-LOGIN-002 @regression @negative` - Invalid credentials389 - `TC-LOGIN-003 @regression @boundary` - Password validation3904. Implement test steps using Playwright best practices:391 - Role-based locators (`getByRole`)392 - Web-first assertions (`toBeVisible`, `toHaveText`)393 - test.step() grouping for readability3945. Add security notes about environment variables3956. Provide the completed markdown template with TypeScript code examples396397</details>398399---400401## Best Practices (avoids the anti-patterns above)402403### Test Case Writing404405- Be specific and unambiguous; include expected results for each step406- Test one thing per case; document all preconditions and test data407- Include edge cases and boundary values; use consistent naming408409### Bug Reporting410411- Provide minimal, exact reproduction steps; specify environment details412- Include screenshots/videos and describe user and business impact413- Set severity/priority; avoid duplicates with clear, specific titles414415### Regression Testing416417- Automate repetitive tests; prioritize critical paths418- Run smoke tests frequently; review and prune the suite regularly419- Tag consistently; never ignore failed regression tests420421### Security422423- Use environment variables for credentials; never commit secrets424- Validate URLs before navigating; report suspicious content425- Never execute arbitrary JavaScript from user input426427---428429## Quality Gates (Self-Check)430431- **Test plan** includes scope, approach, risks, environments, entry/exit criteria, deliverables, and metrics432- **Test cases** are traceable, atomic, deterministic, and include clear oracles and data433- **Automation** is maintainable (stable locators, minimal flake, independent tests, clear assertions)434- **Regression** is risk-based, tagged, and curated with clear add/remove rules435- **Bug reports** are reproducible, actionable, and contain evidence + environment + impact436437---438439## Troubleshooting440441| Problem | Cause | Solution |442| ---------------------------- | --------------------------------- | ---------------------------------------------------------- |443| Test cases lack traceability | Missing requirement IDs | Add `requirement_id` column; link to user stories/ACs |444| Bug reports get rejected | Insufficient reproduction steps | Use minimal steps; include exact data and environment |445| Regression suite too slow | Too many tests, no prioritization | Apply risk-based selection; tier into smoke/sanity/full |446| Flaky automated tests | Unstable locators or timing | Use `data-testid`; avoid sleeps; use Playwright auto-waits |447| Test estimates are wrong | Scope creep, missing risks | Add contingency; re-estimate when scope changes |448449---450451## Common Rationalizations452453> Common shortcuts and "good enough" excuses that erode test quality — and the reality behind each.454455| Rationalization | Reality |456| --------------------------------------- | ----------------------------------------------------------------------------------------------------------- |457| "Test plans are documentation theater" | A good test plan prevents scope creep, missed scenarios, and misaligned expectations before testing begins. |458| "We can figure out test cases as we go" | Ad-hoc testing leaves gaps. Structured test cases ensure systematic coverage and traceability. |459| "Bug reports can be informal" | Reproducible bug reports with exact steps save hours of back-and-forth between tester and developer. |460| "Estimation is just guessing" | Test estimation techniques (function point analysis, Delphi method) improve accuracy and credibility. |461| "Regression suites maintain themselves" | Without curation, suites grow bloated and slow. Regular review and pruning are mandatory. |462| "Templates slow us down" | Templates ensure nothing is forgotten and standardize quality across the team. |463464---465466**"Testing shows the presence, not the absence of bugs." - Edsger Dijkstra**467468**"Quality is not an act, it is a habit." - Aristotle**469470---471472## Verification473474After completing this skill's workflow, confirm:475476- [ ] **Test strategy document created** — Covers scope, approach, resources, schedule, and risks477- [ ] **Test levels defined** — Unit, integration, E2E, and acceptance levels with criteria478- [ ] **Entry/exit criteria documented** — Clear definition of when testing starts and ends479- [ ] **Risk-based prioritization** — Tests prioritized by impact x likelihood480- [ ] **Environment requirements listed** — Hardware, software, data, and network requirements481- [ ] **Defect management process defined** — How bugs are reported, tracked, and resolved482- [ ] **Stakeholder sign-off** — Test plan reviewed and approved by relevant stakeholders
Run npx skillmds@latest add sahit-sai/qa-test-planner in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Generate ready-to-fill QA deliverables from markdown templates: test plans, manual test cases, automated Playwright specs, regression suites, and bug reports. Use when asked to draft or fill any of these artifacts from requirements or user stories. Keywords: test plan, test case, bug report, regression suite, playwright spec, test strategy, test design, template. It is listed under Docs & Writing on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under Complete terms in LICENSE.
sahit-sai (@sahit-sai) published this skill. Their other Agent Skills are listed on their SkillMD profile.