Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Bug → spec protocol. When a bug is found or a test fails, trace the cause, decide whether a new §V invariant would catch recurrence, append to §B. This is the one non-obvious thing SDD does that plan-then-execute doesn't. Triggers on test failure, bug report, post-mortem, or explicit user ask.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 1124% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 47% | 0% |
Plan-then-execute fixes the code & forgets. SDD fixes the code AND edits spec so recurrence is impossible. That edit is backprop.
/build verification./check flags VIOLATE with root cause found.Read failure output / bug report. Find exact file:line of wrong behavior. Name root cause in one caveman sentence.
Ask three questions:
Draft the spec change. Never skip §B; §V/§I/§T are case-by-case.
Template:
§B row: B<next>|<date>|<root cause>|V<N>
§V line: V<next>: <testable rule that would have caught it>Example:
§B row: B3|2026-04-20|refund job ran twice on retry|V7
§V line: V7: ∀ refund → idempotency key check before charge reversalNew invariant without test = lie. Add failing test first. Name test so it cites the invariant: TestV7_RefundIdempotent.
Fix code. Run test. Must pass. Run full suite. Must not regress.
Commit spec edit + test + code fix together. Commit msg: backprop §B.<n> + §V.<N>: <one-line cause>.
! hold over ⊥ forbid).Bad: V8: code should be correct. Good: V8: ∀ pg_query ! params interpolated via driver, ⊥ string concat.
i++ vs i-- in throwaway).Still append §B entry — record that this failure mode was considered. Future bug with same smell → §B search shows precedent.
Every backprop run produces:
No dashboards. No log files. SPEC.md + git is the full history.
Other measured skills in the registry, with their headline benchmark lift.