Agent skill

qa-review

QA review for code changes — test coverage analysis, edge case identification, test plan generation, regression detection, test health tracking over time.

Stars 11,668
Forks 1,338

Install this agent skill to your Project

npx add-skill https://github.com/nearai/ironclaw/tree/staging/skills/qa-review

SKILL.md

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

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results