Agent SkillsSethGammon/Citadel › merge-review

merge-review

GitHub

审查Fleet工作区合并队列,检测文件级冲突与重叠变更,评估风险并推荐安全合并顺序及冲突解决计划。

skills/merge-review/SKILL.md SethGammon/Citadel

Trigger Scenarios

审查待处理的Fleet分支合并 检查合并队列中的文件冲突 确定多分支同时修改的安全合并顺序

Install

npx skills add SethGammon/Citadel --skill merge-review -g -y
More Options

Use without installing

npx skills use SethGammon/Citadel@merge-review

指定 Agent (Claude Code)

npx skills add SethGammon/Citadel --skill merge-review -a claude-code -g -y

安装 repo 全部 skill

npx skills add SethGammon/Citadel --all -g -y

预览 repo 内 skill

npx skills add SethGammon/Citadel --list

SKILL.md

Frontmatter
{
    "name": "merge-review",
    "license": "MIT",
    "description": "Reviews pending fleet worktree merges before they're accepted. Reads the merge-check queue, detects file-level conflicts between branches, proposes a safe merge order, and surfaces reconciliation plans for overlapping changes.",
    "auto-trigger": false,
    "last-updated": 1774483200,
    "user-invocable": true,
    "trigger_keywords": [
        "merge review",
        "check merges",
        "any conflicts",
        "fleet conflicts",
        "pending branches",
        "safe to merge"
    ]
}

/merge-review — Fleet Merge Arbitration

Orientation

Use when: reviewing pending fleet worktree merges before accepting them into the main branch. Don't use when: reviewing general code quality (use /review); checking CI status before merging (use /pr-watch).

When to Route Here

  • "check merges"
  • "any conflicts"
  • "what do the fleet agents want to merge"
  • "review the pending branches"
  • "is it safe to merge fleet output"
  • "arbitrate the worktrees"
  • worktree-remove.js has queued items and the user wants to process them

Invocation Forms

/merge-review              # Process the full queue
/merge-review {branch}     # Review a specific branch only

Protocol

Step 1: Read the Queue

Read .planning/telemetry/merge-check-queue.jsonl. Each line is a JSON object:

{"branch": "fleet/task-abc", "worktree": "/path/to/worktree", "queuedAt": "ISO"}

If the file doesn't exist or is empty:

"No pending merge reviews. Fleet agents haven't completed any worktrees recently." Stop here.

If invoked with a specific branch (/merge-review {branch}): filter to that branch only.

Step 2: For Each Branch — Gather Diff Data

Run git diff main..{branch} --name-only, --stat, and git branch --list {branch}.

If the branch no longer exists: mark status: "merged", note "likely already merged. Skipped.", continue.

Step 3: Detect Overlapping Files

Compare changed file sets pairwise. For each pair sharing files, read git diff main..{branch} -- {file} for both and classify:

  • Additive: both add to the file (low risk, likely auto-mergeable)
  • Overlapping edits: both modify the same function/section (medium risk)
  • Contradictory: one adds, the other removes the same code (high risk)

Step 4: Assess Risk Per Branch

For each branch:

  • low — no overlapping files with other branches
  • medium — overlaps exist but changes appear additive or in different sections
  • high — overlaps in the same function, class, or closely coupled section

Step 5: Propose Merge Order

Order branches: fewest conflicts first, most conflicts last.

If circular dependencies exist (A conflicts with B, B conflicts with C, C conflicts with A): escalate to the user — do not propose an impossible order.

Step 6: Output the Report

## Merge Review: {N} branch(es) pending

### Branch: {name}
Files changed: {N}
Overlap with other branches: {branch-X} ({file-list}) | none
Risk: low | medium | high
Recommendation: merge | review-first | resolve-conflict

---
[repeat for each branch]
---

### Conflicts Detected

{branch-A} and {branch-B} both modified:
  - {file}: {brief description — e.g., "A adds export, B removes same export"}
Recommended resolution: {which change to keep, or how to combine them}

[repeat for each conflict pair]

### Proposed Merge Order

1. {branch} — no conflicts, safe to merge first
2. {branch} — depends on #1; review {file} after merging #1
3. {branch} — manual conflict resolution needed in {file} before merging

### Summary
Branches ready to merge: {N}
Branches needing review: {N}
Branches with hard conflicts: {N}

If all branches are conflict-free:

## Merge Review: {N} branch(es) pending — No conflicts detected

All branches can be merged in any order. Recommended order (by change size, smallest first):
1. {branch} — {N} files
2. {branch} — {N} files

Step 7: Update the Queue

After producing the report, mark reviewed items in the queue:

  • Branches still needing work: status: "reviewed", add reviewedAt timestamp
  • Branches no longer existing: status: "merged" (already handled in Step 2)

Write the updated queue back to .planning/telemetry/merge-check-queue.jsonl.

Step 8: Cleanup Merged Worktrees

Run git worktree list --porcelain. For each non-main worktree: check git branch --merged HEAD. If merged and clean: run git worktree remove "{path}" --force and git branch -d "{branch}". No user confirmation needed. Report count: "Cleaned up {N} merged worktree(s): {branch-names}".


Fringe Cases

Queue empty: Output "No pending merge reviews." and stop.

Branch no longer exists: Remove from queue, note, continue.

Branch not in queue: Note "not in the merge queue" and suggest /merge-review to see all.

All branches conflict (circular): List all conflicts; do not propose an order; escalate to user.

One branch pending: Skip conflict detection; output single-branch review (files, stat, recommendation).

Large diff (>500 lines): Summarize changed areas; link to git diff command for details.

Worktree path missing but branch exists: Proceed with git diff using branch name; worktree existence not required.


Integration Points

  • worktree-remove.js — queues items to .planning/telemetry/merge-check-queue.jsonl when a fleet worktree completes
  • fleet skill — run /merge-review after fleet agents complete, before merging to main
  • session-end.js — may surface a reminder if the merge queue has items at session end

Contextual Gates

Disclosure: "Reviewing pending fleet worktree merges. Read-only — no changes applied." Reversibility: green — read-only review; no files merged or modified Trust gates:

  • Any: view merge review report and recommendations

Quality Gates

  • Never merge branches — only analyze and recommend
  • Always update the queue after processing (mark reviewed/merged)
  • Always provide a concrete recommendation for each branch (merge / review-first / resolve-conflict)
  • If a branch was already merged, clean it from the queue without error
  • If all conflicts are circular/unresolvable, escalate clearly rather than proposing an impossible order

Exit Protocol

/merge-review does not produce a HANDOFF block. It outputs the merge report (Step 6) and then waits for the next user command.

After the report, suggest next actions based on what was found:

  • If all branches are safe: "All clear. Merge in the order above."
  • If conflicts exist: "Resolve the flagged conflicts before merging. Run /merge-review again after resolving."
  • If queue is empty: "Queue is empty. Nothing to review."

Version History

  • 4bac8cd Current 2026-07-25 08:46

Same Skill Collection

skills/architect/SKILL.md
skills/archon/SKILL.md
skills/ascii-diagram/SKILL.md
skills/autopilot/SKILL.md
skills/cost/SKILL.md
skills/create-app/SKILL.md
skills/create-skill/SKILL.md
skills/daemon/SKILL.md
skills/dashboard/SKILL.md
skills/decision-map/SKILL.md
skills/deploy-steward/SKILL.md
skills/design/SKILL.md
skills/do/SKILL.md
skills/doc-gen/SKILL.md
skills/evolve/SKILL.md
skills/experiment/SKILL.md
skills/fleet/SKILL.md
skills/grill/SKILL.md
skills/houseclean/SKILL.md
skills/improve/SKILL.md
skills/infra-audit/SKILL.md
skills/learn/SKILL.md
skills/live-preview/SKILL.md
skills/loop/SKILL.md
skills/map/SKILL.md
skills/marshal/SKILL.md
skills/organize/SKILL.md
skills/postmortem/SKILL.md
skills/pr-watch/SKILL.md
skills/prd/SKILL.md
skills/qa/SKILL.md
skills/refactor/SKILL.md
skills/research-fleet/SKILL.md
skills/research/SKILL.md
skills/review/SKILL.md
skills/scaffold/SKILL.md
skills/schedule/SKILL.md
skills/session-handoff/SKILL.md
skills/setup/SKILL.md
skills/systematic-debugging/SKILL.md
skills/telemetry/SKILL.md
skills/test-gen/SKILL.md
skills/triage/SKILL.md
skills/unharness/SKILL.md
skills/verify/SKILL.md
skills/watch/SKILL.md
skills/wiki/SKILL.md
skills/workspace/SKILL.md
scripts/fixtures/ecosystem/anthropics-template-skill/SKILL.md

Metadata

Files
0
Version
d33c70c
Hash
9ef6c090
Indexed
2026-07-25 08:46

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 18:28
浙ICP备14020137号-1 $방문자$