BeautifulRust — набор из двух навыков для ИИ-агентов и конфигурации проверок Rust-кода. Он нужен, если агент уже пишет вам рабочие программы, но вы хотите, чтобы он внимательнее проектировал интерфейсы, описывал ошибки и проверял изменения. Это не модель и не редактор: инструмент добавляет правила к работе существующего агента.
Какие правила BeautifulRust даёт агенту
В репозитории лежат два Agent Skills. Это папки с инструкциями, которые агент читает при подходящей задаче. rust-best-practices направляет написание и изменение Rust-кода, а rust-review проверяет готовый файл, crate — пакет Rust-кода — или diff, то есть набор изменений. Подробнее о таком способе расширения агентов читайте в разделе «Навыки для Claude и других агентов».
Навык написания охватывает владение данными и заимствование, типы, ошибки, документацию, тесты, асинхронный код и работу с unsafe. Например, он подсказывает, когда возвращать Option или Result, как описывать возможные ошибки функции и почему не стоит открывать поля структуры без необходимости. Правила собраны из пяти названных в README источников, среди которых Rust API Guidelines и руководства Google и Microsoft. Если источники расходятся, автор навыка выбирает правило и объясняет выбор.
Проверяющий навык выдаёт отчёт с тремя уровнями замечаний: «исправить обязательно», «стоит исправить» и «можно рассмотреть». Для каждого замечания README обещает путь и строку, нарушенное правило и минимальное изменение кода. При доступном наборе инструментов Rust агент также запускает форматирование, clippy — проверку кода по правилам — и тесты. Значит, при таком обзоре агент не только читает файлы, но и выполняет команды в проекте.
Отдельная папка lints/ содержит настройки для clippy. Навыки объясняют правила агенту, а эта конфигурация помогает проверять часть правил автоматически, в том числе в CI — системе, которая запускает проверки при изменениях кода. Она, среди прочего, отмечает unwrap() вне тестов, оставленные dbg! и todo!, а также блоки unsafe без комментария // SAFETY:. Это не замена чтению отчёта: автоматические проверки охватывают лишь правила, которые можно выразить через настройки.
Кому пригодятся навыки при работе над Rust-проектом
Если вы ведёте Rust-проект в Claude Code и просите агента добавлять функции, rust-best-practices пригодится как постоянная памятка. Не нужно каждый раз перечислять требования к документации ошибок, видимости полей и проверкам перед сдачей результата. По README навык подключается сам, когда агент пишет или меняет Rust.
Если вы принимаете изменения в библиотеку, начните с rust-review. Попросите агента посмотреть конкретный файл или изменения в PR — запросе на включение изменений в проект. Вместо общего «здесь можно улучшить» вы должны получить замечания, привязанные к строкам и правилам. Разработчику приложения может пригодиться тот же обзор, но библиотечные проверки из конфигурации lints/ README разрешает убрать.
Если вы используете ИИ-агентов для доработки чужого модуля, сочетайте оба навыка: один задаёт ориентиры при правке, другой помогает проверить результат. BeautifulRust заявляет поддержку Claude Code, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI и других агентов, читающих формат Agent Skills. Но поддержка формата не означает одинаковую установку: у каждого агента своё место для папок навыков.
Если вы не пишете и не проверяете Rust, BeautifulRust вам не нужен. Для обычного чата с ChatGPT без агента, который читает навыки, этот репозиторий тоже не даёт описанного в README сценария. Тем, кто занимается вайб-кодингом на другом языке, лучше искать правила именно для своего языка.
Как подключить BeautifulRust к агенту
Для Claude Code README предлагает установку плагином. Эта команда добавляет оба навыка; затем они доступны под именами /beautiful-rust:rust-best-practices и /beautiful-rust:rust-review. Обычно вызывать их вручную не требуется: навыки рассчитаны на автоматическое срабатывание при подходящей задаче.
claude plugin install beautiful-rust --marketplace morganlinton/BeautifulRust
Если вы уже внутри сеанса Claude Code, README даёт другой путь установки того же плагина:
/plugin marketplace add morganlinton/BeautifulRust
/plugin install beautiful-rust@beautiful-rust
Для большинства агентов автор предлагает установщик skills. Ему нужен Node 22.20 или новее. Команда ниже устанавливает навыки в текущий проект; параметр -g выбирает установку для пользователя, а -a <agent> — конкретного агента.
npx skills add morganlinton/BeautifulRust
Можно скопировать папки вручную. README приводит такой вариант для агентов, читающих общую директорию .agents/skills/:
git clone https://github.com/morganlinton/BeautifulRust
mkdir -p ~/.agents/skills
cp -R BeautifulRust/skills/rust-best-practices BeautifulRust/skills/rust-review ~/.agents/skills/
Важное исключение: Claude Code не читает .agents/skills/. Для него используйте плагин или его собственную директорию ~/.claude/skills/ либо .claude/skills/ внутри проекта. Если навык не появился сразу, README советует перезапустить агента. Для claude.ai предусмотрена загрузка каждого навыка отдельным zip-файлом через Customize > Skills; перед этим нужно включить выполнение кода.
Что попросить агента сделать с кодом
Первый пример из README — запрос review src/parser.rs. Вы указываете файл, а rust-review составляет отчёт по его коду. Если замечание касается интерфейса функции или обработки ошибки, в отчёте должны быть строка, ссылка на правило и небольшая правка. Когда среда позволяет, агент дополнительно запускает cargo fmt, clippy и тесты.
Второй запрос из README — what would you change in this PR. Здесь агент проверяет изменения, а не отдельный файл, и разделяет замечания по приоритету. Отчёт заканчивается тем, что код уже делает хорошо; пример такого отчёта автор положил в examples/review-inventory.md.
Третий сценарий — попросить агента написать небольшую библиотеку для разбора семантических версий. README сравнивает два результата такой задачи: без навыка агент оставил поля Version открытыми, не описал ошибки разбора и использовал unwrap() в примере документации. С навыком поля стали закрытыми, появился раздел # Errors, а пример использовал ? для обработки ошибки. Это иллюстрация из тестов автора, а не гарантия, что каждый запрос даст тот же результат.
Если хотите закрепить часть правил в проекте, скопируйте lints/clippy.toml рядом с Cargo.toml и вставьте блок [lints] из lints/lints.toml в Cargo.toml. Затем выполните команду из README:
cargo clippy --all-targets --all-features -- -D warnings
Ключ -D warnings превращает предупреждения в ошибки проверки. Перед добавлением конфигурации просмотрите её: README отдельно помечает правила [lib] как предназначенные для библиотек, а приложениям разрешает их убрать.
Ограничения и цена дополнительных проверок
На момент обзора репозиторий создан 23 октября 2026 года, последний коммит датирован 25 октября 2026 года; у проекта 389 звёзд. Лицензия кода и текстов навыков — MIT. Проект молодой, поэтому число звёзд не говорит о том, как правила поведут себя именно на вашей кодовой базе.
Автор проверял навыки на трёх задачах по написанию кода: библиотеке, CLI-приложении и переработке модуля. Навык прошёл 29 из 30 проверок против 24 из 30 без него, но израсходовал примерно на треть больше токенов на задачу. Навык обзора прошёл 11 из 12 проверок против 7 из 12. README предупреждает, что запуски таких тестов оплачиваются; эти цифры не доказывают выигрыш для любого Rust-проекта.
Отдельный API-ключ README не требует и подписку для установки не описывает. Для варианта с npx нужен указанный Node, а для запуска проверок cargo — доступный набор инструментов Rust. Если вы разрешаете агенту проверять проект, учитывайте его доступ к файлам и возможность выполнять команды; если добавляете настройки clippy, сначала решите, какие правила подходят вашему приложению или библиотеке.
Источник: репозиторий BeautifulRust на GitHub.