arbiterforge/codearbiter-ca-init
Opt this repo into codeArbiter — scaffold the root-level .codearbiter/ state store.
npx skills add https://github.com/arbiterForge/codeArbiter --skill ca-init
Stand up the root-level .codearbiter/ project-state store that opts a repo into arbiter
management. This is the v2 replacement for vendoring/init-vendor: no symlinks, no shims, no dual
root. It writes the activation flag and the empty state files, then hands off to the populator.
.codearbiter/CONTEXT.md frontmatter arbiter: enabled is the single activation flag — it gates
the SessionStart persona injection. The scaffolded
CONTEXT.md is a stub (no initialization sentinel), so after scaffolding the project still needs
populating before normal operation.
python "<plugin-root>/hooks/init-codearbiter.py"
It is idempotent and refuses if .codearbiter/CONTEXT.md already exists — it never overwrites
state. Pass --stage N to set the initial maturity value (default 1). Use --check to report
state without creating anything.
.codearbiter/ with: CONTEXT.md (arbiter: enabled, stage: N, stub body),open-tasks.md, open-questions.md, overrides.log (audit header), and last-checkpoint (0).
/ca-create-context (brownfield: scoutsread the codebase and synthesize the full context, writing the initialization sentinel).
/ca-decompose (layered interview).The populator is mandatory, not optional: it authors tech-stack.md, coding-standards.md,
and security-controls.md (and writes the initialization sentinel). The pipeline gates BLOCK on
reading those files — writing-plans and tdd need tech-stack.md, the security gates need
security-controls.md — so /ca-feature run on a freshly-scaffolded stub will STOP at pre-flight
until the populator has run. session-start surfaces this as NOT INITIALIZED every session.
.codearbiter/ already scaffolded → the scaffolder refuses; run /ca-create-context or/ca-decompose to populate, or /ca-status to see state.
--check.MUST NOT hand-author .codearbiter/CONTEXT.md frontmatter — the scaffolder is the sanctioned path so
the activation flag and state-file shapes match what the hook parses. MUST NOT mark a
stub initialized; only the populator writes the initialization sentinel.
Take arbiterforge/codearbiter-ca-init from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.