refactor(skills): merge-reconciler -> optional-skills as agent-merge-conflict-arbiter (#98519)

Bundled by #83063 into the always-shipped set, but it serves only
multi-agent kanban campaigns — too niche for every install's skills
index (~20 tok/call for all users). Moved to the optional catalog
(installable via /skills search + hub, official source) and renamed so
the trigger is legible at a glance: 'merge-reconciler' read like a
generic git helper; 'agent-merge-conflict-arbiter' says who it is for.

- skills/autonomous-ai-agents/merge-reconciler -> optional-skills/autonomous-ai-agents/agent-merge-conflict-arbiter
- frontmatter name + description updated (description within the 60-char hardline its own contract test enforces)
- contract test moved/renamed, 9/9 green
- kanban docs (en + zh-Hans) repointed; zero merge-reconciler refs remain
This commit is contained in:
Teknium
2026-08-30 04:49:34 -07:00
committed by GitHub
parent 2a598aad1c
commit 4fcbe2d59c
4 changed files with 11 additions and 11 deletions

View File

@@ -1,6 +1,6 @@
---
name: merge-reconciler
description: "Neutral third-party resolution of agent merge conflicts."
name: agent-merge-conflict-arbiter
description: "Neutral arbiter for merge conflicts between two agents."
version: 1.0.0
author: Hermes Agent
license: MIT
@@ -11,7 +11,7 @@ metadata:
related_skills: [hermes-agent]
---
# Merge Reconciler
# Agent Merge-Conflict Arbiter
Resolve a git merge conflict between two AGENTS' branches as an impartial third
party. Agents resolving conflicts against a peer's work reliably either

View File

@@ -1,4 +1,4 @@
"""Contract checks for the bundled merge-reconciler skill asset.
"""Contract checks for the optional agent-merge-conflict-arbiter skill asset.
Reads only the SKILL.md markdown asset — no .py source reads, no network.
"""
@@ -8,9 +8,9 @@ from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[2]
SKILL_PATH = (
REPO_ROOT
/ "skills"
/ "optional-skills"
/ "autonomous-ai-agents"
/ "merge-reconciler"
/ "agent-merge-conflict-arbiter"
/ "SKILL.md"
)
@@ -48,7 +48,7 @@ def test_frontmatter_required_fields():
fm, _ = _frontmatter_and_body()
for field in ("name", "description", "version", "author", "license", "platforms"):
assert field in fm, f"missing frontmatter field: {field}"
assert fm["name"] == "merge-reconciler"
assert fm["name"] == "agent-merge-conflict-arbiter"
def test_description_hardline():

View File

@@ -960,7 +960,7 @@ abandons its own. Instead, create a reconciliation card assigned to a **third,
neutral profile** with **both** conflicted cards linked as parents: the parent
links carry both sides' completion summaries into the reconciler's context, so
it receives both diffs *and* both intents. The bundled
[`merge-reconciler` skill](https://github.com/NousResearch/hermes-agent/blob/main/skills/autonomous-ai-agents/merge-reconciler/SKILL.md)
[`agent-merge-conflict-arbiter` optional skill](https://github.com/NousResearch/hermes-agent/blob/main/optional-skills/autonomous-ai-agents/agent-merge-conflict-arbiter/SKILL.md)
gives that worker the full procedure: classify each conflicted hunk, resolve
impartially, verify, and hand back a summary naming every decision.
@@ -984,7 +984,7 @@ path** should create a dedicated refactor/decomposition card for that file
**before** queuing more work that touches it — splitting the magnet file is
cheaper than reconciling every future collision it would cause. For conflicts
that have *already* happened, use the reconciliation-card pattern above with
the `merge-reconciler` skill; hotspot flagging is the upstream fix that keeps
the `agent-merge-conflict-arbiter` optional skill; hotspot flagging is the upstream fix that keeps
the reconciler from becoming a standing lane.
## Multi-tenant usage

View File

@@ -703,7 +703,7 @@ EOF
### 调解冲突的 worker 分支
在工程流水线(使用 worktree 的 P1/P2)中,两个 worker 的分支合并时可能发生冲突。不要让任一 worker 自行裁决 —— 发生冲突的 agent 缺乏对方的上下文,往往会覆盖对方的改动或放弃自己的改动。正确做法是:创建一张调解卡片,指派给**第三个中立配置文件**,并把**两张**冲突卡片都链接为其父任务:父任务链接会把双方的完成摘要带入调解者的上下文,使其同时获得双方的 diff *和*双方的意图。内置的 [`merge-reconciler` 技能](https://github.com/NousResearch/hermes-agent/blob/main/skills/autonomous-ai-agents/merge-reconciler/SKILL.md) 为该 worker 提供完整流程:对每个冲突块分类、公正地解决、验证,并在交回摘要中说明每一项决定。
在工程流水线(使用 worktree 的 P1/P2)中,两个 worker 的分支合并时可能发生冲突。不要让任一 worker 自行裁决 —— 发生冲突的 agent 缺乏对方的上下文,往往会覆盖对方的改动或放弃自己的改动。正确做法是:创建一张调解卡片,指派给**第三个中立配置文件**,并把**两张**冲突卡片都链接为其父任务:父任务链接会把双方的完成摘要带入调解者的上下文,使其同时获得双方的 diff *和*双方的意图。内置的 [`agent-merge-conflict-arbiter` 技能](https://github.com/NousResearch/hermes-agent/blob/main/optional-skills/autonomous-ai-agents/agent-merge-conflict-arbiter/SKILL.md) 为该 worker 提供完整流程:对每个冲突块分类、公正地解决、验证,并在交回摘要中说明每一项决定。
### 并行战役中的碰撞热点(Collision hotspots)
@@ -713,7 +713,7 @@ EOF
hotspot: hermes_cli/kanban_db.py — 本轮对 dispatch 循环的第三次冲突性编辑
```
并在完成时的 `metadata` 中重复该标记。编排者(或查看看板的人类)如果看到**两条或更多 `hotspot:` 评论指向同一路径**,应在继续排入任何触碰该文件的工作**之前**,为该文件创建一张专门的重构/分解卡片 —— 拆分磁石文件比调解它未来引发的每一次冲突更便宜。对于*已经*发生的冲突,请使用上文的调解卡片模式配合 `merge-reconciler` 技能;hotspot 标记是上游修复,能避免调解者变成一条常设车道。
并在完成时的 `metadata` 中重复该标记。编排者(或查看看板的人类)如果看到**两条或更多 `hotspot:` 评论指向同一路径**,应在继续排入任何触碰该文件的工作**之前**,为该文件创建一张专门的重构/分解卡片 —— 拆分磁石文件比调解它未来引发的每一次冲突更便宜。对于*已经*发生的冲突,请使用上文的调解卡片模式配合 `agent-merge-conflict-arbiter` 技能;hotspot 标记是上游修复,能避免调解者变成一条常设车道。
## 多租户使用