Skip to content

/arn-code-batch-merge

This skill should be used when the user says "batch merge", "merge batch", "arness batch merge", "arn-code-batch-merge", "merge all PRs", "merge batch PRs", "merge the batch", "merge implemented features", "batch merge PRs", "merge open PRs", "merge all feature PRs", "combine

shell
$ npx -y skills add AppsVortex/arness --skill arn-code-batch-merge --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/arn-code-batch-merge
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

This skill should be used when the user says "batch merge", "merge batch", "arness batch merge", "arn-code-batch-merge", "merge all PRs", "merge batch PRs", "merge the batch", "merge implemented features", "batch merge PRs", "merge open PRs", "merge all feature PRs", "combine

SKILL.md

arn-code-batch-merge.SKILL.md
name: arn-code-batch-merge
description: >-
  This skill should be used when the user says "batch merge", "merge batch",
  "arness batch merge", "arn-code-batch-merge", "merge all PRs",
  "merge batch PRs", "merge the batch", "merge implemented features",
  "batch merge PRs", "merge open PRs", "merge all feature PRs",
  "combine batch PRs", "land the batch", "land all PRs",
  or wants to discover open batch implementation PRs, analyze them for
  conflicts, determine an optimal merge order, and execute merges with
  user-guided conflict resolution. This skill is typically invoked after
  arn-code-batch-implement completes and chains to arn-code-batch-simplify
  upon completion.
version: 1.0.0

Arness Batch Merge

Smart PR management dashboard with guided per-PR review. Discover open batch PRs, delegate cross-PR analysis, then drive an interactive review/merge/refresh cycle.

This skill is a **sequencer**. It MUST NOT duplicate sub-skill logic. Arness-code-batch-merge handles: PR discovery, cross-PR analysis delegation, interactive review loop, merge execution, Feature Tracker updates, and chaining. Review logic lives in `arn-code-review-pr`; analysis logic lives in the `arn-code-batch-pr-analyzer` agent.

Pipeline position:

arn-code-batch-implement -> **arn-code-batch-merge** -> arn-code-batch-simplify
                               |
                               +-- per PR: review-pr -> approve/merge -> refresh

Step 0: Ensure Configuration

Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-code-ensure-config/references/step-0-fast-path.md` and follow its instructions. This guarantees a user profile exists and `## Arness` is configured with Arness Code fields before proceeding.

After configuration is ensured, extract the following from `## Arness`:

  • **Plans directory** -- base path where project plans and CHANGE_RECORD.json files are stored
  • **Platform** -- `github`, `bitbucket`, or `none`
  • **Vision directory** (if exists) -- path containing the feature backlog
  • **Code patterns** (if exists) -- path to code patterns directory

---

Step 1: Discover Batch PRs (Lightweight)

Platform Gate

If Platform is `none`: "Batch merge requires a platform (GitHub or Bitbucket) for PR management. Merge branches manually." STOP.

If Platform is `github`: verify `gh` CLI is available. If not: "The GitHub CLI (`gh`) is required for batch merge. Install it from https://cli.github.com/ and authenticate with `gh auth login`." STOP.

If Platform is `bitbucket`: verify `bkt` CLI is available. If not: "The Bitbucket CLI (`bkt`) is required for batch merge." STOP.

Scan for Batch PRs

Scan the Plans directory for CHANGE_RECORD.json files. Check all plan subdirectories: `*/CHANGE_RECORD.json`, `STANDARD_*/CHANGE_RECORD.json`, `SWIFT_*/CHANGE_RECORD.json`.

For each CHANGE_RECORD.json found, check: 1. `commitHash` is populated (non-empty string) -- the feature was committed 2. `nextSteps` array contains at least one entry matching a PR URL pattern (contains `github.com` or `pull` or `bitbucket` or matches a PR reference like `#123`)

For each qualifying CHANGE_RECORD, extract:

  • **Feature name** -- from `projectName`
  • **PR URL** -- from the `nextSteps` entry containing the PR reference
  • **CHANGE_RECORD path** -- full path to the CHANGE_RECORD.json file

Verify PR State

For each discovered PR, verify it is still open:

  • Platform `github`: `gh pr view <url> --json state`
  • Platform `bitbucket`: `bkt pr view <id>`
  • If the PR is `OPEN`: include it in the batch
  • If the PR is `CLOSED` or `MERGED`: skip it silently

**If zero open batch PRs found:** "No open batch PRs found. Run `/arn-code-batch-implement` first to create implementation PRs." STOP.

Collect the final list: PR number, URL, feature name, CHANGE_RECORD path, platform. This is a small data set -- it stays in context.

---

Step 2: Cross-PR Analysis (Delegated)

Spawn the `arn-code-batch-pr-analyzer` agent via the Task tool in **foreground** (the results are needed before proceeding), passing the model from `.arness/agent-models/code.md` as the `model` parameter (see `plugins/arn-code/skills/arn-code-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback).

Pass to the agent:

  • PR list (number, URL, feature name, CHANGE_RECORD path)
  • Code patterns path (from `## Arness`)
  • Platform (`github` or `bitbucket`)
  • Conflict-classification reference path: `${CLAUDE_PLUGIN_ROOT}/skills/arn-code-batch-merge/references/conflict-classification.md`

The agent returns a concise summary containing:

  • **Status table** -- each PR with CI status, review status, merge readiness
  • **Cross-PR findings** -- shared files, overlapping concerns, integration risks
  • **Conflict map** -- pairwise conflict classifications (clean / auto-mergeable / manual-resolution)
  • **Recommended merge order** -- optimal sequence based on conflicts, dependencies, and readiness

Present the agent's summary to the user.

**If the agent fails:** Present the raw PR list without analysis. Offer to retry: "Cross-PR analysis failed. You can still review PRs individually, or I can retry the analysis."

---

Step 3: Guided Per-PR Review Loop

Ask (using `AskUserQuestion`):

**"Ready to start reviewing PRs?"**

Options: 1. **Start with recommended PR** -- begin reviewing the first in suggested order 2. **Choose a PR to review** -- pick a specific PR 3. **Run batch-simplify first** -- cross-feature quality pass before reviewing 4. **Done for now** -- exit

If **Run batch-simplify first**: Invoke `Skill: arn-code:arn-code-batch-simplify`. After it completes, return to this menu.

If **Done for now**: "Run `/arn-code-batch-merge` when ready to resume." STOP.

Selecting a PR

If **Start with recommended PR**: select the first PR from the recommended merge order.

If **Choose a PR**: present open PRs as numbered options. If more than 4 PRs, use layered navigation (first ask which group, then which PR within the group -- max 4 options per layer)

Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships witharness

Arness — H not required. Structured AI workflows for Claude Code. From first idea to production deploy. Seven entry commands. That's all you need to remember.

Get the whole plugin, auto-invoked

Other skills on arness.