name: qa description: "Generate QA test summary from current branch changes for PR handoff" allowed-tools: Read, Grep, Glob, Bash, Write
/qa - QA Test Summary Generator
Generate a QA handoff document from the current branch's changes. Output should be ready to paste as a Jira comment on the ticket.
Write two versions of the output:
.claude/qa-summary.md— Markdown version with proper headings, bold, checkboxes, and code formatting. Useful for GitHub PRs or reference..claude/qa-summary.txt— Plain text version following the Jira formatting rules below. This is the one that gets copied to clipboard.
After writing both files, run cat .claude/qa-summary.txt | pbcopy to copy the Jira version to the clipboard. Tell the user: "Copied to clipboard — paste into Jira with Cmd+V. Markdown version also saved to .claude/qa-summary.md."
Instructions
- Discover changes: Diff against the branch's parent, not production. Run
git diff development --statandgit log development..HEAD --onelineto see only what this branch adds. Also rungit diff HEAD --statto catch any uncommitted work. - Read changed files: Read the key modified files to understand the actual changes, not just the diff stats
- Identify scope: Determine which features, pages, and components are affected
- Discover test credentials: For every persona a test case asks QA to sign in as, surface the actual credential values, not generic labels like "the seeded co-loaded persona." Look for:
- Seed scenario names (e.g.
src/**/Seed*.cs,seeds/**,prisma/seed.ts, fixtures) - Email patterns or templates in config (
appsettings*.json,.env*,config/**) - OTP / password bypass mechanisms or where to read OTPs (Mailpit, MailHog, dev console, feature flags)
- State / tenant env vars required to seed the right data (
STATE,TENANT, etc.) - Any docs in
README.mdordocs/**that already enumerate test users Resolve patterns into concrete values — e.g. ifEmailPatternissebt.dc+{0}@codeforamerica.organd the scenario isco-loaded, the test credential issebt.dc+co-loaded@codeforamerica.org.
- Seed scenario names (e.g.
- Generate test summary in plain text with light formatting. The output will be pasted into Jira Cloud's rich text editor. Use this format:
QA Summary — [Branch Name]
What Changed
Brief 2-3 sentence description of the feature/fix.
Affected Areas
- All pages — page views and browser tab titles
- Sign in / Sign out flow
Test Cases
Happy Path
1. Step-by-step test case with expected result
2. Another test case...
Edge Cases
1. Edge case scenario with expected behavior
Regression Checks
1. Verify [related feature] still works as expected
Test Credentials
- Persona name — login email — how to retrieve OTP/password
- Another persona — login email — how to retrieve OTP/password
Environment Notes
- Environment setup needed
- Which environments to test on
Formatting rules — CRITICAL
- Use plain text with simple numbered and bulleted lists
- NO markdown syntax (no ##, no **, no backticks, no [ ] checkboxes)
- NO Jira wiki markup (no h2., no *, no {{}}, no #)
- Section headers should be plain text on their own line, in ALL CAPS or Title Case to stand out
- Use dashes (-) for bullet lists and numbers (1. 2. 3.) for ordered lists
- For inline code references like event names, just use quotes: "page_view", "sign_in"
- For links, write the full URL on its own line
Key Behaviors
- Focus on user-facing behavior, not implementation details
- Test cases should be actionable by someone who didn't write the code
- Use relative paths for navigation (e.g. "Navigate to Tools > Tag Generator"), never reference localhost or full URLs — QA knows their environment
- Assume QA is already signed in and on the app unless the test specifically involves auth
- Call out any data dependencies (specific campaigns, creatives, etc.)
- Always include a "Test Credentials" section listing every persona referenced in the test cases with the actual login email and a one-liner on how to retrieve the OTP/password (e.g. "Mailpit at http://localhost:8025" or "OTP bypass enabled in dev — any code works"). Never use generic phrases like "the seeded co-loaded persona" without the concrete email.
- If changes touch auth, API layer, or shared components, expand regression scope
- Keep it concise — QA doesn't need to know about refactors or code style changes
- Use checkboxes only in the markdown version (
qa-summary.md); the plain-text Jira version uses numbered lists per the formatting rules above
Language Rules — CRITICAL
- NEVER reference file names, paths, components, stores, functions, or code concepts. QA does not read code.
- Write everything in terms of what the user sees and does in the browser — pages, buttons, modals, fields, messages.
- Instead of "interceptors.js tracks CRUD operations", say "Creating, editing, or deleting any item should be tracked"
- Instead of "TableFilter.vue search is debounced", say "Type in a search bar, wait a second, and the search should be recorded"
- Instead of "Affected: src/features/analytics/...", say "Affected: Analytics reports page"
- The "Affected Areas" section should list page names and UI areas, not files or components
- Environment Notes should only include things QA needs to configure or be aware of — no technical implementation details
Skills similaires
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Claude CodeCursoradvanced
890
234
3,180
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
claudeCursorWindsurfbeginner
259
72
1,083
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.
claudeCursorWindsurfintermediate
156
44
943