m05-type-driven — скилл для Claude Code: типы и установка
Скилл помогает проектировать Rust-типы так, чтобы некорректные состояния ловились компилятором. Пригодится для newtype, type state и безопасных builder API.
npx skills add actionbook/rust-skills --skill m05-type-driven -a claude-codeЧто делает m05-type-driven
m05-type-driven задаёт вопросы для type-driven design: можно ли выразить ограничение через тип, проверить значение при создании или зафиксировать переход состояния в сигнатуре. Он разбирает newtype для смысловых значений, type state для состояний, PhantomData, marker trait, builder, sealed trait и ZST.
Скилл связывает задачу с подходящим шаблоном: диапазоны и семантические значения предлагает оформлять через новые типы, состояния — через параметры типа, постепенную сборку — через builder. В примерах есть Connection<Connected>, PhantomData<T> и закрытый набор реализаций через sealed trait.
Для Rust-проекта это повод проверить инварианты до добавления runtime-проверок: публичные поля могут нарушить их, а Option для неинициализированного значения скрывает состояние. Скилл доступен в Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.
Какие задачи решает
- выразить инвариант через тип вместо флага
- разделить состояния объекта на этапе компиляции
- обернуть примитив в безопасный newtype
- собрать объект через типобезопасный builder
- ограничить внешние реализации trait
Примеры запросов агенту
- Спроектируй
Emailкак validated newtype и покажи, где должна выполняться проверка. - Для
Connectionопиши type state для переходовDisconnected→Connected→Authenticated. - Проверь этот Rust API: можно ли заменить runtime-проверки на
PhantomData, marker trait или builder?
Как установить m05-type-driven
1Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m05-type-driven -a claude-code2Вручную: положить файлы
~/.claude/skills/m05-type-driven/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/m05-type-driven/
1Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m05-type-driven -a codex2Вручную: положить файлы
.agents/skills/m05-type-driven/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m05-type-driven -a cursor2Вручную: положить файлы
.cursor/skills/m05-type-driven/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install actionbook/rust-skills m05-type-driven2Вручную: положить файлы
.github/skills/m05-type-driven/SKILL.md1Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m05-type-driven -a gemini-cli2Командой платформы
gemini skills install https://github.com/actionbook/rust-skills --path skills/m05-type-drivenВручную: положить файлы
.devin/skills/m05-type-driven/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m05-type-driven -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора33
Похожие
Вопросы о m05-type-driven
Как установить m05-type-driven в Claude Code?
Выполните npx skills add actionbook/rust-skills --skill m05-type-driven -a claude-code, затем проверьте файл ~/.claude/skills/m05-type-driven/SKILL.md. Повторная команда установки из списка: npx skills add actionbook/rust-skills --skill m05-type-driven -a claude-code.
Что делает m05-type-driven?
Скилл помогает выбирать type-driven patterns для Rust: newtype, type state, PhantomData, marker trait, builder, sealed trait и ZST. Его цель — переносить проверку инвариантов из runtime в систему типов, когда это возможно.
Какие шаблоны разбирает m05-type-driven?
Он связывает newtype с типобезопасностью примитивов, type state с проверкой состояний на этапе компиляции, а builder — с постепенной сборкой. Для lifetime и variance используется PhantomData.