Skip to content
Development
Skill

/ca-status

Show the project's current state at a glance — stage, open tasks, open questions, overrides since the last checkpoint, current branch. Read-only.

From plugin
codearbiter
15256 skills20 agents38 commands

Claude Code

$ npx -y skills add arbiterForge/codeArbiter --skill ca-status --agent claude-code

SKILL.md

ca-status.SKILL.md
name: ca-status
description: Show the project's current state at a glance — stage, open tasks, open questions, overrides since the last checkpoint, current branch. Read-only.
argument-hint: "(none) | drift"

$ca-status — state snapshot

A read-only summary of `.codearbiter/` state. No skill is routed to; no file is modified.

<!-- catalog-command-modes:start -->

Drift mode

<!-- command-mode:drift legacy-route:context-check --> With the exact argument `drift`, load and follow [routines/context-check/SKILL.md](../../routines/context-check/SKILL.md). The audit begins read-only; re-scout or re-baseline may write only after the user's explicit selection. In drift mode the `context-check` contract governs; the opening summary and Hard gate below apply only to the no-argument snapshot. With no argument, continue with the unchanged read-only snapshot below. Reject other arguments rather than treating them as drift mode.

An initialized refresh is a separate explicit scoped or full selection handled by that existing owner after its read-only report. Neither this argument nor an ordinary status snapshot authorizes a write, a create-context retry or marker reset. <!-- catalog-command-modes:end -->

Flow

The orchestrator reads and presents:

1. **Stage** — the `stage:` maturity value from `<project-root>/.codearbiter/CONTEXT.md` frontmatter. 2. **Pipelines** — every slug in `<project-root>/.codearbiter/specs/` and `plans/`, preserving its existing representation. For HTML, use the installed engine's bounded structured reads (`identity`, `index`, symbol-scoped `read`, or `task-context`) through [includes/artifacts.md](../../includes/artifacts.md); do not read rendered markup or execute verification to obtain status. For Markdown, read its actual status ledger without creating a counterpart. Report a spec with no plan, implementation in progress, or implementation complete. Count `DONE` and historical `ACCEPTED` toward implementation completion while retaining their distinct labels. Show verification separately: pending, failed, unknown, or the recorded result and its applicability when available. Completion alone does not establish a passing check, current acceptance, review, or release. Report missing/unreadable state as unknown, not complete. For a selected HTML plan task, include `task-context.check_summary` when the installed engine supplies `task-context`: an unresolved applicable reported failure remains visible after unrelated passes, while stale reports and trimmed history are disclosed separately. When the compatibility path can only use symbol-scoped reads, report the check summary as unknown unless those reads establish it; do not infer a clear summary from missing `task-context` support. These caller reports are not verified evidence. A draft spec or plan is not awaiting permission. Show a genuine unresolved product decision, explicit user checkpoint, or `BLOCKED` stop with its actual reason; status never clears it. An interrupted pipeline is resumable via `$ca-feature` — say so on its line. 3. **Open tasks** — resolve the installed `hooks/work.py` through the installed helper card: [includes/helper-invocation.md](../../includes/helper-invocation.md). When `open-tasks.md` exists, run `work.py list --limit 1` to check for conflicting owners, then use the board's in-flight count if it reports `owner: legacy` (top-level `- ` bullets excluding done `- [x]`; the same `_taskboardlib` count the SessionStart hook uses). Otherwise page `work.py list --limit 64` with its returned `next_offset` and `membership_sha256`, up to 256 entries total. Count `queued` and `active`; exclude `complete` and `archived`. If the first page reports more than 256 entries, or a later page remains after the cap, report the count as unknown with the total and suggest `work.py list` for selected pages. Stop on an unavailable page, changed membership, or an unsafe store and report the count as unknown. This cap avoids repeated full-directory scans for one display count. This selected read is for the explicit status command, not a new native-engine call on every statusline or SessionStart frame. 4. **Open questions** — the count of unresolved `[CONFIRM-NN]` placeholders in `<project-root>/.codearbiter/open-questions.md`. 5. **Overrides since last checkpoint** — entries in `<project-root>/.codearbiter/overrides.log` newer than the marker in `<project-root>/.codearbiter/last-checkpoint`. 6. **Current branch** — from git.

Output

## Project status — YYYY-MM-DD

Stage:            N
Branch:           <current branch>
Pipelines:
  <slug>          implementation 3/7 complete (2 DONE, 1 historical ACCEPTED); verification unknown — resume with $ca-feature "<slug>"
  <slug>          spec present, no plan
Open tasks:       N
Open questions:   N ([CONFIRM-NN] unresolved)
Overrides since last checkpoint: N

No specs and no plans → `Pipelines: none`.

If `[CONFIRM-NN]` placeholders are open, surface them — do not resolve them here.

When NOT to use

  • A full cross-cutting review → `$ca-checkpoint`.
  • A specific question → ask it directly; no command needed.

Hard gate

Read-only. MUST NOT modify any file. MUST NOT resolve a `[CONFIRM-NN]` it surfaces. No skill is routed to by this command.

Read more
@arbiterforge
Ships withcodearbiter

Open-source governance and hard gates for AI coding agents across Claude Code, Codex CLI, and Pi.

15256 skills20 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
152
Star history of arbiterForge/codeArbiter on GitHub, a chart by star-history.com

Other skills on codearbiter.

brainstorming

brainstorming

Refine feature and sprint intent into a useful specification. Capture scope, observable criteria and material choices without…

commit-gate

commit-gate

Create a verified local Git commit when committing changes is requested. Not for explaining commit history, drafting a message…

debug

debug

Investigate an unexplained defect or unexpected behavior without changing application code. Use for root-cause diagnosis and an…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills13d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about ca-status.

Which coding agents can use ca-status?
ca-status installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.