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…
The sanctioned task-board mutator — add a queued task, start one (flips to in-progress and stamps the date, minting a dotted ID on pick-up), or mark an in-progress task done. The only blessed write to open-tasks.md.
$ npx -y skills add arbiterForge/codeArbiter --skill ca-task --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ca-taskContext preview
The summary Claude sees to decide when to auto-load this skill.
The sanctioned task-board mutator — add a queued task, start one (flips to in-progress and stamps the date, minting a dotted ID on pick-up), or mark an in-progress task done. The only blessed write to open-tasks.md.
name: ca-task description: The sanctioned task-board mutator — add a queued task, start one (flips to in-progress and stamps the date, minting a dotted ID on pick-up), or mark an in-progress task done. The only blessed write to open-tasks.md. argument-hint: "add \"<desc>\" | start <id|\"title\"> | done <id|\"title\">"
The one blessed way to mutate `<project-root>/.codearbiter/open-tasks.md` (resolves D-1). Hand-editing the board is no longer the only path; this command keeps every entry schema-conformant and every transition dated. The board LOGIC lives in the pure `_taskboardlib` transforms; this command runs the thin writer [hooks/taskwrite.py](../../hooks/taskwrite.py).
Always put `--` before user text (a desc or title) so a value beginning with `-` is not parsed as a flag. Resolve the interpreter once by presence — `PY=python3; { command -v python3 >/dev/null 2>&1 && python3 --version >/dev/null 2>&1; } || PY=python` — never `python3 … || python …`, which reruns the helper on any nonzero exit and reports the second run's code instead of the first's (#577) — then invoke `"$PY"` below.
a dotted ID now, `--from <origin>` for a harvest back-ref, `--boundaries a,b` for the security/trust boundaries it touches. The description must be nonblank and single-line; origin and boundary values must also stay on one line.
be a dateless `[~]`). On an ID-less item, pass `--as <group>.<type>` to mint its dotted ID at pick-up. `--date YYYY-MM-DD` overrides today.
overrides today). A queued task must be `start`ed first.
A missing target, an already-matching state, an out-of-order transition, a malformed add field or `--date`, or an invalid `GROUP.TYPE` namespace is reported and writes nothing (exit 1). A queued `done` identifies the task as queued and tells the caller to `start` it first. **Targeting by title is best-effort:** prefer the dotted ID, and note that if two ID-less items share a title, `start`/`done` act on the first — give one an ID (`$ca-task start --as <group>.<type> -- "<title>"`) to disambiguate.
([includes/harvest.md](../../includes/harvest.md)), which calls this writer for you.
resolved 2026-07-31). It proposes dated done items strictly more than 14 calendar days old and requires a separate yes for each item before invoking [hooks/taskwrite.py](../../hooks/taskwrite.py) with `archive <id>`. This is the helper's archive verb, not a new public `$ca-task archive` mode. Undated done items are never proposed automatically; standup's explicit-request and `--allow-undated` rules apply. Declined items stay on the board.
(`[x]` done-flip, `[~]` start-flip, new `[ ]` add) ride the **work commit** via commit-gate, co-located atomically with the code that completes, starts, or spawns the task (ADR-0008). A lagging board-only PR is the anti-pattern this design eliminates.
free-hand Edit that can malform the schema.
When you can't trust yourself with your code base, trust Arbiter.
Repo: arbiterForge/codeArbiter
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…
The only path to a commit. Routed to when the user invokes /commit or otherwise instructs codeArbiter to persist staged changes. Nine gated phases —…
Optional manual drift audit — report stale provenance-tracked docs (via _provenancelib drift detection across .codearbiter/.provenance/), then per stale doc…
The brownfield back-fill. Routed to by /create-context, and by startup when .codearbiter/CONTEXT.md lacks the <!--INITIALIZED--> body marker but source code…
The banned-primitive gate. Routed to when changed code hashes, signs, encrypts, derives keys, generates security-relevant randomness, configures TLS, or…
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,…