# PR #2021 完整报告

- 仓库：`radixark/miles`
- 标题：feat: expose Claude skills to agents
- 合并时间：2026-08-05 11:49
- 原文链接：http://prhub.com.cn/radixark/miles/pull/2021

---

# 执行摘要

- 一句话：新增 .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`，导致现有技能对它们不可见；复制一份又会让两份定义漂移，因此选择用相对符号链接共享同一目录，保持单一事实来源。

# 实现拆解

本变更是仓库根目录级的基础设施调整，实现过程可以分三步：
1. 在仓库根目录新增一个名为 `.agents/skills` 的文件，文件内容是一个相对路径符号链接 `../.claude/skills`。git 会把它存储为 mode 120000 的符号链接对象，而不是普通文本，因此任何按 `.agents/skills` 约定扫描技能目录的 Agent 工具都能直接看到与 `.claude/skills` 相同的技能列表。
2. 通过命令行验证链接有效性：`test -L .agents/skills` 确认路径是符号链接；`realpath` 对两个路径做相等性比较，确认 `.agents/skills` 与 `.claude/skills` 解析到同一真实目录；再用临时 git index 验证对象模式为 120000。
3. 未新增测试用例、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` 一个目录，两条发现路径自动保持一致，但要注意跨平台检出差异。
- 风险标记：符号链接可移植性 , 无自动化验证

# 关联脉络

- 暂无明显关联 PR