1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | mcore-linting-and-formatting-nvidia-skills |
| 项目自述名称 | mcore-linting-and-formatting(NVIDIA Agent Skills 目录中 “Megatron-Core” 产品线下的一个技能) |
| 作者/维护者 | NVIDIA(Megatron-Core 团队;SKILL.md 署名 Philip Petrakian) |
| 来源链接 | https://github.com/nvidia/skills/tree/main/skills/mcore-linting-and-formatting |
| 许可证 | Apache-2.0(GitHub API 获取) |
| GitHub Stars / Forks | 2,877 / 335(GitHub API 获取;这是 nvidia/skills 合集仓库整体数字,不代表本技能自身热度——该仓库汇集了 NVIDIA 数十个产品线共 336 个技能) |
| 最新版本 | core_v0.15.0rc7-1652-g1325db3b5(skill-card 记录的 Megatron-Core git 版本快照,同步日期 2026-05-29) |
| 安装方式 | npx skills add nvidia/skills --skill mcore-linting-and-formatting --agent claude-code(或手动复制 skills/mcore-linting-and-formatting/ 到 agent 的 skills 目录) |
2. 功能介绍与亮点
mcore-linting-and-formatting 是 NVIDIA 为其大规模分布式训练框架 Megatron-LM(Megatron-Core)提供的代码风格技能,把该项目贡献者在提交 PR 前必须完成的格式化与静态检查步骤固化成一套可直接执行的指引:
- 一键跑通格式化:给出
tools/autoformat.sh的检查模式与修复模式两条命令,串联black、isort、pylint、ruff、mypy五个工具,与仓库 CI 的 linting job 使用完全相同的工具组合。 - 导入顺序纪律:明确要求编辑 Python 导入后先跑
uv run isort再提交,避免 CI 因导入顺序失败。 - 环境搭建:给出容器内
uv sync --locked --only-group linting的依赖安装命令,安装的工具版本与 CI 保持一致。 - 具体到可执行的代码风格规则:类型标注必须覆盖所有公共 API(用
X | None而非Optional[X])、公共类/函数用 Google 风格 docstring、行宽 119 字符、禁止裸except。
亮点:内容来自 Megatron-LM 项目自身,与仓库实际 CI 配置(pyproject.toml、tools/autoformat.sh)逐条对应,不是通用 Python 风格指南的泛化版本;同一份技能内容同时维护在 NVIDIA/Megatron-LM 主仓库与 nvidia/skills 目录中(后者是 NVIDIA 面向多 Agent 的统一分发渠道,README 说明技能“在各自产品仓库中维护,每日自动同步到此处”);发布前经过 NVIDIA 内部 NVSkills-Eval 三层评测(安全、正确性、可发现性等维度),评测结论 PASS 且未发现安全问题。
3. 适用场景
所属分类:工程效率与代码质量
适用于正在为 Megatron-LM / Megatron-Core 贡献代码、需要在提交 PR 前让代码通过项目自身 linting CI 的开发者——尤其是刚接触该仓库、还不熟悉其 autoformat.sh、CI 工具链版本与代码风格约定细节的中级开发者。也适用于 review 者快速核对一份 PR 是否遵循了仓库既定的类型标注、docstring 与命名规范。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——
nvidia/skills官方 README 的--agent claude-code安装示例明确列出,且提示“下次 Agent 加载 skills 时即可用,/reload-skills可立即生效”。 - Codex:✅ 原生支持——README 同样给出
--agent codex的显式安装示例。 - OpenClaw:❓ 未验证——README 列出的官方
--agent目标为 Claude Code、Codex、Snowflake Cortex、Cursor、Kiro,未提及 OpenClaw;技能内容是标准 Markdown + YAML front matter,理论上可手动安装,但缺乏厂商侧的直接验证材料。 - Hermes Agent:❓ 未验证——同上,官方安装目标未列出 Hermes Agent,暂无相关验证信息。
5. 推荐理由
Megatron-LM 是当前最主流的大规模分布式训练框架之一,其贡献流程对代码风格要求严格且工具链专有(autoformat.sh 串联五个 linter,版本与 CI 强绑定)。这份技能把这套流程从“需要翻源码、猜 CI 配置”变成“照抄命令即可跑通”,来源是项目官方本身,内容与仓库实际配置逐条对应,可信度高,能显著降低新贡献者在代码风格环节被 CI 打回的概率。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 官方出品——NVIDIA 是 Megatron-LM 的项目方;nvidia/skills 合集仓库 2,877 星不计入本技能个体评分,本技能自身除官方渠道外未见独立第三方讨论或评测 |
| 可用性 | 7 | 步骤清晰、命令可直接复制,代码风格规则具体明确;但需要先克隆 Megatron-LM 仓库并搭建其官方开发环境(uv sync + 容器),并非零配置即用;内容随仓库于 2026-05-29 完成一次同步,仓库整体持续活跃 |
| 安全性 | 9 | 官方出品且完全开源可审计,执行范围限定在本地代码格式化与静态检查(ruff/black/isort/pylint/mypy),无网络外发、无需凭据;NVIDIA 内部 NVSkills-Eval 评测未发现安全问题 |
综合评分:7.67(三项均值)
安全检查清单逐项结果:
① Shell 命令执行——仅在本地仓库内运行格式化与静态检查工具,范围明确;
② 联网外发——无,uv sync 仅从标准包源安装依赖,无数据外发;
③ 凭据/API key——不需要;
④ 可疑指令——SKILL.md 与目录内文件未见提示注入或隐蔽指令;
⑤ 作者/组织信誉——NVIDIA 官方,Megatron-Core 团队;
⑥ License——Apache-2.0,明确;
⑦ 最近维护——随 Megatron-LM 主仓于 2026-05-29 完成一次同步,仓库整体每日有活动、未被归档。
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| dignified-python-dagster-io-skills | 官方出品的通用 Python 编码规范技能,规则具体可验证且按版本自动适配 | 面向任意 Python 项目的通用风格规范;本技能则绑定 Megatron-LM 自身的工具链版本与 CI 配置,命令可直接照抄跑通,但只对该项目贡献者有意义 |
| terraform-style-guide-hashicorp-agent-skills | HashiCorp 官方出品的 Terraform 代码风格技能,纯模板无代码执行 | 面向基础设施即代码(Terraform)领域,与 Python/分布式训练代码库完全不同的技术栈;本技能则需要实际执行 lint/format 工具 |
本技能的差异化在于“项目原生”:内容直接来自 Megatron-LM 仓库本身而非第三方总结,工具版本、脚本路径、CI 行为逐条对应,通用 Python 风格指南无法覆盖这类项目特有的工具链细节。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;NVIDIA 官方文档站(docs.nvidia.com/skills)将其收录进 NVIDIA Agent Skills 目录并附带内部评测报告作为发布前质量凭证。
9. 安装使用方式
- 官方 CLI 安装(推荐):
需要npx skills add nvidia/skills --skill mcore-linting-and-formatting --agent claude-code # 或 npx skills add nvidia/skills --skill mcore-linting-and-formatting --agent codexskillsCLI v1.5.16 及以上版本;安装完成后 Claude Code 中可执行/reload-skills立即生效。 - 手动安装:直接将仓库中的
skills/mcore-linting-and-formatting/目录复制进所用 Agent 的 skills 目录。 - 使用前提:需已克隆
NVIDIA/Megatron-LM(或nvidia/skills所同步的 Megatron-Core 代码库),并在其官方开发容器或本地环境中安装ruff/black/isort/pylint/mypy(uv sync --locked --only-group linting一条命令即可完成)。
10. 注意事项
- 本技能是 Megatron-LM 项目专属的风格指南,脚本路径(
tools/autoformat.sh)、行宽(119 字符)等约定均针对该仓库,不能直接套用到其他 Python 项目。 - SKILL.md 明确建议在官方开发容器内运行
uv sync,容器外环境可能存在工具版本差异导致的结果不一致。 - OpenClaw 与 Hermes Agent 的兼容性未获官方验证,如在这两类 Agent 中使用需自行手动安装并验证效果。