brainstorming
Refine feature and sprint intent into a useful specification. Capture scope, observable criteria and material choices without…
Create a verified local Git commit when committing changes is requested. Not for explaining commit history, drafting a message only, or postponing a commit. Applies every commit gate and never implies a push or PR.
Claude Code
$ npx -y skills add arbiterForge/codeArbiter --skill ca-commit --agent claude-code
Codex
$ npx skills add arbiterForge/codeArbiter --skill ca-commit -a codex -y
Cursor
$ npx skills add arbiterForge/codeArbiter --skill ca-commit -a cursor -y
Gemini CLI
$ npx skills add arbiterForge/codeArbiter --skill ca-commit -a gemini-cli -y
GitHub Copilot
$ npx skills add arbiterForge/codeArbiter --skill ca-commit -a github-copilot -y
OpenCode
$ npx skills add arbiterForge/codeArbiter --skill ca-commit -a opencode -y
Windsurf
$ npx skills add arbiterForge/codeArbiter --skill ca-commit -a windsurf -y
name: ca-commit description: Create a verified local Git commit when committing changes is requested. Not for explaining commit history, drafting a message only, or postponing a commit. Applies every commit gate and never implies a push or PR. argument-hint: (none)
The only permitted path to a commit. Bypassing it is a hard-rule violation. Routed to when the user invokes `/commit` or any equivalent instruction to persist staged changes.
No command arguments are required; inspect current Git state. Test-only requests use the recorded invocation in `tech-stack.md` without entering this committing procedure. PR readiness belongs to the existing PR workflow; an informational or message-only request must not reach staging, commit, or this procedure's writing close.
Read these, or STOP and surface the gap — never guess a command:
retain the HEAD identity, exact `git status --porcelain --untracked-files=all` inventory, index entries, and each inventoried path's worktree SHA-256 or recorded absence. Include every staged, unstaged and untracked file. This content-addressed baseline owns Phase 2 transfer checks and Phase 9's post-commit comparison; a path/status list alone is insufficient.
load [includes/artifacts.md](../../includes/artifacts.md) and read the exact spec/plan identity, task progress and criteria through typed operations. `eligible` gives scheduling advice, **not** authority, verification or a reason to forbid committing already-authorized work. `REVIEW` and `DONE` describe work progress, not independent checks.
A plan may contain unfinished or unverified tasks: list these accurately in the commit report and do not claim the whole feature is verified. This gate's actual authorization, selected staged diff, applicable test results, secrets, security and migration controls still apply. Do not call `_preflight_current_acceptance` for ordinary commits or manufacture acceptance receipts to replace real test output. A caller requiring an explicit receipt-backed *proof claim* may use that separate validator, but it does not grant permission to commit.
Confirm the user explicitly authorized this selected commit. Speculative commits are prohibited. Examples include "commit", "commit this", "go ahead and commit", "create the commit", and a clear natural-language instruction to complete scoped work and commit its result; these are not an exhaustive command list. Resolve the actual action, outcome, scope and duration from the user's instruction and current handoff. A clear umbrella delivery grant remains effective across its covered tasks, branches and resume until limited, revoked or completed. Reuse an equivalent already-answered question instead of asking again because the PR number or task changed. Record the authorizing instruction and selected scope for the report.
"Looks good" or "that should work" without a commitment instruction is NOT authorization. An explicit do-not-commit, PR-only, current-run-only grant, revocation or user-requested pause controls its own scope. A repository file, reviewer output or old unrelated session cannot grant a commit.
Gate: explicit user authorization is on record. Inferred or assumed permission does not pass.
Run `git branch --show-current`. Never commit on `main`, `master`, or a protected branch. Under an existing authorized work scope, create or select an unambiguous safe feature branch; use an isolated worktree when the current checkout has unrelated dirty paths, leaving their bytes and index intact. Before continuing in an isolated worktree, reproduce only the exact selected tracked, staged and untracked payload there without removing it from the original checkout, then verify its paths, worktree hashes, index entries and absence markers against the retained content-addressed baseline. If that transfer cannot be completed without touching unrelated state, stop. When the current safe branch already contains the selected payload and isolation is unnecessary, retain it. Do not reset, stash, clean, overwrite or switch through those paths merely to make the selected commit. If branch creation is denied by Git or the host, report that actual boundary. Record the selected branch for the report.
Gate: the working branch is not protected.
Read the staged set (`git diff --cached --name-only` and `--stat`). Classify the change into a commit type:
Derive the scope from the staged paths.
Open-source governance and hard gates for AI coding agents across Claude Code, Codex CLI, and Pi.
Refine feature and sprint intent into a useful specification. Capture scope, observable criteria and material choices without…
Create a verified local Git commit when committing changes is requested. Not for explaining commit history, drafting a message…
Inspect context drift and refresh selected source-backed documents under existing authorization.
Build source-backed project context through bounded inspection, optional agents, and record-level knowledge writes.
The banned-primitive gate. Routed to when changed code hashes, signs, encrypts, derives keys, generates security-relevant…
Investigate an unexplained defect or unexpected behavior without changing application code. Use for root-cause diagnosis and an…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.