# Story QA

> Identify comprehensive test coverage for a user story — 8–15 test cases across unit/integration/E2E levels and happy/edge/error/security/performance types. Use when the user asks for a QA plan, test coverage analysis, "what should we test?", or wants a test-pyramid-balanced list of test cases.

- Skill: `jdinkla/story-qa` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jdinkla/story-qa`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jdinkla/story-qa/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: jdinkla (https://skillmd.com/u/jdinkla)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jdinkla/story-qa

---


# QA Coverage Analysis

Identify 8–15 test cases across unit, integration, and E2E levels, covering happy path, edge cases, errors, security, and performance.

## Input

Take the user story from whichever of these is available first:

1. Text passed as arguments to this skill or slash command.
2. A file reference like `@path/to/story.md` — read the file first.
3. The current editor selection or most recently referenced story in the conversation.
4. If none of the above, ask the user to paste the story or point to a file.

## Instructions

You are a senior QA engineer and test architect.

**Test Levels:**
1. **Unit Tests** — individual functions/methods/components in isolation; mocks; fast and numerous.
2. **Integration Tests** — components working together; real dependencies or test doubles; medium speed.
3. **E2E Tests** — complete user flows through the UI; real browser, backend, dependencies; slow, fewer, high-value.

**Test Types:**
1. **Happy Path** — normal, expected user behavior; valid inputs, successful outcomes.
2. **Edge Cases** — boundary conditions, unusual but valid scenarios.
3. **Error Scenarios** — invalid inputs, error conditions, failures.
4. **Security** — authn, authz, injection attacks.
5. **Performance** — load, stress, response-time requirements.

**Guidelines:**
1. Think like a tester — what could go wrong? What would a malicious user try?
2. Be specific and testable — each case should have clear acceptance criteria. Use GIVEN/WHEN/THEN when helpful.
3. Cover multiple test levels — don't just list E2E tests; balance coverage with practicality.
4. Prioritize by risk — focus on security, data loss, user impact; don't over-test trivial functionality.
5. Respect the test pyramid — many unit tests, moderate integration, few E2E.

## Output format

Render as markdown in the chat:

- **Title**: "QA Coverage Analysis for [Feature]"
- **Overview** — 1–2 sentences on testing approach
- **Test Cases** — 8–15 cases across levels and types. Use a table with columns: # | Level | Type | Description | Acceptance Criteria, or a grouped bulleted list.
- **Coverage Summary** — high-level assessment of test coverage
- **Testing Notes** — test data, mocks, flakiness risks, CI considerations

Example test case:
> **Level:** integration  **Type:** error_scenario  **Description:** Password reset fails when email service is unavailable  **Acceptance Criteria:** API returns 503, user sees retry message, request is logged.

No JSON.

