merge について
セッション内で勝者のエージェントブランチを選び、他のブランチをアーカイブしてワークツリーを整理するスキルです。複数のエージェントを比較する際に使い、マージ前にユーザーの確認を求めます。
主な機能
- 01評価結果または指定エージェントから勝者を選択
- 02非早送り方式でマージ
- 03Gitタグで敗者ブランチをアーカイブ
- 04セッションのワークツリーを整理
- 05マージ概要の記録と状態更新
活用シーン
- 01評価後に上位エージェントをマージ
- 02マージ対象のエージェントブランチを指定
- 03他エージェントのコミットを保全して作業ツリーを整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill mergeインストール後、Claude Code で/mergeを入力して読み込まれたか確認します。
詳細
/hub:merge — 勝者をマージ
最優秀エージェントのブランチをベースブランチにマージし、敗者のブランチを git タグでアーカイブして、ワークツリーをクリーンアップします。
使用方法
/hub:merge # Merge winner of latest session
/hub:merge 20260317-143022 # Merge winner of specific session
/hub:merge 20260317-143022 --agent agent-2 # Explicitly choose winner
実行内容
1. 勝者を特定する
--agent が指定されている場合は、そのエージェントを使用します。指定されていない場合は、直近の /hub:eval で第1位にランク付けされたエージェントを使用します。
2. 勝者をマージする
git checkout {base_branch}
git merge --no-ff hub/{session-id}/{winner}/attempt-1 \
-m "hub: merge {winner} from session {session-id}
Task: {task}
Winner: {winner}
Session: {session-id}"
3. 敗者をアーカイブする
勝者以外の各エージェントに対して、次を実行します。
# Create archive tag (preserves commits forever)
git tag hub/archive/{session-id}/{agent-id} hub/{session-id}/{agent-id}/attempt-1
# Delete branch ref (commits preserved via tag)
git branch -D hub/{session-id}/{agent-id}/attempt-1
4. ワークツリーをクリーンアップする
python {skill_path}/scripts/session_manager.py --cleanup {session-id}
5. マージ後の概要
.agenthub/board/results/merge-summary.md に次の内容を書き込みます。
---
author: coordinator
timestamp: {now}
channel: results
---
## Merge Summary
- **Session**: {session-id}
- **Winner**: {winner}
- **Merged into**: {base_branch}
- **Archived**: {loser-1}, {loser-2}, ...
- **Worktrees cleaned**: {count}
6. 状態を更新する
python {skill_path}/scripts/session_manager.py --update {session-id} --state merged
安全性
- マージ前にユーザーに確認する — まず差分の概要を提示します
- 強制プッシュは決して行わない — 履歴を明確にするため、マージでは常に
--no-ffを使用します - 削除せず、アーカイブする — 敗者のコミットはタグで保持されます
- ワークツリーをクリーンアップする — ディスク上に孤立したディレクトリを残さないでください
マージ後
ユーザーに次の内容を伝えます。
- 勝者が
{base_branch}にマージされたこと - 敗者がタグ
hub/archive/{session-id}/agent-{N}でアーカイブされたこと - ワークツリーがクリーンアップされたこと
- セッションの状態:
merged
コメント
Markdown 対応