The terminal step of /feature and /sprint. Routed to once commit-gate has cleared, to decide the branch's fate — merge via PR, open a PR, or discard. Direct merge to the default branch is forbidden; every change lands through a PR. Under /sprint the skill auto-selects "open PR" and surfaces the merge decision to the user.
npx skills add https://github.com/arbiterForge/codeArbiter --skill finishing-a-development-branch
The work is committed and green. Now decide where it goes. Routed to by /feature and /sprint
after commit-gate clears — never before.
Read these, or STOP and surface the gap — never guess the branch name or the default branch:
<project-root>/.codearbiter/CONTEXT.md — the default-branch name and project context.<project-root>/.codearbiter/plans/<slug>.md — the plan this branch executed, when /feature or /sprint produced one. The yardstick for "is the work complete."<project-root>/.codearbiter/last-checkpoint — the most recent gate results; confirms commit-gate cleared on this branch.commit-gate MUST have cleared on the current HEAD. If it has not, this skill does not run — return to it.
Assemble the facts the decision needs. Nothing is presented until all are in hand:
commit-gate outcome and the last-checkpoint record. Surface any open [NEEDS-TRIAGE] markers left in the diff as out-of-scope findings.Gate: branch confirmed non-default, diff summary read, gate results and plan delta in hand.
Present exactly three terminal options with the Phase 1 state attached, then STOP for the choice:
Under /feature: STOP and let the user pick.
Under /sprint: auto-select option 1 (open PR) and surface the merge decision to the user — /sprint
autonomy ends at the PR boundary. It MUST NOT merge (option 2) and MUST NOT discard.
Gate: a single terminal option is chosen — by the user under /feature, or auto-selected as "open PR" under /sprint.
Carry out the chosen option, and only that one:
$ca-pr command flow (${CLAUDE_PLUGIN_ROOT}/skills/ca-pr/SKILL.md) — execute those steps here; do not re-invoke $ca-pr (under /sprint this skill is reached via commit-gate, without the /pr command ever running, so a route back would loop). Leave the PR open; the merge is not yours to take.Gate: the chosen option completed — for open-PR a PR exists against the default branch; for merge the work landed through that PR; for discard the user confirmed against a stated loss summary.
The loop has been a chain of gates the user watched clear. End it on its most rewarding beat, not in
silence. Emit a tight Receipt — a win summary that reflects the prevention back, drawn ONLY from
the state Phase 1 already assembled plus <project-root>/.codearbiter/last-checkpoint. This is
not a fresh audit-trail crawl — no new log scan, no git archaeology. If a field has no data in
hand, omit the line rather than go digging.
Report only what the assembled state supports:
tdd obligations that reached COVERED on this branch.specific thing caught (an untested seam, a scope-creep file set aside), not a bare gate name.
stopped before they shipped.
Close with exactly one warm, synthesizing sentence (per the orchestrator register) that reflects
the run back — synthesized for this branch, not the register's canned example. One sentence, earned,
never on a no-op close.
Gate: the Receipt is emitted from in-hand state (no fresh crawl), and the close carries at most one
warm sentence.
/sprint; auto-select "open PR" and surface the merge decision to the user.commit-gate has cleared on the current HEAD.CONTEXT.md or STOP.last-checkpoint — never a fresh audit-trail crawl — and never build a rolling cross-branch "saves" tally.Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
Comprehensive technology-agnostic prompt for analyzing and documenting project folder structures. Auto-detects project types (.NET, Java, React, Angular, Python, Node.js, Flutter), generates detailed blueprints with visualization options, naming conventions, file placement patterns, and extension templates for maintaining consistent code organization across diverse technology stacks.
Use when complex problems require systematic step-by-step reasoning with ability to revise thoughts, branch into alternative approaches, or dynamically adjust scope. Ideal for multi-stage analysis, design planning, problem decomposition, or tasks with initially unclear scope.
Multi-agent workflow examples to work together on the OpenServ Platform. Covers agent discovery, multi-agent workspaces, task dependencies, and workflow orchestration using the Platform Client. Read reference.md for the full API reference. Read openserv-agent-sdk and openserv-client for building and running agents.
> Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md.
API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.
Patterns for automating GitHub workflows with AI assistance, inspired by [Gemini CLI](https://github.com/google-gemini/gemini-cli) and modern DevOps practices.
Groups existing components into logical business domains to plan service-based architecture. Use when asking "which components belong together?", "group these into services", "organize by domain", "component-to-domain mapping", or planning service extraction from an existing codebase. Do NOT use for identifying new domains from scratch (use domain-analysis) or analyzing coupling (use coupling-analysis).
Take arbiterforge/codearbiter-finishing-a-development-branch 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.