用途:在宿主运行中首次进行非平凡持久写入(文档或代码)前,可选地创建或检测工作区隔离。宿主需在依赖中声明该技能,缺失则中止。名称固定为 git-worktree-discipline,不要使用 using-git-worktrees。
主要能力:检测当前是否已处于本次变更的链接 worktree 中,若是则复用而不嵌套;区分 submodule 与 worktree 后再判断隔离。读取 AGENTS.md / CLAUDE.md 中的 worktree-gate 偏好:always、never、ask,未设置等同 ask。根据项目状态(同级 ../ 脚本、完整产品包、主树是否脏)给出适用性建议:适合代码与单元测试,不适合未重绑路径的产品包。按 gate 执行:never 跳过创建并输出【工作区隔离跳过】escape=worktree-gate-never;always 尽可能创建且不询问;ask 在推荐后询问创建/拒绝/精简,不静默创建。创建时优先使用智能体原生工作区/worktree 能力,否则回退到被忽略的项目本地目录(优先 .worktrees/),并用 git check-ignore 验证忽略。在新工作区执行项目相应的安装/构建,并在项目有基线测试或类型检查时运行;基线失败则报告并询问继续还是排查。无项目标记时可跳过安装与基线。lean/hotfix 或用户拒绝时输出【工作区隔离跳过】escape=lean-hotfix|user-decline。
使用方式:宿主在首次写入产物或代码前加载本技能;建议设为用户不可直接调用。检测、创建、安装的完整清单见 reference.md。
限制:不替代设计审批;不在运行中途静默销毁隔离;不暗示在 worktree 内一键获得完整产品包。清理由 feature-branch-closeout 负责,本技能可记录与创建对称的移除命令。