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

m05-type-driven — скилл для Claude Code: типы и установка

Скилл помогает проектировать Rust-типы так, чтобы некорректные состояния ловились компилятором. Пригодится для newtype, type state и безопасных builder API.

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

Что делает 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-code

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

~/.claude/skills/m05-type-driven/SKILL.md

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

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

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

m10-performance Инструкции для агента по оптимизации Rust-кода: от замеров через бенчмарки до устранения лишних аллокаций памяти. CX Codex +1 3 600установок m06-error-handling Помогает ИИ-агенту выбирать правильный способ обработки ошибок в Rust. Пригодится, когда нужно решить между Result, Option, panic!, thiserror и anyhow. CX Codex +1 3 500установок m07-concurrency Помогает разбирать конкурентный и асинхронный Rust-код: выбрать потоки, async/await, каналы или синхронизацию. Нужен при ошибках Send/Sync, дедлоках и гонках. CX Codex +1 3 500установок m02-resource Помогает ассистенту выбирать подходящие умные указатели в Rust и организовывать владение ресурсами. Пригодится при проектировании структур данных и устранении утечек памяти. CX Codex +1 3 400установок m04-zero-cost Разбирает ошибки E0277, E0308 и E0599 и помогает выбрать между дженериками и dyn Trait. Пригодится, когда компилятор Rust упирается в трейт-баунды. CX Codex +1 3 400установок m01-ownership Помогает ИИ-агенту разбирать ошибки владения и времени жизни в Rust без беспорядочной расстановки .clone() в коде. CX Codex +1 3 400установок m11-ecosystem Помогает ИИ подбирать библиотеки под Rust, настраивать Cargo.toml и связывать код с C, Python или WebAssembly. Подходит при разборе ошибок компилятора. CX Codex +1 3 300установок m13-domain-error Скилл помогает проектировать иерархию доменных ошибок, правила восстановления и контекст для диагностики. Нужен при разработке Rust-кода с retry и fallback. CX Codex +1 3 300установок

Похожие

python-type-safety Seth Hobson Помогает добавлять типы в Python-код, писать дженерики и протоколы, а также настраивать строгую проверку через mypy или pyright. CX Codex 12 643установок principle-type-system-discipline backnotprop Задаёт правила строгой типизации: брендирование примитивов, парсинг данных на границах и генерация типов из схем. CX Codex +1 5 300установок type-design-performance Aaronontheweb Скилл для проектирования типов .NET с оглядкой на производительность: запечатанные классы, readonly-структуры, отложенный перебор коллекций. CX Codex +1 655установок 122-java-type-design Juan Antonio Breña Moral Скилл для ревью и рефакторинга Java-кода: убирает primitive obsession, строит иерархии типов и подсказывает, где нужен BigDecimal. CX Codex +1 394установок auto-type-checking spencerpauly Гоняет tsc --noEmit после каждой правки TypeScript-файла и показывает ошибки типов сразу, а не на сборке. CX Codex +1 435установок test-driven-development Jesse Vincent Скилл задаёт цикл TDD: сначала тест, затем проверка его падения, минимальный код и рефакторинг. Пригодится для новых функций, исправлений и изменений поведения. CX Codex 259 292установок

Вопросы о 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.

Смотрите также

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

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