brainstorming
Refine feature and sprint intent into a useful specification. Capture scope, observable criteria and material choices without…
Exploratory spike on a throwaway branch — answer a named question with disposable code. Never merges; exits to a findings note or $ca-feature.
Claude Code
$ npx -y skills add arbiterForge/codeArbiter --skill ca-spike --agent claude-code
Codex
$ npx skills add arbiterForge/codeArbiter --skill ca-spike -a codex -y
Cursor
$ npx skills add arbiterForge/codeArbiter --skill ca-spike -a cursor -y
Gemini CLI
$ npx skills add arbiterForge/codeArbiter --skill ca-spike -a gemini-cli -y
GitHub Copilot
$ npx skills add arbiterForge/codeArbiter --skill ca-spike -a github-copilot -y
OpenCode
$ npx skills add arbiterForge/codeArbiter --skill ca-spike -a opencode -y
Windsurf
$ npx skills add arbiterForge/codeArbiter --skill ca-spike -a windsurf -y
name: ca-spike description: Exploratory spike on a throwaway branch — answer a named question with disposable code. Never merges; exits to a findings note or $ca-feature. argument-hint: "<question to answer> [timebox]"
The sanctioned lane for "I need to write code to find out." Spike code is disposable by contract: it never merges, never PRs, and never becomes the implementation. What survives a spike is the *answer*, written down — the code is burned.
1. **Name the question** — a spike without a falsifiable question is just freelancing. Restate `$ARGUMENTS` as the question the spike answers and the timebox (default: one session). STOP for the user's confirmation. 2. **Branch** — create `spike/<slug>` from the current branch. All exploratory code and experiments stay on it; only the completed findings file may later cross back to the parent. 3. **Explore** — no `tdd`, no plan, no review fleet. Two rules survive even here: no secret leaves the approved store, and no irreversible operation (prod data, destructive migration) runs from a spike. 4. **Exit — exactly one of:**
(the question, what was tried, the answer, what it implies), and commit only that findings file on `spike/<slug>`. Return to the parent branch and run `git restore --source spike/<slug> -- .codearbiter/spikes/<slug>.md` to transfer only the committed findings file, review it, and commit that one file through `$ca-commit`; do not merge the spike branch. Then delete the spike branch. If the answer warrants building, hand the findings to `$ca-feature` — the spike file seeds `brainstorming` ([routines/brainstorming/SKILL.md](../../routines/brainstorming/SKILL.md)); the spike code is reference material, never the implementation.
transfer before deleting the spike branch.
MUST NOT merge or PR a `spike/*` branch — its only exits are a findings file and deletion. Do not transfer spike code: the parent may receive only the committed findings file. MUST NOT copy spike code into an implementation branch wholesale; implementation re-enters through `$ca-feature` and `tdd`. Secret-handling and irreversibility rules hold even in a spike. Commits on a `spike/*` branch are exempt from `commit-gate` — the exemption is safe because no spike commit is merged and the parent may copy only the committed findings file's contents, never spike code.
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.