What problem does it solve? Unit tests often exercise third-party libraries, reimplement fakes, or assert identities that pass regardless of correctness, leaving mutation survivors and false confidence. This Skill encodes the FoolProof repository's spec-writing rules so every *.spec.ts file tests exactly one module with everything else mocked. ## Core Features & Use Cases - Strict unit isolation: Enforces mocking every import — third-party libraries, sibling modules, and collaborators — while keeping data tables real, with rules for where shared constants must live. - Stub conventions: Defines typed stub classes with vi.fn() spy fields placed beside the modules they replace, plus guidance on hoisted vi.mock ordering and avoiding fakes that reimplement behavior. - Integration spec criteria: Limits integration specs to two shapes — contracts with external code and fully mocked module chains — documented in the an-integration-spec.md reference. - Mutation survivor analysis: The reading-a-survivor.md reference explains how to interpret Stryker survivors, distinguishing missing tests from equivalent mutants and dead code. - Use Case: When adding a new feature to the Telegram bot, use this Skill to write the spec first, deciding what the interfaces may expose based on what the spec can mock. ## Quick Start Use the write-a-spec skill to write a unit spec for the new card-message module following the repository's mocking and stub rules.