arbiterforge/ca-pr
Open a pull request the only sanctioned way — clear every BLOCK-level review finding, then stage the PR. Never a direct write to the default branch.
npx skills add https://github.com/arbiterForge/codeArbiter --skill ca-pr
The only permitted path to a pull request. Every change lands through a PR — never a direct write or force-push to the default branch. No PR is drafted while any BLOCK-level review finding stands.
Routes to the finishing-a-development-branch skill, open-PR path. The orchestrator reads the current
branch, its diff against the base, and the commit log to determine what changed and which reviewers
apply, then:
commit-gate green, or $ca-commit completed).auth-crypto-reviewer + security-reviewermigration-reviewerdependency-reviewercoverage-auditorThe user resolves, re-runs $ca-commit, then $ca-pr.
bulleted test plan; a conflict-hierarchy tradeoff citation for any non-obvious tradeoff; a link to
any ADR the change implements or contradicts. The PR body is a user-facing deliverable: before
composing it, load ${CLAUDE_PLUGIN_ROOT}/includes/anti-slop-design/core.md and the
medium-documents leaf, and apply at least the §3.A em-dash ban and the §3.B copy self-audit to the
prose. Then gh pr create; return the URL.
the env var (so the accepted on|true|1 spellings and the dormancy gate can't drift):
python3 "${CLAUDE_PLUGIN_ROOT}/hooks/babysit.py" --root "<project-root>" || python "${CLAUDE_PLUGIN_ROOT}/hooks/babysit.py" --root "<project-root>"
It prints one JSON line, e.g. {"enabled": true, "on_red": "propose"}. Only when enabled is
true (the global flag CODEARBITER_BABYSIT is on — default off, mirrors CODEARBITER_PRUNE — and
the repo is arbiter-active), attach a CI watcher to the PR just opened, equivalent to
$ca-watch <new-PR>. When enabled is false, do nothing here — the user can still run $ca-watch
ad-hoc. Never enable the flag on the user's behalf.
finishing-a-development-branch (${CLAUDE_PLUGIN_ROOT}/routines/finishing-a-development-branch/SKILL.md),
open-PR path.
$ca-commit.$ca-review.$ca-threat-model.MUST NOT open a PR while any BLOCK-level (CRITICAL or HIGH) finding is unresolved. MUST NOT skip a
reviewer the path matrix requires. MUST NOT open a PR before the commit gate ran this session. MUST
NOT open a PR, write, or force-push directly to the default branch. MUST NOT auto-attach a CI watcher
unless CODEARBITER_BABYSIT is on, and MUST NOT enable that flag on the user's behalf.
Take arbiterforge/ca-pr 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.