arbiterforge/ca-decompose
Greenfield decomposition interview — a layered interview that populates .codearbiter/ and locks it initialized.
npx skills add https://github.com/arbiterForge/codeArbiter --skill ca-decompose
Stands up project state for a greenfield project — one with no meaningful source code yet. A senior-architect persona drives a six-layer interview eliciting purpose, scope, primary users, domain vocabulary, and architectural constraints, persisting each layer to disk so a context reset loses nothing, then writes the surviving .codearbiter/ doc set and locks the project initialized. No arguments — the skill interviews the user (a handoff summary may be supplied freely during the interview).
The only permitted path to populate .codearbiter/ when no meaningful source exists. For an existing codebase, use $ca-create-context.
The decompose skill (${CLAUDE_PLUGIN_ROOT}/routines/decompose/SKILL.md) — six gated phases:
pre-flight, persona adoption, layered interview, synthesis, population, lock. The skill is canonical
for the layers and their gates.
<!--INITIALIZED--> in CONTEXT.md) → $ca-status.$ca-create-context..codearbiter/ not yet scaffolded → $ca-init first.<project-root>/.codearbiter/ directly or use $ca-feature.BLOCK if <!--INITIALIZED--> is already present in CONTEXT.md. BLOCK if meaningful source is
detected (route to $ca-create-context). BLOCK if any [CONFIRM-NN] exits synthesis unresolved and
undeferred. MUST NOT write <!--INITIALIZED--> until every required doc is present and non-empty.
Take arbiterforge/ca-decompose 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.