Context
Use this skill whenever a change affects an API, public interface, workflow contract, generated artifact, or user-observable behavior. A passing status-only test is not evidence that the intended artifact or contract is correct.
Patterns
- Update tests in the same change as an API, signature, export, or public-interface change.
- Make assertions name and inspect the offending artifact, output, or configuration field—not just an exit code or broad success status.
- Mutation-test critical gates by changing the real source or emitted artifact and proving the assertion turns red.
- Exercise every caller path for a changed parser, normalizer, or helper; isolated unit coverage can miss the integration path that invokes it differently.
- Reproduce working-tree-only failures locally when the contract depends on index, filesystem, line-ending, or generated-output state.
- Keep expected inventory arrays synchronized with the files they enumerate.
Examples
A workflow-compilation test mutates the source workflow, compiles it, and inspects the emitted safe-output contract. A repair-script test constructs the actual index/blob/worktree state that the repair routine must handle instead of a simplified fixture.
Anti-Patterns
- Calling a test sufficient because it observes only a successful process exit
- Mutating a hand-built fixture instead of the source or artifact protected by the gate
- Testing a helper while omitting production callers
- Treating a local checkout defect as something CI alone can validate