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

unsafe-checker — скилл для Claude Code: что делает и как установить

Проверяет блоки unsafe и вызовы FFI в коде на Rust, следит за комментариями SAFETY и поиском причин неопределённого поведения.

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

Что делает unsafe-checker

Скилл анализирует файлы с расширением .rs, используя инструменты Read, Grep и Glob. Он находит блоки unsafe, сырые указатели, структуры union, атрибуты #[repr(C)] и вызовы через FFI, чтобы оценить корректность работы с памятью.

Внутри заданы правила аудита для разыменования указателей, преобразований через transmute и многопоточных маркеров Send или Sync. Ассистент требует обязательных пояснений // SAFETY: перед опасным кодом и документирования контрактов через /// # Safety. Попытка обойти borrow checker без понимания причин считается ошибкой и бракуется при проверке.

Скилл указывает на устаревшие приёмы и предлагает безопасные замены. Вместо вызова mem::uninitialized() он требует переходить на MaybeUninit, предлагает NonNull для арифметики указателей и предостерегает от висячих указателей при вызове .as_ptr() у временного CString.

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

  • найти причины неопределённого поведения в блоках unsafe
  • проверить корректность сигнатур FFI и внешних C-функций
  • проконтролировать наличие обязательных комментариев // SAFETY:
  • заменить устаревшие методы вроде mem::uninitialized() на MaybeUninit

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

  • Проверь блоки unsafe в файле src/ffi.rs на выравнивание и комментарии SAFETY
  • Найди в проекте вызовы mem::zeroed и помоги переписать их на MaybeUninit
  • Проведи аудит интерфейса C в модуле src/bindings.rs на корректность типов

Как установить unsafe-checker

1Через Skills CLI (Vercel)

npx skills add actionbook/rust-skills --skill unsafe-checker -a claude-code

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

~/.claude/skills/unsafe-checker/SKILL.md

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

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

Вопросы о unsafe-checker

Как установить unsafe-checker в Claude Code?

Выполните команду npx skills add actionbook/rust-skills --skill unsafe-checker -a claude-code. Также можно поместить файл в каталог ~/.claude/skills/unsafe-checker/SKILL.md.

Что проверяет скилл unsafe-checker?

Он проверяет корректность разыменования сырых указателей, отсутствие гонок данных, выравнивание структур в памяти и наличие обязательных описаний безопасности.

Какие крейты скилл предлагает для интеграции через FFI?

Для связи C и Rust рекомендуется bindgen, для экспорта в C — cbindgen, а для взаимодействия с Python и Node.js используются PyO3 и napi-rs.

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

Всё по теме «Код-ревью и рефакторинг» →
improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. 1 141 062установок triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. 990 453установок codebase-design Matt Pocock Скилл помогает проектировать модули с небольшим интерфейсом и скрытой внутри сложностью. Подходит для рефакторинга, тестируемости и поиска чистого seam. 850 344установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. 789 521установок implement Matt Pocock Выполняет задачу по спецификации или тикетам, ведёт работу через тесты и завершает её ревью с коммитом. Подходит для задач, где нужен дисциплинированный цикл разработки. 774 700установок

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

m09-domain Свод правил по предметно-ориентированному проектированию на Rust. Помогает ИИ моделировать сущности, агрегаты и объекты-значения с учётом системы владения. CX Codex +1 3 300установок m12-lifecycle Помогает проектировать жизненный цикл ресурсов в Rust: создание, область действия, очистку и поведение при ошибках. CX Codex +1 3 300установок m03-mutability Скилл для Rust-кода: помогает разобраться с ошибками изменяемости и заимствования, когда компилятор ругается на mut или RefCell. CX Codex +1 3 300установок rust-call-graph Строит граф вызовов функций Rust через LSP: кто вызывает функцию и что вызывает она. Пригодится при разборе чужого кода и оценке последствий правок. CX Codex +1 3 200установок rust-learner Скилл находит актуальные версии крейтов, разбирает документацию docs.rs, списки изменений Rust и правила Clippy прямо во время сессии с агентом. CX Codex +1 3 100установок domain-web Скилл задаёт правила проектирования веб-сервисов на Rust: от async-обработчиков до состояния, ошибок и middleware. Нужен при работе с Cargo-проектом. CX Codex +1 3 100установок rust-symbol-analyzer Скилл показывает структуру Rust-проекта через LSP-символы: модули, структуры, трейты, функции. Пригодится, когда надо быстро понять чужой крейт. CX Codex +1 3 100установок domain-cli Задаёт правила архитектуры консольных утилит на Rust: парсинг аргументов через clap и разделение потоков данных и ошибок. CX Codex +1 3 100установок

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

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