← Back
D

diagnose

active
Disciplined loop for complex bugs and performance regressions

procedural skill

Procedure
# Diagnose

Discipline for hard bugs.
Skip a phase only with explicit justification.

Phase 1: Build a feedback loop (main phase):
  1. Failing test at the closest seam
  2. Curl / HTTP script against dev server
  3. CLI with fixture + diff stdout
  4. Headless browser (Playwright) DOM/console/network
  5. Replay of a captured trace
  6. Throwaway harness with mocked deps
  7. Property / fuzz loop (1000 inputs if 'sometimes wrong')
  8. Bisection: automated git bisect run
  9. Differential: same input old vs new version
  10. HITL bash script as a last resort

Phase 2: Single hypothesis:
  State ONE falsifiable hypothesis.
  'The bug is caused by X', not 'maybe X or Y'.

Phase 3: Minimal instrumentation:
  Add exactly the log/breakpoint that confirms or refutes.
  Remove the instrumentation after confirmation.

Phase 4: Fix + regression test:
  Targeted fix at the identified seam.
  Regression test before commit.

Anti-patterns:
  ✗ Fix without a reproducible feedback loop
  ✗ Changing several variables at once
  ✗ Leaving instrumentation in committed code
Triggers
diagnose this / debug thisbug with no obvious cause after 5 min of readingperformance regressionintermittent behavior
Metrics

invocations

latency p50

latency p95

tokens in

tokens out

error rate