Megatron-Core 代码检查与格式化
帮助 Megatron-LM 开发者运行统一的 Python 检查与格式化流程。
技能仅指导本地 lint/format 工具,未见恶意行为、凭据处理或外传;依赖使用 uv sync --locked,且仓库 CI 权限范围有限。扣分在于 fix 模式会修改文件,未要求用户确认、未说明备份/回滚,也未明确数据流、执行隔离和失败后的恢复边界。
命令、工具列表和检查/修复两种路径基本一致,且 benchmark 报告记录静态验证通过。扣分在于 autoformat.sh、pyproject.toml、CI 具体配置不在目标技能材料中,缺少异常输入、工具缺失、版本不兼容和失败诊断说明;静态评估上限下不超过10分。
目标用户、Megatron-LM 场景、触发短语和主要工具较明确,覆盖 PR 前检查及常见 lint 问题。扣分在于未声明非适用范围、输入前置条件、不同仓库/平台差异或中文使用说明;container 与 uv 假设也限制环境适配,但核心功能不依赖海外在线服务。
front matter 含名称、描述、作者和 Apache-2.0,skill-card 提供用途、输出、版本、责任主体及参考资料;命令示例也支持渐进使用。扣分在于缺少 metadata.tags、Instructions、Examples、Purpose 等报告指出的推荐结构,缺少系统化 FAQ、限制、变更记录和明确维护/更新路径,且仓库许可证元数据为 NOASSERTION。
对运行 Megatron-LM lint/format 的核心任务提供了可直接复制的命令和风格规则,预计能减少手工查找成本。扣分在于没有展示实际输出、错误修复流程或结果验证,工具配置和脚本行为仍需用户自行确认;benchmark 没有可用的 Tier 3 结果,因此静态评估不超过7分。
目标文件中的命令、工具清单和 benchmark 静态检查结果可审阅,skill-card 还给出版本和参考文档。扣分在于 benchmark 明确缺少 Tier 3 任务、信号和结果,evals.json 为空,缺少真实 CI/测试覆盖目标技能关键路径;仅有有限静态证据,故不超过5分。
- fix 模式会直接修改代码;执行前应确认工作树范围并自行建立可恢复的版本控制检查点。
- 技能依赖仓库内的 tools/autoformat.sh、pyproject.toml、锁定依赖和容器环境,脱离对应 Megatron-LM 仓库可能无法运行。
- benchmark 的 Tier 3 评估不可用,不能把报告中的 PASS 解释为已完成真实端到端验证。
- 未提供中文说明、系统化故障排查或工具版本兼容矩阵。
这个 Skill 能做什么,适合哪些场景?
这是 NVIDIA skills 仓库中面向 Megatron-Core 的代码检查与格式化技能。它指导开发者运行 autoformat.sh,并使用 black、isort、pylint、ruff 和 mypy。技能还规定了类型提示、Google 风格文档字符串、命名、行长度和异常捕获等代码规范。它适合在提交 PR 前或修复检查失败时使用,但未提供平台测试矩阵或独立测试套件信息。
指导用户在检查模式或修复模式下运行 tools/autoformat.sh;提示对修改过的 Python 文件运行 uv run isort;指导在容器内使用 uv sync --locked --only-group linting 安装 linting 依赖;列出公共 API 类型提示、Google 风格文档字符串、Python 命名规范、119 字符行长限制和禁止裸 except 等规则。
- Megatron-LM 开发者在创建 PR 前,需要检查整个变更集的格式和静态检查。
- 开发者遇到 pre-commit fails、ruff error、isort 或 mypy 报错,需要定位并修复代码风格问题。
- 开发者编辑 Python 导入后,需要按项目规范重新排序导入。
- 团队希望在容器中安装与 CI linting 任务一致的检查工具。
这个 Skill 有哪些优点和局限?
- 覆盖 black、isort、pylint、ruff 和 mypy,且与 autoformat.sh 和 CI linting 任务保持一致。
- 提供可直接复制的检查、修复、导入排序和依赖安装命令。
- 明确规定公共 API 类型提示、文档字符串、命名、行长度和异常处理规则。
- 可通过 NVIDIA skills CLI 面向 Codex、Claude Code 或 Cursor 安装。
- 内容聚焦 Megatron-LM 的 Python 代码风格,不是通用代码质量或测试技能。
- SKILL.md 未说明具体工具版本、操作系统兼容性或完整配置内容。
- 未提供独立测试套件、示例失败输出或验证结果。
- 修复模式会修改文件,使用前需要确认工作区变更。
如何安装这个 Skill?
使用默认 skills CLI 安装整个 NVIDIA skills 仓库并选择 mcore-linting-and-formatting:
npx skills add nvidia/skills --skill mcore-linting-and-formatting --yes
也可以交互式运行 npx skills add nvidia/skills 后选择该技能。README 未说明该单个技能的手动复制目标路径。
如何使用这个 Skill?
在相关任务中触发技能,例如:“pre-commit fails,帮我运行并修复 Megatron-LM 的格式检查。”
检查模式:
BASE_REF=main CHECK_ONLY=true SKIP_DOCS=false bash tools/autoformat.sh
修复模式:
BASE_REF=main CHECK_ONLY=false bash tools/autoformat.sh
修改 Python 导入后:
uv run isort <file1>.py <file2>.py
容器内安装 linting 组:
uv sync --locked --only-group linting