QA planning assistant that generates testing checklists based on git changes or PR diffs.
Install
mkdir -p .claude/skills/test-plan && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4633" && unzip -o skill.zip -d .claude/skills/test-plan && rm skill.zipInstalls to .claude/skills/test-plan
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Generates a comprehensive testing plan based on the current branch changes or a specific PR. UseKey capabilities
- →Analyze code diffs
- →Identify regression risks
- →Generate QA checklists
- →Verify security and error handling
- →Plan visual and accessibility tests
How it works
The skill analyzes code changes against a set of critical and standard checks to generate a tailored testing plan based on the scope of the PR.
Inputs & outputs
When to use test-plan
- →Creating PR test plans
- →Identifying regression risks in code
- →Verifying security and error handling
- →Planning manual QA checks
About this skill
Generate Testing Plan for PR
Generate a comprehensive testing plan based on the current branch changes or a specific PR.
Arguments
$ARGUMENTS can be:
- Empty: Uses current branch diff against
production - PR number:
2732- fetches that PR's diff
Steps
-
Get the diff:
- If
$ARGUMENTSis empty:git diff production...HEAD - If
$ARGUMENTSis a PR number:gh pr diff {PR_NUMBER}
- If
-
Read
docs/COMMON_MISTAKES.mdfor patterns that have caused production bugs -
Analyze the changes:
- Identify files changed and their types (components, hooks, utils, styles, pages)
- Categorize the change (new feature, bug fix, refactor, styling)
- Assess risk level based on scope and what's touched
-
Generate the testing plan using the criteria below and output format
Testing Criteria
Critical Checks
- Security: No hardcoded secrets, input validation, no unsanitized
dangerouslySetInnerHTML - Error Handling: API failures have fallbacks, validate API response shape before accessing
- Rendering Strategy: SSG for static+SEO, ISR for periodic+SEO, SSR for user-specific+SEO, CSR for private/no-SEO
- Correctness: Code matches requirements, UI matches designs, safely revertible
Standard Checks
- TypeScript: No unjustified
any, interfaces for objects, enums for categoricals - React: No unnecessary
useEffect, useuseSWRcache directly, skeleton loaders, optimistic updates - i18n/RTL: All text via
t(), CSS logical properties only (margin-inline-startnotmargin-left) - Performance: Lazy load non-critical components, new packages <10kb gzipped
- A11y: Semantic elements (
button/anotdiv onClick), images havealt, inputs havelabel
Regression Checks
- Modified components still work as before
- Shared hooks/utils don't break other consumers
- Style changes don't affect other components
- No race conditions, memory leaks, or unhandled promise rejections
Visual Verification
- Themes: Light, dark, sepia
- RTL: Arabic layout mirrors correctly
- Responsive: Mobile, tablet, desktop breakpoints
Output Format
Generate a testing plan with sections proportional to the change. Skip sections that don't apply.
## Testing Plan
### Change Summary
- **Type:** [New Feature | Bug Fix | Refactor | Styling | Config]
- **Risk Level:** [Low | Medium | High]
- **Files Changed:** X files
- **What it does:** Brief description
---
### Critical Path Tests
<!-- Primary functionality that MUST work -->
- [ ] [Specific test based on what the PR does]
- [ ] [Another specific test]
### State Verification
<!-- Only include states relevant to the change -->
- [ ] Loading state displays correctly
- [ ] Error state displays correctly (simulate: disconnect network / return 500)
- [ ] Empty state displays correctly (no data scenario)
- [ ] Success state displays correctly
### Visual & Theme Tests
<!-- Only if UI changes -->
| Theme | Verified |
| ----- | -------- |
| Light | |
| Dark | |
| Sepia | |
| Breakpoint | Verified |
| --------------- | -------- |
| Mobile (<768px) | |
| Tablet | |
| Desktop | |
| Direction | Verified |
| --------- | -------- |
| LTR | |
| RTL (AR) | |
### Regression Tests
<!-- Based on what files were modified, what else might break -->
- [ ] [Component X that imports this file still works]
- [ ] [Feature Y that uses this hook still works]
### Edge Cases
<!-- Specific to this change type -->
- [ ] [Relevant edge case 1]
- [ ] [Relevant edge case 2]
### Accessibility
<!-- Only if interactive elements changed -->
- [ ] Keyboard navigation (Tab, Enter, Escape)
- [ ] Focus states visible
- [ ] Screen reader compatible
---
### Pre-Merge Checks
- [ ] `yarn lint` passes
- [ ] `yarn test` passes
- [ ] `yarn build` succeeds
- [ ] No console.log statements
- [ ] No hardcoded strings (using `t()`)
Guidelines
Be Specific, Not Generic
// Bad - too generic
- [ ] Component works correctly
// Good - specific and actionable
- [ ] Clicking "Add Bookmark" shows success toast and updates bookmark icon
- [ ] Removing bookmark while offline shows error message
Scale to Change Size
| Change Size | Testing Depth |
|---|---|
| Tiny (1-2 LOC) | Critical path only, 2-3 tests |
| Small (<50 LOC) | Critical + states, 5-8 tests |
| Medium | Full plan minus irrelevant sections |
| Large (>15 files) | Full plan + flag for splitting |
Derive from Common Mistakes
Apply patterns from docs/COMMON_MISTAKES.md:
- Fetches data → verify loading/error/empty states
- Uses arrays → verify empty, single item, many items
- User input → verify validation, empty submit, error handling
- Touches styles → verify RTL, themes, responsive
- Modifies shared code → verify all consumers still work
Final Output
After generating the plan:
- Display the testing plan in markdown format
- Tell the user they can copy/paste it into their PR description
- Offer to help test any specific scenarios they're unsure about
When not to use it
- →Tasks unrelated to PR verification
- →Codebases without defined testing requirements
Prerequisites
Limitations
- →Effectiveness depends on the quality of COMMON_MISTAKES.md
- →Requires manual execution of the generated plan
How it compares
It creates a specific, risk-aware testing plan derived from code analysis instead of using a generic checklist.
Compared to similar skills
test-plan side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| test-plan (this skill) | 1 | 6mo | No flags | Intermediate |
| flow-next-prime | 0 | 2mo | Review | Intermediate |
| gate-review | 0 | 5mo | No flags | Beginner |
| fmea-analysis | 0 | 5mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by quran
View all by quran →You might also like
flow-next-prime
gmickel
Comprehensive codebase assessment for agent and production readiness. Scans 8 pillars (48 criteria), verifies commands work, checks GitHub settings. Reports everything, fixes agent readiness only. Triggers on /flow-next:prime.
gate-review
live-input-vector-output-node
Verify planned or implemented changes against active rules, scope lock, and required checks.
fmea-analysis
ddunnock
Conduct Failure Mode and Effects Analysis (FMEA) for systematic identification and risk assessment of potential failures in designs, processes, or systems. Supports DFMEA (Design), PFMEA (Process), and FMEA-MSR (Monitoring & System Response). Uses AIAG-VDA 7-step methodology with Action Priority (AP
spec-driven-qa
bankielewicz
>
repo-stage-review-loop
szzzzzz111
Use when a RepoPilot plan or implementation needs formal review, when final code changed after earlier review, or when external findings require evidence-based triage.
quality-gate
raddue
Iterative red-teaming of any artifact (design docs, plans, code, hypotheses, mockups). Loops until clean or stagnation. Invoked by artifact-producing skills or their parent orchestrator.