unit-test-writer
Purpose
Design focused unit tests around single behaviors, branches, and contracts with clear setup, action, and assertion structure.
Trigger this skill when
- You need automation work at this specific test level or concern rather than a vague “write some tests” request.
- You want explicit artifacts, assertions, and maintenance tradeoffs instead of brittle generated code.
- You need a reusable output that can hand off cleanly to the next testing skill.
Expected inputs
- requirements or code under test
- function or class behavior
- edge cases
- dependencies or seams
Deliverables
- unit test cases or skeletons
- assertion plan
- dependency strategy
- coverage notes
Operating procedure
- Clarify the target behavior, boundary, or automation goal and what would count as evidence.
- Structure the test asset so setup, action, and assertions are observable and separated.
- Minimize hidden assumptions around data, timing, environment, and ordering.
- Produce lean outputs with enough rationale that another agent or developer can continue the work safely.
Quality gates
- Prefer stable, explainable automation over superficially broad coverage.
- Keep assertions tied to observable outcomes, not vague expectations.
- Be explicit about flake risks, environmental dependencies, and setup or cleanup needs.
- Do not hide uncertainty; name assumptions and residual risk.
Handoff targets
- mock-vs-stub-selector
- fixture-and-test-data-builder
- test-oracle-writer if present
Output style
- Be explicit about uncertainty, infeasibility, and residual risk.
- Prefer compact, explainable artifacts over bloated lists.
- Tie tests back to behaviors, contracts, or flows.
- Make expected outcomes observable.
Failure modes to avoid
- Do not over-automate unstable or poorly specified behavior without naming the risk.
- Do not create tests whose assertions are weaker than the stated goal.
- Do not bury fixture, selector, timing, or dependency assumptions.
Minimum output skeleton
## Summary
## Findings
## Structured outputs
## Coverage / rationale
## Assumptions
## Open questions
## Recommended next skill
1---2name: unit-test-writer3description: unit-test-writer4---5# unit-test-writer67## Purpose8Design focused unit tests around single behaviors, branches, and contracts with clear setup, action, and assertion structure.910## Trigger this skill when11- You need automation work at this specific test level or concern rather than a vague “write some tests” request.12- You want explicit artifacts, assertions, and maintenance tradeoffs instead of brittle generated code.13- You need a reusable output that can hand off cleanly to the next testing skill.1415## Expected inputs16- requirements or code under test17- function or class behavior18- edge cases19- dependencies or seams2021## Deliverables22- unit test cases or skeletons23- assertion plan24- dependency strategy25- coverage notes2627## Operating procedure281. Clarify the target behavior, boundary, or automation goal and what would count as evidence.292. Structure the test asset so setup, action, and assertions are observable and separated.303. Minimize hidden assumptions around data, timing, environment, and ordering.314. Produce lean outputs with enough rationale that another agent or developer can continue the work safely.3233## Quality gates34- Prefer stable, explainable automation over superficially broad coverage.35- Keep assertions tied to observable outcomes, not vague expectations.36- Be explicit about flake risks, environmental dependencies, and setup or cleanup needs.37- Do not hide uncertainty; name assumptions and residual risk.3839## Handoff targets40- mock-vs-stub-selector41- fixture-and-test-data-builder42- test-oracle-writer if present4344## Output style45- Be explicit about uncertainty, infeasibility, and residual risk.46- Prefer compact, explainable artifacts over bloated lists.47- Tie tests back to behaviors, contracts, or flows.48- Make expected outcomes observable.4950## Failure modes to avoid51- Do not over-automate unstable or poorly specified behavior without naming the risk.52- Do not create tests whose assertions are weaker than the stated goal.53- Do not bury fixture, selector, timing, or dependency assumptions.5455## Minimum output skeleton56```md57## Summary58## Findings59## Structured outputs60## Coverage / rationale61## Assumptions62## Open questions63## Recommended next skill64```