arbiterforge/ca-debug
Investigate-then-decide root-cause analysis for a defect whose cause is unknown. No code changes — exits to $ca-fix, $ca-adr, or a no-action close.
npx skills add https://github.com/arbiterForge/codeArbiter --skill ca-debug
Investigates a defect, anomaly, or unexpected behavior whose cause is not yet known. Separates investigation from implementation: no code is modified while debugging. Describe the symptom with enough fidelity that another operator could reproduce it — observed behavior, reproduction steps (or intermittent-trigger profile), and environment. Vague descriptions ("it's flaky") are rejected; the orchestrator asks for clarification before routing.
If the cause is already known and a regression test is already named, invoke $ca-fix directly.
The debug skill (${CLAUDE_PLUGIN_ROOT}/routines/debug/SKILL.md) — five gated phases: symptom
capture, hypothesis generation, evidence gathering, root-cause decision, handoff. Phase 4 forces one
named exit:
$ca-fix, carrying the confirmed bug statement, cited evidence, and a namedregression test obligation tied to the minimal repro.
$ca-adr, with the ambiguity statement and evidence ledger,authored only with explicit user attribution.
<project-root>/.codearbiter/open-tasks.md.
A real finding that is out of scope for those exits is marked inline [NEEDS-TRIAGE] and the
investigation continues.
$ca-fix directly.$ca-adr.$ca-feature.$ca-btw.$ca-fix or $ca-adr → exit that command first (routing-cycle prevention).MUST NOT modify any code during Phases 1–5 — code changes belong to $ca-fix. MUST exit Phase 4 with
exactly one of (a)/(b)/(c). Exit (a) MUST carry a regression test obligation. Exit (b) MUST obtain
user attribution before any $ca-adr. MUST NOT promote INCONCLUSIVE evidence to CONFIRMED without a
cited source.
Take arbiterforge/ca-debug from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.