# 0022 — Test skills: write-tests, generate-test-data, review-test-coverage **Type:** HITL **Parent PRD:** `docs/prd/chunk-3-skills-library.md` ## What to build The 3 test phase skills. All are new. Authored via `write-skill` (0018), evals via `write-eval` (0017). **Skills and trigger descriptions:** | Flat name | Trigger description | |---|---| | `write-tests` | Write tests, generate test cases, add unit tests | | `generate-test-data` | Generate test data, create fixtures, sample data | | `review-test-coverage` | Review test coverage, find untested paths, coverage gaps | **Key constraints per skill:** - `write-tests`: derives tests from spec (EARS acceptance criteria), NOT from implementation; uses pytest for Python, Vitest/Jest for TypeScript - `generate-test-data`: produces structurally valid, semantically unusual data; flags PII risk before generating - `review-test-coverage`: reports coverage gaps against spec acceptance criteria, not line coverage percentages ## Implementation notes Follow the per-skill workflow defined in `docs/notes/skill-implementation-workflow.md` (produced by issue 0016). **Known upstream sources to review:** - `mattpocock/skills` — check for any test-phase skills in the current set - `bmad-method/bmad-method` — BMAD QA role patterns - Search agentskills.io and GitHub for open-source test generation skills before writing from scratch ## Acceptance criteria - [ ] All 3 SKILL.md files exist at `.agents/skills//SKILL.md`; `metadata.category: test`; authoring standard met - [ ] `write-tests` includes explicit constraint: derives from spec, not from implementation - [ ] `generate-test-data` includes PII flag check before generating any data - [ ] `source:` fields populated for any adopted upstream content - [ ] Each skill has a co-located eval at `.agents/evals/test//eval.yaml` via `write-eval` - [ ] `install.sh` deploys all 3 to `~/.agents/skills/` - [ ] **HITL:** human runs behavioral test per skill - [ ] **HITL:** human reviews each SKILL.md and eval before committing - [ ] _(Further criteria to be refined after issue 0016 grill session)_ ## Blocked by - 0016 (per-skill workflow) - 0017 (`write-eval`) - 0018 (`write-skill`)