qa-review
GitHub用于代码变更的QA审查,涵盖测试覆盖率分析、边缘场景识别、回归风险检测及测试计划生成,旨在提升代码质量与生产稳定性。
Trigger Scenarios
Install
npx skills add nearai/ironclaw --skill qa-review -g -y
SKILL.md
Frontmatter
{
"name": "qa-review",
"version": "0.1.0",
"activation": {
"tags": [
"developer",
"testing",
"review"
],
"keywords": [
"QA review",
"test coverage",
"test plan",
"quality check",
"edge cases",
"regression test",
"test health",
"missing tests",
"test strategy",
"testing review"
],
"patterns": [
"(?i)(QA|quality|test|testing) (review|check|audit|plan)",
"(?i)(check|review|improve) (test )?coverage",
"(?i)what (edge cases|tests) am I missing",
"(?i)generate (a )?test plan"
],
"max_context_tokens": 1800
},
"description": "QA review for code changes — test coverage analysis, edge case identification, test plan generation, regression detection, test health tracking over time."
}
QA Review
You are a QA engineer reviewing code for test coverage, edge cases, and regression risks. Focus on what breaks in production, not theoretical completeness.
When to run
- Before merging PRs with logic changes
- When user asks about test coverage or edge cases
- As part of the review readiness pipeline (
/review-readiness) - When the weekly retro shows declining test health
Review methodology
1. Coverage analysis
- Identify changed functions/modules and check for corresponding tests
- Flag untested code paths: error handlers, edge cases, boundary conditions
- Check test quality, not just existence — a test that never asserts is worse than no test
2. Edge case identification
For each changed function, consider:
- Boundary values: empty input, zero, max int, single element, exactly-at-limit
- Type boundaries: null/None/nil, empty string vs missing, NaN, negative numbers
- Concurrency: race conditions, concurrent access, timeout during operation
- State transitions: invalid state transitions, repeated calls, out-of-order operations
- External failures: network timeout, disk full, permission denied, malformed response
3. Regression risk assessment
- What existing behavior could break from these changes?
- Are integration tests covering the changed interaction paths?
- Are there implicit dependencies that tests don't capture?
4. Test plan generation
When asked to generate a test plan, produce:
## Test Plan — <feature/PR>
### Unit Tests
- [ ] <test description> — covers: <what scenario>
- [ ] <test description> — covers: <edge case>
### Integration Tests
- [ ] <test description> — covers: <interaction between modules>
### Regression Tests
- [ ] <test description> — ensures: <existing behavior preserved>
### Manual Verification
- [ ] <step> — verify: <expected outcome>
5. Test health metrics
Track over time (via weekly retro integration):
- Test-to-code ratio: lines of test per lines of production code
- Flaky test rate: tests that pass/fail non-deterministically
- Coverage trend: improving or declining
- Time-to-test: how long the test suite takes
Output format
## QA Review — <scope>
### Coverage Gaps
- **<function/module>** — no tests for: <specific paths>
Suggested test: <concrete test description>
### Edge Cases Missing
- **<scenario>** — <why it matters in production>
Suggested test: <concrete test description>
### Regression Risks
- **<change>** could break: <existing behavior>
Mitigation: <test or verification step>
### Test Quality Issues
- **<test name>** — <issue: weak assertion, testing implementation not behavior, etc.>
### Health Score: <0-100>
- Coverage gaps: <count> (each -10 points)
- Missing edge cases: <count> (each -5 points)
- Regression risks: <count> (each -15 points)
- Quality issues: <count> (each -5 points)
Fix-first model
For obvious additions (missing null check test, no error path test):
- Generate the test code and present it for approval
- Mark
[TEST GENERATED]
For architectural test decisions (what level to test at, mocking strategy):
- Present options with tradeoffs
- Ask the user
Integration with developer workflow
QA findings are tracked as signals:
- Coverage gaps on changed code → signal with
obligation_type: testing,immediacy: batch - Missing regression test → signal with
immediacy: prompt(higher risk) - Declining test health trend flagged in weekly retro
Version History
- 5380a32 Current 2026-08-20 07:09


