design-by-contract
Installation
SKILL.md
Design by contract
Use a contract only for a design decision that is hard to reverse, surprising without explanation, and based on a real trade-off.
Name the caller and the code that serves it. State:
- what the caller must provide
- what the code guarantees in return
- what must remain true while they interact
- what happens when either side breaks the agreement, if the design defines it
Do not invent missing rules. Point them out to the calling skill or user.
When comparing designs, use the same statements for both. Use prose for one simple contract, a table for a comparison, and Mermaid only when a sequence, state change, or dependency is hard to explain in prose.