From arn-code
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.
npx claudepluginhub appsvortex/arness --plugin arn-codeThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
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
Read ${CLAUDE_PLUGIN_ROOT}/skills/arn-code-ensure-config/references/ensure-config.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:
github, bitbucket, or noneIf 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 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:
commitHash is populated (non-empty string) -- the feature was committednextSteps 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:
projectNamenextSteps entry containing the PR referenceFor 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.
Spawn the arn-code-batch-pr-analyzer agent in foreground (the results are needed before proceeding).
Pass to the agent:
## Arness)github or bitbucket)${CLAUDE_PLUGIN_ROOT}/skills/arn-code-batch-merge/references/conflict-classification.mdThe agent returns a concise summary containing:
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."
Ask (using AskUserQuestion):
"Ready to start reviewing PRs?"
Options:
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.
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).
Invoke Skill: arn-code:arn-code-review-pr with the selected PR number. The review-pr skill handles the full flow: fetch comments, validate, categorize, fix, local testing.
After review-pr completes:
Ask (using AskUserQuestion):
"PR #N reviewed. What next?"
Options:
Execute the merge:
github: gh pr merge <url> --mergebitbucket: bkt pr merge <id>Then update the local branch:
git checkout main && git pull
If the merge fails (CI checks, branch protection, conflicts): report the error: "Merge failed for [feature] (#PR): [error message]." Offer to skip and continue with another PR.
If remaining open PRs > 0:
arn-code-batch-pr-analyzer agent (foreground) with the updated PR listSelect the next PR in the recommended merge order (skip any already merged). Invoke review-pr for that PR. After review, return to the post-review action menu.
Re-run the arn-code-batch-pr-analyzer agent (foreground) with the current open PR list. Present the updated summary. Return to the main review loop menu ("Ready to start reviewing PRs?").
Proceed to Step 4.
Count merged and still-open PRs. Present the final status:
Batch Merge Status: [N] merged, [M] still open
| Feature | PR | Status |
|---------------|------|---------|
| Auth service | #42 | Merged |
| API endpoints | #43 | Merged |
| Settings page | #44 | Open |
If Vision directory does not exist in ## Arness, or feature-backlog.md does not exist: Skip this section.
Otherwise, read feature-backlog.md and locate the Feature Tracker table.
For each successfully merged feature:
projectNamedoneParent Rollup Check: After updating individual features, check for parent rollup. If all sub-features of a parent feature are now done, mark the parent as done. Recurse upward.
Newly Unblocked Features: Scan for features whose status is pending and whose dependencies are all done. Report them:
Newly unblocked features:
- F-010: User Dashboard (was blocked by F-003, F-005)
Write the updated feature-backlog.md back to disk.
If all PRs are merged:
Ask (using AskUserQuestion):
"All batch PRs merged. Run cross-feature simplification?"
Options:
Skill: arn-code:arn-code-batch-simplifyIf Yes: Invoke Skill: arn-code:arn-code-batch-simplify.
If Not yet: "Run /arn-code-batch-simplify when ready to clean up cross-feature duplication." Exit.
If some PRs are still open: list remaining PRs with their current status. "Run /arn-code-batch-merge to resume." Exit.