datamodel-code-generator — скилл
Скилл учит агента запускать datamodel-codegen и получать модели Pydantic из OpenAPI, JSON Schema и GraphQL
- 4 059 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент запускает команду, которая пишет сгенерированные файлы в проект
- Разовый запуск через uvx или pipx скачивает пакет из PyPI
Установка
- Работает в
Ручная установка
claude plugin marketplace add datamodel-code-generator/datamodel-code-generator
claude plugin install datamodel-code-generator@datamodel-code-generatorПлагин указывает на тот же каталог skills/datamodel-code-generator.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент запускает команду, которая пишет сгенерированные файлы в проект
- Разовый запуск через uvx или pipx скачивает пакет из PyPI
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл лежит в репозитории самого генератора и направляет агента к команде `datamodel-codegen`, когда у пользователя есть схема или пример данных. На входе OpenAPI, AsyncAPI, JSON Schema, GraphQL, образцы JSON, YAML и CSV, схемы инструментов MCP, Protocol Buffers, XML Schema, Apache Avro или готовые модели Python. На выходе модели Pydantic v2, классы данных, `TypedDict` или `msgspec.Struct`. Скилл требует сначала запускать генератор, а модели от руки писать, только если запуск невозможен без сети. Для разового запуска он предлагает `uvx --from datamodel-code-generator datamodel-codegen --help`, затем `pipx run`, затем `uv run --with` и ставит пакет в проект только с вашего согласия. Для выбора опций агент вызывает рекомендатель с флагом `--recommend-options` и берет аргументы из его ответа. Справочники по опциям, сценариям и типичным сбоям лежат в папке `references`.
Для кого. Для Python-разработчиков, которые просят Claude Code, Codex или Cursor сделать типизированные модели по схеме API или образцам данных.
Подходит, если
- Есть спецификация OpenAPI, и нужны модели Pydantic v2 для клиента или сервера на FastAPI
- Надо превратить пример JSON или CSV в типизированные классы
- Схема GraphQL, Avro или Protobuf должна стать моделями Python
- Нужны модели `msgspec.Struct` или `TypedDict` без Pydantic
- Схема сложная, со ссылками, allOf и oneOf, и ручной код получается с ошибками
Не подходит, если
- Нужны модели на другом языке: генератор выдает только Python
- Схемы нет и ее нечем заменить: скилл работает от входного файла или образца
- Нужен вызов API из командной строки, для этого в каталоге есть OpenAPI to CLI
Пример запроса к агенту
Сгенерируй модели Pydantic v2 из openapi.yaml в папку app/models и проверь, что они импортируютсяОграничения
Автор называет скилл экспериментальным: порядок работы, формулировки срабатывания и инструкции для клиентов могут измениться. Рекомендатель опций автор тоже считает экспериментальным, поэтому его советы стоит сверять с документацией генератора и с готовыми файлами. Без интернета и без установленной команды агенту остается писать модели вручную. Отдельного плагина для Codex нет: ему подходит установка через `datamodel-codegen --install-skill codex` или `npx skills add`.
Как отключить. Для плагина Claude Code выполните `claude plugin uninstall datamodel-code-generator`. Если ставили копированием, удалите папку скилла из `.claude/skills/` или `.agents/skills/`.
Частые вопросы
Как поставить скилл datamodel-code-generator в Claude Code?
Выполните `claude plugin marketplace add datamodel-code-generator/datamodel-code-generator`, затем `claude plugin install datamodel-code-generator@datamodel-code-generator`. Если пакет Python уже стоит, подойдет `datamodel-codegen --install-skill claude-code`.
Нужно ли ставить пакет Python, чтобы скилл заработал?
Нет. Скилл ставится из репозитория без пакета, а сам генератор агент сначала пробует запустить разово через `uvx` или `pipx run`. В зависимости проекта пакет попадает только с вашего согласия.
Что делает флаг `--recommend-options`?
Он предлагает набор опций под вашу схему. Агент берет поле `arguments` из ответа как стартовую команду и не добавляет опции из списка `not_recommended` без причины.
Какие форматы на входе поддерживает скилл?
OpenAPI, AsyncAPI, JSON Schema, GraphQL, образцы JSON, YAML и CSV, схемы инструментов MCP, Protocol Buffers, XML Schema, Apache Avro и готовые объекты моделей Python.
Какие модели получаются на выходе?
Pydantic v2, классы данных, `TypedDict` и `msgspec.Struct`. Тип выходной модели агент выбирает под задачу.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыНабор скиллов opinionated-django учит агента строить Django-проекты со слоями API, сервисов, DTO и репозиториев.
Генератор кода из SQL с плагином для агентов: аннотированные запросы превращаются в типизированный код на десяти языках.
Скилл FastAPI
FastAPI skill
Официальный скилл FastAPI, который поставляется вместе с пакетом и учит агента писать код под установленную версию
Скилл PowerSync: агент настраивает офлайн-синхронизацию через CLI, пишет Sync Streams и чинит зависший статус Syncing
builder-skills — скиллы для приложений на Convex
builder-skills
17 скиллов учат агента писать приложения на Convex по документации и вести проект через PRD, task.md и журнал изменений
CLI проверяет архитектуру Python-сервиса по документированным правилам, а скиллы учат агента писать код в этих рамках.
Коротко о README
Основной README посвящен самому генератору: установка через uv, conda или pip с дополнениями, форматы и опции. Скиллу для агентов отведена отдельная страница документации: зачем запускать CLI, как поставить скилл для Claude Code, Codex, Gemini CLI и других и как пользоваться подсказками генератора.
Бейдж для README
Исходный SKILL.md
--- name: datamodel-code-generator description: > Use this skill when the user wants Python data models, Pydantic models, dataclasses, TypedDicts, msgspec structs, or type-safe Python classes generated from OpenAPI, AsyncAPI, JSON Schema, GraphQL, JSON/YAML/CSV sample data, MCP tool schemas, Protocol Buffers, XML Schema, Apache Avro, or existing Python model objects. Use it for requests such as "Pydantic models from this schema", "types for this API", "parse this JSON into classes", or "convert this spec into Python models". Prefer the datamodel-codegen CLI over hand-written model code whenever an input schema, API spec, sample data file, or Python model object exists. license: MIT metadata: status: experimental --- # datamodel-code-generator ## Why use this CLI Use `datamodel-codegen` whenever a schema, API spec, sample data file, or existing Python model object exists. The CLI handles refs, enums, nested models, unions, `allOf`, `oneOf`, `anyOf`, and model reuse better than hand-written code. Do not hand-write generated models first. ## Availability check Check one-shot execution first: ```bash uvx --from datamodel-code-generator datamodel-codegen --help ``` If `uvx` is unavailable: ```bash pipx run datamodel-code-generator --help ``` If the project already uses `uv` and project-scoped execution is preferred: ```bash uv run --with datamodel-code-generator datamodel-codegen --help