behavior-contract
Bug condition/postcondition formalization as testable Behavior Contracts. Defines invariants that must be preserved across fixes.
npx skills add a5c-ai/babysitter --skill behavior-contract --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
- "Positive amounts still process correctly" - "Negative amounts still throw `InvalidAmountError`" - "Receipt format remains unchanged for all amount types" ## Contract Document Template ```markdown # Behavior Contract: [Bug Title] ## Bug Condition [Precise description of triggering conditions] ## Postcondition [Expected correct behavior after fix] ## Invariants - [ ] Invariant 1: [existing behavior to preserve] - [ ] Invariant 2: [existing behavior to preserve] ## Testable Assertions 1. `expect(processPayment(0)).toEqual({ amount: 0, status: 'completed' })` 2. `expect(processPayment(100)).toEqual({ amount: 100, status: 'completed' })` 3. `expect(() => processPayment(-1)).toThrow(InvalidAmountError)` ``` ## Usage in Bugfix Workflow 1. Bug analysis identifies root cause at file:line 2. This skill formalizes the contract from the analysis 3. tdd-enforcer writes failing test from Bug Condition 4. tdd-enforcer writes preservation tests from Invariants 5. Minimal fix applied, contract audited
- Contract Document Template
- Usage in Bugfix Workflow
What does the behavior-contract skill do?
Bug condition/postcondition formalization as testable Behavior Contracts. Defines invariants that must be preserved across fixes.
How do I install it?
Run `npx skills add a5c-ai/babysitter --skill behavior-contract --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From a5c-ai/babysitter, a repository with 1,642 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
