/ca-fix
Fix a confirmed bug: a failing regression test first, then a minimal fix, then the rest of the tdd gates.
$ npx -y skills add arbiterForge/codeArbiter --skill ca-fix --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/ca-fix
Context preview
The summary Claude sees to decide when to auto-load this skill.
Fix a confirmed bug: a failing regression test first, then a minimal fix, then the rest of the tdd gates.
SKILL.md
ca-fix.SKILL.mdname: ca-fix
description: "Fix a confirmed bug: a failing regression test first, then a minimal fix, then the rest of the tdd gates."
argument-hint: "<what's happening vs. what should happen>"
$ca-fix — regression-first bug fix
The only permitted entry to bug-fix work. No fix code is written before a regression test reproduces the defect and goes red for the right reason. Give the observed behavior and the expected behavior, plus a stack trace or reproduction when you have one.
**Orientation:** if `.codearbiter/code-map.md` is present, read it before diagnosing — a coarse concern→path→role map that helps locate the defect. Absent is fine; it is read-on-demand.
Flow
Routes to the `tdd` skill, bug variant — Phase 1 is framed around confirming the defect, not building new behavior:
1. **Reproduce** the bug consistently. 2. **Locate the root cause** — the exact code path producing the wrong behavior. 3. **Write a regression test** that fails in the current state for the precise reason the bug causes (not an unrelated error). 4. **Confirm it's red for the right reason** — the failure message matches the described defect.
Only then does `tdd` proceed: minimal fix to green, then the remaining `tdd` gates. The implementation agent (`backend-author`, `frontend-author`, or `infra-author`) is selected by where the bug lives. If the defect cannot be pinned by a failing test, STOP and surface the question.
Routes to
`tdd` (`${CLAUDE_PLUGIN_ROOT}/routines/tdd/SKILL.md`) — all phases, Phase 1 framed for bug confirmation.
When NOT to use
- New behavior → `$ca-feature`.
- A behavior-preserving restructure → `$ca-refactor`.
- "Why does it do this?" → `$ca-btw`.
- Persisting fix code already written → `$ca-commit` (the gates still apply).
Hard gate
MUST NOT write fix code before the regression test is red for the right reason. MUST NOT accept a test that passes against the broken state as proof of the defect.
Read more
name: ca-fix description: "Fix a confirmed bug: a failing regression test first, then a minimal fix, then the rest of the tdd gates." argument-hint: "<what's happening vs. what should happen>"
$ca-fix — regression-first bug fix
The only permitted entry to bug-fix work. No fix code is written before a regression test reproduces the defect and goes red for the right reason. Give the observed behavior and the expected behavior, plus a stack trace or reproduction when you have one.
**Orientation:** if `.codearbiter/code-map.md` is present, read it before diagnosing — a coarse concern→path→role map that helps locate the defect. Absent is fine; it is read-on-demand.
Flow
Routes to the `tdd` skill, bug variant — Phase 1 is framed around confirming the defect, not building new behavior:
1. **Reproduce** the bug consistently. 2. **Locate the root cause** — the exact code path producing the wrong behavior. 3. **Write a regression test** that fails in the current state for the precise reason the bug causes (not an unrelated error). 4. **Confirm it's red for the right reason** — the failure message matches the described defect.
Only then does `tdd` proceed: minimal fix to green, then the remaining `tdd` gates. The implementation agent (`backend-author`, `frontend-author`, or `infra-author`) is selected by where the bug lives. If the defect cannot be pinned by a failing test, STOP and surface the question.
Routes to
`tdd` (`${CLAUDE_PLUGIN_ROOT}/routines/tdd/SKILL.md`) — all phases, Phase 1 framed for bug confirmation.
When NOT to use
- New behavior → `$ca-feature`.
- A behavior-preserving restructure → `$ca-refactor`.
- "Why does it do this?" → `$ca-btw`.
- Persisting fix code already written → `$ca-commit` (the gates still apply).
Hard gate
MUST NOT write fix code before the regression test is red for the right reason. MUST NOT accept a test that passes against the broken state as proof of the defect.
When you can't trust yourself with your code base, trust Arbiter.
Repo: arbiterForge/codeArbiter
Other skills on codearbiter.
- /brainstorming
The Socratic spec-refinement front of /feature, and the planning front of /sprint. Routed to BEFORE any code — it takes a one-line idea and drives it to an approved, concrete spec with testable acceptance criteria. Four gated phases — frame, refine, write, approve. No
Open skill - /commit-gate
The only path to a commit. Routed to when the user invokes /commit or otherwise instructs codeArbiter to persist staged changes. Nine gated phases — permission, branch, classification, verification (test/lint/secrets), behavioral proof, diff review, selective stage, message,
Open skill - /context-check
Optional manual drift audit — report stale provenance-tracked docs (via _provenancelib drift detection across .codearbiter/.provenance/), then per stale doc offer re-scout / re-baseline / defer. Not the daily loop; commit-gate auto-heal owns routine maintenance.
Open skill - /context-creation
The brownfield back-fill. Routed to by /create-context, and by startup when .codearbiter/CONTEXT.md lacks the <!--INITIALIZED--> body marker but source code exists. Six gated phases — pre-flight, scout dispatch, synthesis, gap interview, write, lock. Reads the existing codebase
Open skill - /crypto-compliance
The banned-primitive gate. Routed to when changed code hashes, signs, encrypts, derives keys, generates security-relevant randomness, configures TLS, or imports a crypto library. Rejects broken primitives, disabled TLS verification, and home-rolled crypto; the approved-primitive
Open skill - /debug
Investigate-then-decide root-cause analysis for a defect whose cause is unknown (distinct from /fix, which assumes a known bug). Five gated phases: capture, hypothesize, gather, decide, hand off. Investigation only, no code changes; exits to /fix, /adr, or a no-action close.
Open skill

