用途:在已存在的 worktree 之间同步非 git 管理的数据,支持播种(seed)、比较(diff)、应用(apply)和数据清理。worktree 的创建、进入、删除等生命周期操作不在本技能范围内。
主要能力:单一 CLI 入口 python3 <skill-dir>/scripts/sync_worktree_data.py --to <worktree-path> --mode <seed|diff|apply> [OPTIONS],--from 默认指向主 worktree。seed 模式只复制目标中缺失的受管文件,不覆盖已有文件,可用 --seed-sync-mode <auto|force-symlink|force-cow> 控制同步方式,该参数仅对 seed 有效。diff 模式报告源到目标的差异,状态包括 new、modified、unchanged(需 --include-unmodified),支持人类可读报告或 --json。apply 模式执行同步动作,--action overwrite 覆盖复制,--action rename 带后缀复制,可通过 --from-json 或 --files 选择变更,省略则自动处理当前 diff 的 new 与 modified;不提供删除或丢弃动作。
受管路径发现:无状态且由源驱动,来源包括 gitignore 路径、解析到仓库外的已跟踪符号链接、顶层符号链接安全网以及 .gitignore 中的 symlink-only 注释。注释方式为在规则后添加重复行并带 # data-sync:symlink 标签,旧标签 # worktree:symlink 也受支持。symlink-only 根在 seed auto 模式下创建符号链接,并在 diff/apply 中被排除。
数据清理:由 seed 物化的数据(普通副本、COW 克隆、符号链接)随 worktree 目录删除而隐式移除,没有单独的 unseed 步骤,源 worktree 数据不受影响。worktree 删除本身需参考 worktree-harness-fallback.md 的 Remove 部分。
限制:仅处理非 git 管理数据;不提供删除/丢弃动作;--seed-sync-mode 仅限 seed 模式;具体平台与收费信息暂未提供。