CODEOWNERS 分组拆分 PR
按 CODEOWNERS 审核组拆分大型 PR,降低审核负担并保持每个 PR 可独立合并。
技能明确要求用户批准后执行、创建 draft PR、推送到用户 fork 而非 upstream,并披露主要 git/GitHub 操作,降低了越权和不可逆风险;但未说明凭据、敏感代码处理、失败回滚或远程分支清理,因此未满分。
工作流步骤和关键命令基本一致,覆盖 CODEOWNERS 分析、依赖识别和拆分执行;但依赖 gh、git、upstream/main 及仓库配置,未提供异常输入、命令失败、冲突恢复或可诊断错误反馈,且静态评估不能超过 10 分。
触发词、输入参数、目标用户和主要场景较清晰,适用于需要按 CODEOWNERS 拆分 Megatron-LM PR 的开发者;但未充分界定不适用场景、复杂依赖或非 GitHub 环境,也没有中文支持和中国大陆网络可达性说明,因此扣分。
SKILL.md 具备 front matter、分层流程、约束、风险相关说明;Apache-2.0、作者、版本和 benchmark 证据可追溯,但缺少 metadata.tags、Instructions、Examples、FAQ、详细限制、变更记录及明确维护责任,benchmark 也明确记录了这些缺陷。
技能提供了从 PR 分析、按 CODEOWNERS 聚类到创建 draft PR 的完整目标路径,并强调测试随生产代码移动和依赖处理;但没有该技能路径的代表性可用输出或执行复现证据,且结果仍需用户审阅和处理仓库特定问题,按静态校准仅给上限分。
存在提交的静态 benchmark,记录了 9 项 Tier 1 检查通过但有 10 个发现,并记录 Tier 3 不可用;evals.json 为空,缺少覆盖关键路径的专属测试和独立复现材料,因此只能给有限证据分。
- 执行会读取 PR、CODEOWNERS 和当前 GitHub 用户信息,并可能创建分支、提交、推送和 draft PR;用户应在执行前确认仓库、分支、文件范围和 fork 目标。
- 未定义 gh 身份验证失败、git apply 冲突、推送失败、部分 PR 已创建或需要撤销时的恢复流程。
- BENCHMARK.md 中 Tier 3 不可用且 evals.json 为空;benchmark 还记录了缺少示例、Instructions、metadata.tags 和明确 WHEN 描述等质量问题。
- 技能依赖 GitHub CLI、Git、远程 upstream/main 及 NVIDIA Megatron-LM 仓库约定,未证明在其他托管平台或中国大陆网络环境下可用。
这个 Skill 能做什么,适合哪些场景?
该技能用于分析 NVIDIA Megatron-LM 的大型拉取请求,并根据 CODEOWNERS 审核组提出拆分方案。它会将相关生产代码与测试代码放在一起,识别 PR 之间的依赖,并要求用户批准后才执行。获批后,它从合适的基线创建分支,应用按文件范围提取的差异,推送到用户的 fork,并创建草稿 PR。
读取指定 PR 的标题、描述、源分支和作者信息,获取变更统计与当前 GitHub 用户;解析 .github/CODEOWNERS,将变更文件映射到审核组;按审核组聚类文件并统计现有审核组数量;生成包含文件、审核组和依赖关系的拆分方案;获批后使用 git diff 与 git apply 提取文件范围的变更,提交并推送到用户 fork,创建草稿 PR。
- Megatron-LM 贡献者需要把包含多个目录的大型 PR 拆成更易审核的多个 PR。
- PR 作者收到过多 CODEOWNERS 审核组通知,希望减少每个 PR 涉及的组数。
- 维护者需要确保测试随其验证的生产代码一起移动,而不是单独拆出测试 PR。
- 当前 PR 包含重命名或符号依赖,需要在拆分前规划兼容别名、重新导出或垫片。
这个 Skill 有哪些优点和局限?
- 围绕 CODEOWNERS 组优化拆分,而不是只按文件数量拆分。
- 明确要求测试随生产代码移动,并检查独立可合并性。
- 执行流程限定为向用户 fork 推送并创建草稿 PR。
- 范围明确针对 NVIDIA/Megatron-LM 的 PR 和其 CODEOWNERS 文件。
- 执行依赖 GitHub CLI、Git、网络访问以及用户 fork 权限。
- SKILL.md 未提供测试套件、支持平台矩阵或失败恢复机制。
- 实际拆分方案仍需用户批准,技能不会自动执行。
如何安装这个 Skill?
使用默认 skills CLI 安装指定技能:
npx skills add nvidia/skills --skill mcore-split-pr --yes
README 未说明该技能在各客户端的具体本地安装目录;CLI 会提示安装目标。
如何使用这个 Skill?
安装后,向代理提出类似“Split PR https://github.com/NVIDIA/Megatron-LM/pull/123 to reduce CODEOWNERS reviewers”或“Split PR 123 into independently mergeable draft PRs”的请求。代理应先展示约束和拆分方案,并等待批准;未经批准不会执行拆分。