К основному содержанию
скилл CX Codex

mcore-linting-and-formatting — скилл для Claude Code: установка

Скилл настраивает проверку и форматирование кода в проекте Megatron-LM. Помогает исправить ошибки ruff, mypy и отсортировать импорты перед открытием PR.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add NVIDIA/skills --skill mcore-linting-and-formatting -a claude-code
Открыть на GitHub

Что делает mcore-linting-and-formatting

Скилл задаёт правила оформления кода для репозитория Megatron-LM. Он объясняет запуск скрипта tools/autoformat.sh в режимах проверки с CHECK_ONLY=true и исправления с CHECK_ONLY=false. В цепочку входят утилиты black, isort, pylint, ruff и mypy.

Для подготовки окружения в контейнере используется команда uv sync --locked --only-group linting. При раздельном редактировании файлов импорты упорядочиваются через uv run isort <file1>.py <file2>.py до фиксации изменений.

Правила стиля фиксируют длину строки в 119 символов из pyproject.toml, требуют Google-стиль для docstring и запрещают перехват исключений без указания конкретного типа. Для аннотаций типов публичных функций обязателен синтаксис X | None вместо Optional[X]. Без синхронизации группы linting в контейнере скрипты форматирования не отработают.

Какие задачи решает

  • запустить проверку стиля через tools/autoformat.sh перед открытием PR
  • настроить окружение линтеров командой uv sync в контейнере
  • исправить порядок импортов в Python-файлах с помощью isort
  • проверить соблюдение длины строки 119 символов и Google-docstrings

Примеры запросов агенту

  • Как запустить autoformat.sh в режиме проверки для Megatron-LM?
  • Помоги исправить порядок импортов и ошибки ruff перед открытием PR
  • Синхронизируй группу linting через uv в контейнере

Как установить mcore-linting-and-formatting

1Через Skills CLI (Vercel)

npx skills add NVIDIA/skills --skill mcore-linting-and-formatting -a claude-code

2Вручную: положить файлы

~/.claude/skills/mcore-linting-and-formatting/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/mcore-linting-and-formatting/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о mcore-linting-and-formatting

Как установить mcore-linting-and-formatting в Claude Code?

Выполните команду npx skills add NVIDIA/skills --skill mcore-linting-and-formatting -a claude-code.

Что проверяет скилл mcore-linting-and-formatting?

Он проверяет соответствие кода стандартам Megatron-LM через ruff, black, isort, pylint и mypy. Скилл контролирует длину строк до 119 знаков, наличие Google-docstrings и формат типов X | None.

Как установить нужные линтеры в контейнере?

Внутри рабочего контейнера выполните uv sync --locked --only-group linting. Команда установит утилиты, необходимые для tools/autoformat.sh и проверки в CI.

Исходный текст

SKILL.md · Apache-2.0
---
name: mcore-linting-and-formatting
description: Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.
license: Apache-2.0
when_to_use: Running linting or autoformat; fixing style violations before a PR; 'pre-commit fails', 'ruff error', 'isort', 'mypy', 'style violation', 'how do I format', 'autoformat.sh'.
metadata:
  author: Philip Petrakian <[email protected]>
---

# Linting and Formatting

---

## Running the Formatter

Run before opening a PR:

```bash
# Check mode (no changes applied)
BASE_REF=main CHECK_ONLY=true SKIP_DOCS=false bash tools/autoformat.sh

# Fix mode
BASE_REF=main CHECK_ONLY=false bash tools/autoformat.sh
```

Tools invoked: `black`, `isort`, `pylint`, `ruff`, `mypy`.

---

## Import Ordering

After editing imports in any Python files, always run `uv run isort` on those
files before committing:

```bash
uv run isort <file1>.py <file2>.py
```

---

## Setting Up the Linting Group

Inside the container:

```bash
uv sync --locked --only-group linting
```

This installs `ruff`, `black`, `isort`, `pylint` — the same tools used by
`tools/autoformat.sh` and CI's `linting` job.

---

## Code Style Rules

- **Type hints**: required on all public API functions. Use `X | None`, not `Optional[X]`.
- **Docstrings**: Google-style on all public classes and functions.
- **Naming**: follow Python conventions — `snake_case` for functions and variables, `PascalCase` for classes.
- **Line length**: 119 characters (configured in `pyproject.toml`).
- **No bare `except`**: always catch specific exception types.

© Philip Petrakian · Apache-2.0 · NVIDIA/skills

Похожие скиллы

Всё по теме «ИИ и ML» →
python-code-style Seth Hobson Скилл задаёт правила стиля Python, настройки линтеров, форматирования и документации. Пригодится для новых модулей, ревью и настройки проекта. CX Codex 16 456установок lint-and-validate sickn33 Скилл запускает настроенные линтеры и проверку типов, отличая сбои в коде от незапущенных утилит. Пригодится после правок кода перед сдачей задачи агентом. CX Codex +1 1 300установок setup-linting davila7 Настраивает линтеры и проверки качества в проекте: ESLint, Flake8, Pylint, MyPy, Clippy. Пригодится, когда правила стиля надо закрепить автоматически. 510установок latex-formatting lingzhi227 Готовит LaTeX-шаблоны конференций, чинит форматирование и проверяет статью перед сдачей. Пригодится, когда до дедлайна осталось мало времени. CX Codex +1 2 200установок ruff-recursive-fix официальный github Скилл запускает Ruff, применяет безопасные и небезопасные исправления по шагам и просит решения там, где автоматическая правка неоднозначна. 1 500установок python-code-quality laurigates Индексный скилл, который связывает линтинг, форматирование и проверку типов в один стек и показывает, к какому скиллу идти за деталями. CX Codex +1 1 000установок

Из того же набора194

mcore-testing Скилл объясняет тестовую систему Megatron-LM: раскладку тестов, рецепты YAML, golden values и запуск unit-тестов локально. CX Codex +1 1 800установок mcore-create-issue Скилл исследует упавшие прогоны GitHub Actions в NVIDIA/Megatron-LM, находит причину сбоя и оформляет готовый баг-репорт. CX Codex +1 1 800установок mcore-run-on-slurm Скилл помогает подготовить запуск распределённого обучения Megatron-LM на SLURM-кластере. Пригодится для настройки sbatch, мног узлового запуска и разбора сбоев по логам рангов. CX Codex +1 1 800установок nemo-rl-brev-etiquette Скилл задаёт агенту правила хранения файлов на инстансе Brev: код остаётся в репозитории, тяжёлые артефакты уезжают на /ephemeral. CX Codex +1 1 800установок nemo-mbridge-perf-tp-dp-comm-overlap Скилл ведёт по настройке перекрытия коммуникаций TP, DP и PP в Megatron-Bridge: какие ручки крутить, где смотреть код и как проверить результат. CX Codex +1 1 800установок nemo-mbridge-perf-moe-dispatcher-selection Помогает выбрать между alltoall, DeepEP и HybridEP для раздачи токенов в MoE-моделях по железу, размеру EP и этапу оптимизации. CX Codex +1 1 800установок nemo-mbridge-perf-megatron-fsdp Скилл помогает настроить Megatron FSDP в Megatron-Bridge для распределённого обучения вместо стандартного DDP, избежать падений по OOM и проверить чекпоинты. CX Codex +1 1 800установок nemo-rl-docs Скилл задаёт агенту правила оформления документации NeMo-RL: обновление docs/index.md и стиль докстрингов. Пригодится, когда вы пишете или правите доки. CX Codex +1 1 800установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой