用途
该技能面向共享协议清单的变更传播:当 .claude/skills/shared/sync-inline-versions.md 中的规范协议更新,或新增了需要分层下发的协议块时,用它把内容同步到已声明的技能与智能体载体,并重建发布投影,最后验证一致性。
主要能力
- 操作 A:更新已有 SYNC 块内容。可按指定标签同步,也可读取规范源后询问用户要同步哪些标签或全部。同步前先用
sync-update-blocks.py的--dry-run检查载体清单。 - 操作 B:新增分层块。先向规范源添加
## SYNC:{block-name}段落,再把标签加入sync-hooks-to-skills.py的BODY_TAGS及相应层级列表,并处理智能体质量矩阵AGENT_QUALITY_BLOCKS与AGENT_SKILL_CONNECTIONS,随后执行注入。 - 分层控制:技能使用
SKILL_BLOCK_ORDER(当前为空)和ORCHESTRATOR_SKILL_BLOCK_ORDER;智能体按CODE_BLOCK_ORDER(Core-2 加代码调查类)、READONLY_CODE_BLOCK_ORDER(Core-2 加两项阅读纪律)、CORE_BLOCK_ORDER(Core-2)分类,未归入任一组会直接报错。 - 通用协议不进入任何层级列表或
BODY_TAGS,由通用钩子按protocol-groups.json的 bins 布局下发,--mode=strip-root-pointer可清除重新出现的通用块。 - 支持只作用于智能体的运行(
--agents-only),以及围栏平衡检查(check-subagent-routing.cjs将 SYNC 与 OVERRIDE 开闭标记同等对待)。
使用方式
操作 A 的典型步骤:
- 确定要同步的标签;未指定时读取规范源并询问用户。
- 从
sync-inline-versions.md提取## SYNC:{tag-name}下的内容。 - 运行干跑:
# macOS/Linux;Windows 用 py -3 代替 python3
python3 .claude/scripts/sync-update-blocks.py "{tag-name}" --dry-run
- 正式传播并重建投影:
python3 .claude/scripts/sync-update-blocks.py "{tag-name}"
node .claude/scripts/build-protocol-projection.cjs
- 验证:
node .claude/scripts/codex/verify-sync-adoption-parity.mjs
rg -n "SYNC:{tag-name}" .claude
并检查围栏是否平衡、正文是否与规范完全一致、无关的作者内容是否未变。
新增块时还需以干跑再正式运行的方式执行 inject_agent_protocol_blocks.py 与 inject_agent_skill_connections.py,并运行 agent_protocol_matrix.py --validate。
提醒块与 OVERRIDE 块
:reminder 块是技能末尾的单行摘要,属于独立标签,同步普通标签不会触及它,只有显式传入 {tag}:reminder 且用户要求提醒时才会处理。规范源尚未为每个在用提醒标签提供对应段落,缺少时会报 ERROR: section not found,此时应先补充规范段落再同步,不要手改围栏内容。
OVERRIDE 块用于确实需要不同路由的载体,脚本不会修改它;实质内容仍受一致性守卫约束,仅 Subagent-Type、Agent-Call、Reference-Docs 等部分可以不同,且该标签的载体集合被固定为两份文档。
适用场景
维护多技能共享协议、批量更新内联版本片段、新增分层协议规则、同步智能体与技能的连接关系,以及校验载体覆盖与投影一致性。
限制
- 规范源必须先编辑,脚本只做插入和同步,不负责内容创作。
- 插入器只插入不删除:把智能体从一个层级调整到另一个层级时,多余块需要手工清除,否则回归断言会失败。
- 提醒同步的覆盖率是部分的,取决于规范中是否已有对应段落。
AGENT_ADOPTION_EXEMPT与EXCLUDED_ORCHESTRATION由两套独立机制执行,无交叉校验,需手工保持同步。- 运行依赖 Python 3、Node.js(不低于18)及框架内模块,不依赖第三方包;运行时可用性不确定时用
--help探测。 - 协议顺序默认保持不变,偏离需用户批准;工作流门禁固定。