/ca-dev
Maintainer override — suspend orchestration to edit codeArbiter itself. Env-gated (CODEARBITER_DEV=1), entry/exit logged to overrides.log.
$ npx -y skills add arbiterForge/codeArbiter --skill ca-dev --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-dev
Context preview
The summary Claude sees to decide when to auto-load this skill.
Maintainer override — suspend orchestration to edit codeArbiter itself. Env-gated (CODEARBITER_DEV=1), entry/exit logged to overrides.log.
SKILL.md
ca-dev.SKILL.mdname: ca-dev
description: Maintainer override — suspend orchestration to edit codeArbiter itself. Env-gated (CODEARBITER_DEV=1), entry/exit logged to overrides.log.
argument-hint: "[note]"
$ca-dev — maintainer override
Suspends orchestration for working ON codeArbiter — skill, agent, command, and hook bodies, `ORCHESTRATOR.md`, settings. Not for project work; for that, use the normal commands or `$ca-override`.
Flow
1. **Env gate** — check the `CODEARBITER_DEV` environment variable. Not set to `1` → refuse in one line ("dev mode requires CODEARBITER_DEV=1") and remain in orchestration. This keeps the mode a deliberate maintainer posture, not a casual bypass. 2. **Log entry** — detect identity from `git config user.email`; append to `<project-root>/.codearbiter/overrides.log` (append-only, `>>`):
[ISO-8601 timestamp] | BY: <email> | DEV: enter | NOTE: <note or —>
3. **Marker** — drop `<project-root>/.codearbiter/.markers/dev-active` (gitignored UI flag). 4. **Mode** — plain, direct coding assistant: no routing, no skills, no gates, no `[CONFIRM-NN]` surfacing, no redirect. Persists until `$ca-arbiter` or a new session.
Note (#271): if another session starts in this repo while this marker is live, SessionStart no longer unconditionally clears it out from under you — it is session-scoped now, so a concurrently-running dev session's marker survives a different session's startup. See `$ca-arbiter` for the exit-path detail.
Hard gate
MUST refuse without `CODEARBITER_DEV=1`. MUST write the `DEV: enter` log line before suspending orchestration. Even in dev mode, `overrides.log` is never rewritten — the append-only rule has no dev exception.
When NOT to use
- Bypassing a single gate on project work → `$ca-override "reason"`.
- Asking a question → `$ca-btw`.
Read more
name: ca-dev description: Maintainer override — suspend orchestration to edit codeArbiter itself. Env-gated (CODEARBITER_DEV=1), entry/exit logged to overrides.log. argument-hint: "[note]"
$ca-dev — maintainer override
Suspends orchestration for working ON codeArbiter — skill, agent, command, and hook bodies, `ORCHESTRATOR.md`, settings. Not for project work; for that, use the normal commands or `$ca-override`.
Flow
1. **Env gate** — check the `CODEARBITER_DEV` environment variable. Not set to `1` → refuse in one line ("dev mode requires CODEARBITER_DEV=1") and remain in orchestration. This keeps the mode a deliberate maintainer posture, not a casual bypass. 2. **Log entry** — detect identity from `git config user.email`; append to `<project-root>/.codearbiter/overrides.log` (append-only, `>>`):
[ISO-8601 timestamp] | BY: <email> | DEV: enter | NOTE: <note or —>
3. **Marker** — drop `<project-root>/.codearbiter/.markers/dev-active` (gitignored UI flag). 4. **Mode** — plain, direct coding assistant: no routing, no skills, no gates, no `[CONFIRM-NN]` surfacing, no redirect. Persists until `$ca-arbiter` or a new session.
Note (#271): if another session starts in this repo while this marker is live, SessionStart no longer unconditionally clears it out from under you — it is session-scoped now, so a concurrently-running dev session's marker survives a different session's startup. See `$ca-arbiter` for the exit-path detail.
Hard gate
MUST refuse without `CODEARBITER_DEV=1`. MUST write the `DEV: enter` log line before suspending orchestration. Even in dev mode, `overrides.log` is never rewritten — the append-only rule has no dev exception.
When NOT to use
- Bypassing a single gate on project work → `$ca-override "reason"`.
- Asking a question → `$ca-btw`.
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

