QualityEssential5-point gate · Any stack
Unit-test the logic, not the framework
Pure business rules tested at the edges — where the money bugs live.
Use this when
Tests that restate the implementation
High coverage, zero edge cases
Mocking the function under test
The quality gate
- Every pure business rule has unit tests: happy path, boundaries, malformed input
- Money/date/timezone logic tested at the edges: DST, leap days, rounding, zero, negative
- Test names state behavior ('rejects expired coupon'), not methods ('test1')
- Only true externals are mocked — never the logic under test
- Occasionally break the code on purpose and confirm a test fails (mutation check)
Prove it: Plant a deliberate bug in a core rule — a test must catch it, or the suite is decoration.
Install or copy
Save the download as unit-test-the-logic/SKILL.md in your agent's supported skills directory, or copy the complete package below. Load it only when its description matches the work.
Portable SKILL.md
---
name: unit-test-the-logic
description: "Applies “Unit-test the logic, not the framework” as a repeatable product-quality gate. Use during quality work when pure business rules tested at the edges — where the money bugs live."
---
# Unit-test the logic, not the framework
Apply this skill during **Quality** work. It supports Any stack.
Pure business rules tested at the edges — where the money bugs live.
## Instructions
Unit-test the pure core where the expensive bugs live: business rules, calculations, and state transitions. For each rule cover the happy path, every boundary (zero, negative, empty, maximum, duplicate), and malformed input. Money, dates, and timezones get edge-case tests by default: DST transitions, leap days, rounding direction, currency mismatch. Name tests as behavior specs — 'rejects a coupon after expiry' — so failures read as broken requirements. Mock only true externals (network, clock, randomness); if you must mock the thing you're testing, the design is wrong — fix the design. Periodically run a manual mutation check: break the logic deliberately and confirm a test catches it. A suite that can't catch a planted bug is decoration.
## Detect the problem
- Tests that restate the implementation
- High coverage, zero edge cases
- Mocking the function under test
## Hold the gate
Do not declare this phase complete until every item passes:
- [ ] Every pure business rule has unit tests: happy path, boundaries, malformed input
- [ ] Money/date/timezone logic tested at the edges: DST, leap days, rounding, zero, negative
- [ ] Test names state behavior ('rejects expired coupon'), not methods ('test1')
- [ ] Only true externals are mocked — never the logic under test
- [ ] Occasionally break the code on purpose and confirm a test fails (mutation check)
## Verify the result
Plant a deliberate bug in a core rule — a test must catch it, or the suite is decoration.
More quality skills
Want this quality gate applied to a real product decision?
Start a First Loop