xb-synclisted
Install: claude install-skill dennydkt/xbskill
# xb-sync:多 Agent 记忆同步
调用前先读 `../xbskill/references/interaction-settings.md`,按用户已选调用强度和保存提示执行;明确指定其他技能或拒绝 XB 时退出。未初始化时只允许配置与说明,禁止代选或先执行后确认。
直调契约:完整读取 `../xbskill/references/contracts.md`、`../xbskill/references/resolution-standard.md`、`../xbskill/references/context-protocol.md`、`../xbskill/references/session-memory-protocol.md` 与 `../xbskill/references/runtime-compatibility.md`。任一文件缺失时,报告精确路径并停止,不得凭记忆补造。本体查询依赖 `../xb-memory/scripts/memory_ontology.py`;缺失时报 `E_DEPENDENCY` 并只停用 `query` 子命令。
安装约定:随 xbskill 完整套件安装,`xb-sync`、`xbskill`、`xb-memory` 保持同级。Python 3.10+,仅标准库。不得单独复制本目录后假定依赖齐全。
## 触发与适用边界
用户主结果是:同一台机器上多个 AI 宿主(Kimi/daimon、Codex、ZCode、Claude Code 等)各自项目里散落的 xbskill 记忆需要被发现、归集或跨根检索。
不适用:跨机器同步(交给人工拷贝或用户自行安排的文件同步,本 Skill 不联网);把记忆写入 `~/.codex`、`~/.claude`、`~/.zcode` 等工具私有目录(明确禁止);合并两个本体存储(见下);替用户裁决冲突内容。
## 核心模型:登记簿 + 唯一真源 + 扇出查询
1. **登记簿(registry)**:一个 `memory-homes.json`,记录本机所有已知记忆根的路径、角色(canonical/satellite)、登记时间。位置由用户在首次 `discover` 时指定,建议放在真源旁边。
2. **唯一真源(canonical home)**:一个用户确认的 `<project>/memory/xbskill/`。登记簿记录这个选择;各 Agent 的保存与恢复仍须在当前会话显式选定对应项目路径。脚本不修改宿主配置,也不自动让其他专科读取登记簿。跨根 query 继续查询原根。
3. **只增不覆盖归集**:`sync` 把真源缺失的完整会话复制进来;相同会话 ID 只有整组路径和哈希完全一致才跳过,任一差异将整组放入 `<home>/conflicts/<来源路径SHA256>/sessions/`。同名来源与旧冲突版本各自保留。context、知识包及散文件放入 `<home>/imports/<来源路径SHA256>/` 待核对区,保留来源作用域;它们不直接进入真源的活跃背景。收据记录原根、相对路径、SHA256、去向与日期。
4. **扇出查询代替本体合并**:两个 `ontology/` 存储的断言 ID、作用域和敏感级各自独立,机械合并会破坏来源链。跨根检索用 `query` 对每个登记根分别执行 `memory_ontology.py query`,结果带来源根标签并列返回,按候选事实处理,不静默合并。
5. **项