shift-left-testinglisted
Install: claude install-skill jhutchison0/tacsop
# Shift-Left Testing
Move testing earlier in the development cycle: test components before integration, test with mocks before hardware, test logic before dependencies exist. This SKILL.md is the entry point; deep procedural content lives in sidecar files loaded on demand.
**Philosophy**: *"Never skip tests because dependencies aren't ready. Mock what you don't have, test what you build, validate continuously."*
## When to Use
- Setting up test infrastructure for a new project or component
- Designing the test strategy for a feature before writing code
- Implementing mocks for external dependencies
- Driving feature work via test-first TDD (the vertical-slicing rhythm)
- Reviewing test coverage, quality, or detecting anti-patterns
- Testing numeric, stochastic, or invariant-bearing code (scorers, pipelines, graph metrics)
- Wrapping legacy code or scripts in tests before changing them
## Core Principles
Four rules that govern everything else in this skill:
1. **Test independence.** Every test runs in isolation. No shared mutable state between tests, no execution-order dependencies.
2. **Mock external dependencies.** Never let tests depend on APIs, databases, hardware, or other services you don't fully control.
3. **Test early, test often.** Write tests before or alongside code, never after. Vertical slicing (one test → one implementation → repeat) is the rhythm; see `VERTICAL-SLICING.md`.
4. **Fail fast, fail clear.** Tests should fail quickly with messages that name w