What problem does it solve? Unit tests often fail the team by being untrustworthy, brittle, or unreadable — poorly named, over-mocked, full of logic, or coupled to private implementation. This Skill applies Roy Osherove's "The Art of Unit Testing" methodology so every test you write has a clear name, a single verified exit point, and correctly chosen test doubles. ## Core Features & Use Cases - Three-Part Naming Convention: Enforces the UnitOfWork_StateUnderTest_ExpectedBehavior naming standard so a failing test name alone tells you what broke, under what condition, and what was expected. - Stub vs Mock Discipline: Distinguishes doubles by whether the test asserts against them, enforces the one-mock-per-test rule, and maps the three exit points (return value, state change, third-party call) to assertion strategy. - Testability and Legacy Code: Guides seam design via constructor/property/factory injection and Extract-and-Override, plus a strategy for getting untested legacy code under test. - Use Case: When asked to "write a unit test for this withdrawal method" or "review this test suite for over-mocking", the Skill produces properly named AAA-structured tests with exactly one mock and stubs for incoming dependencies. ## Quick Start Ask Claude to write or review a unit test for a specific method, and it will apply the three-part naming convention, Arrange-Act-Assert structure, and the stub-versus-mock rules automatically.