执行摘要
- 一句话:新增 .agents/skills 符号链接,复用 .claude/skills 技能
- 推荐动作:这个 PR 只有 1 行,不值得精读;值得留意的设计决策是「用相对符号链接而非复制目录」来暴露同一份资产,以及它把可移植性风险转嫁给了 checkout 环境。如果团队有 Windows 检出场景,建议在 README 或 CONTRIBUTING 里补充
core.symlinks 说明。
功能与动机
PR 作者在 body 中写明了动机:Make the existing .claude/skills directory discoverable through the standard .agents/skills path without duplicating skill definitions。也就是说,技能已经被 .claude/skills 维护,但一些 Agent 工具默认读取 .agents/skills,导致现有技能对它们不可见;复制一份又会让两份定义漂移,因此选择用相对符号链接共享同一目录,保持单一事实来源。
实现拆解
本变更是仓库根目录级的基础设施调整,实现过程可以分三步:
- 在仓库根目录新增一个名为
.agents/skills 的文件,文件内容是一个相对路径符号链接 ../.claude/skills。git 会把它存储为 mode 120000 的符号链接对象,而不是普通文本,因此任何按 .agents/skills 约定扫描技能目录的 Agent 工具都能直接看到与 .claude/skills 相同的技能列表。
- 通过命令行验证链接有效性:
test -L .agents/skills 确认路径是符号链接;realpath 对两个路径做相等性比较,确认 .agents/skills 与 .claude/skills 解析到同一真实目录;再用临时 git index 验证对象模式为 120000。
- 未新增测试用例、CI 步骤或文档;技能定义继续由
.claude/skills 单一维护,PR 的验证只是提交者手动执行,没有进入自动化回归。
关键文件:
.agents/skills(模块 技能目录;类别 other;类型 configuration): PR 唯一变更文件:在仓库根目录新增指向 .claude/skills 的相对符号链接,让标准 .agents/skills 路径复用同一份技能定义。
关键符号:未识别
评论区精华
本次没有代码评审意见。唯一相关的自动消息是 gemini-code-assist[bot] 的提示,说明其 GitHub 消费者版本已 sunset、所有 review 活动已停止;human reviewer yueming-yuan 直接 APPROVED 且没有评论。PR body 的 Review Focus 曾建议审视符号链接相对目标的仓库可移植性,但讨论线程里没有展开。
风险与影响
- 风险:符号链接可移植性是主要风险:
.agents/skills 依赖 git checkout 时保留 symlink。Windows 默认 PowerShell / 文件操作、或显式设置 core.symlinks=false 的机器上,这个文件会被还原成普通文本 ../.claude/skills,ls .agents/skills 不再是目录;这种情况不会让训练/推理失败,但会让技能发现失效。另一个风险是目标漂移:如果后续把 .claude/skills 改名或迁移,链接会悬空,但同样不会影响构建。
- 影响:用户侧:任何遵循
.agents/skills 约定的 Agent CLI 将直接看到仓库现有技能,无需额外配置;沿用 .claude/skills 的用户不受影响。系统侧:不触碰 miles 代码路径,训练、rollout、推理、CI 均无运行时影响。团队侧:未来只需维护 .claude/skills 一个目录,两条发现路径自动保持一致,但要注意跨平台检出差异。
- 风险标记:符号链接可移植性, 无自动化验证
关联脉络
参与讨论