Orval — скилл для агентов
Orval skill
Официальный скилл Orval: агент настраивает генерацию TypeScript-клиентов, хуков Query, схем Zod и моков MSW из спецификации OpenAPI
- 6 557 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент запускает `npx orval`, который исполняет ваш `orval.config.ts` и хуки вроде `prettier --write` после генерации
- Генерация создает и перезаписывает файлы клиентов, схем и моков в проекте, а `--clean` очищает сгенерированное
- Спецификацию можно брать по ссылке, а в конфиге для нее задают заголовки авторизации
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/orval-skillОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент запускает `npx orval`, который исполняет ваш `orval.config.ts` и хуки вроде `prettier --write` после генерации
- Генерация создает и перезаписывает файлы клиентов, схем и моков в проекте, а `--clean` очищает сгенерированное
- Спецификацию можно брать по ссылке, а в конфиге для нее задают заголовки авторизации
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл `orval` из репозитория Orval учит агента настраивать генератор TypeScript-кода по спецификации OpenAPI v3 или Swagger v2. Основной `SKILL.md` содержит установку `npm install orval -D`, минимальный `orval.config.ts` с `defineConfig`, таблицу выбора клиента из 14 вариантов (`react-query`, `vue-query`, `svelte-query`, `solid-query`, `solid-start`, `angular-query`, `angular`, `swr`, `fetch`, `axios`, `axios-functions`, `zod`, `hono`, `mcp`) и четыре режима раскладки файлов: `single`, `split`, `tags`, `tags-split`. Агент подбирает клиент и режим под стек проекта, задает вход и выход, фильтры по тегам и схемам, несколько спецификаций в одном конфиге и запускает `npx orval` с нужными ключами, например `--watch`, `--project` или `--clean`. Девять справочных файлов подгружаются по теме запроса: хуки TanStack Query и SWR, Angular, SolidStart, собственные HTTP-клиенты и аутентификация, схемы Zod, моки MSW с Faker, серверные обработчики Hono, расширенная конфигурация, а также программный API, трансформеры спецификации, хуки `afterAllFilesWrite` и потоковый NDJSON. Для самой спецификации скилл перечисляет восемь правил: отдельный `operationId` для каждой операции, общие схемы в `components/schemas`, теги, типы ответов, обязательные поля, `x-enumNames`, примеры значений для моков и тип `application/x-ndjson` для потоков.
Для кого. Для разработчиков на TypeScript, у которых есть описание API в OpenAPI или Swagger и которые хотят получать из него клиенты, хуки, схемы и моки через Claude Code или Cursor.
Подходит, если
- В проекте есть спецификация OpenAPI, и генерацию хуков React Query, Vue Query или SWR нужно подключить с нуля
- Запросы должны идти через собственный клиент: нужен кастомный мутатор с токеном или перехватчиками
- Для тестов нужны моки на MSW с Faker и значениями из полей `example` спецификации
- Из спецификации нужны схемы Zod или серверные обработчики Hono с проверкой ответов
- OpenAPI нужно превратить в MCP-сервер: клиент `mcp` создает обработчики и настройки сервера
Не подходит, если
- Спецификации OpenAPI нет и взять ее негде: Orval работает только по документу OpenAPI v3 или Swagger v2 в формате yaml или json
- На машине стоит Node.js старее 22.18: у пакета `orval` в поле `engines` указано `>=22.18.0`
- Проект уже на другом генераторе: для Kubb в каталоге есть плагин с командами `/kubb:init` и `/kubb:generate`
- Вам нужны команды терминала по спецификации, а не код приложения: для этого в каталоге есть OpenAPI to CLI
Пример запроса к агенту
Подключи Orval к проекту: сгенерируй хуки React Query на fetch из openapi.yaml с раскладкой tags-split, моки MSW и форматированием через PrettierОграничения
- Скилл описывает Orval версии 8. В документации библиотеки сказано, что с 8.0.0 вышло много изменений, и дано руководство по миграции, поэтому на проекте со старой версией примеры конфигурации могут не подойти.
- Клиент `mcp` работает только в режиме `single`, а типизированный потоковый NDJSON поддерживает только клиент `fetch`.
- Генерация записывает файлы в проект, а ключ `--clean` очищает сгенерированное. Хуки `afterAllFilesWrite` после каждой генерации запускают команды вроде `prettier --write` или `eslint --fix`.
- Для удаленной спецификации с авторизацией пример в скилле показывает заголовки с токеном прямо в `orval.config.ts`.
- Скилл подключается как плагин Claude Code, правило Cursor или пакет через `npx skills add`. Лицензия MIT.
Как отключить. Удалите плагин `orval` через менеджер плагинов Claude Code, а папку скилла, которую создала команда `npx skills add`, удалите из каталога скиллов вашего агента. Саму библиотеку уберите из `devDependencies` проекта своим менеджером пакетов. Сгенерированные файлы останутся в проекте, и убирать их нужно вручную.
Частые вопросы
Как поставить скилл Orval в свой агент?
В Claude Code выполните `/plugin marketplace add orval-labs/orval`. Для Cursor добавьте удаленное правило GitHub, указывающее на этот репозиторий. Для остальных агентов подойдет `npx skills add orval-labs/orval`. Скилл подхватывается автоматически по контексту и в меню команд не появляется.
Какой клиент выбрать для Vue и Angular?
Для Vue 3 в таблице скилла стоит `vue-query` с `httpClient` `fetch` или `axios`. Для Angular с сигналами подходит `angular-query` с `httpClient: 'angular'`, а для классических сервисов на HttpClient есть клиент `angular`.
Как раскладываются файлы для большой спецификации?
Для крупного API скилл рекомендует режим `tags-split`: отдельная папка на каждый тег OpenAPI и в ней файлы запросов, схем и моков. Для небольших API хватает `single` с одним файлом, для средних подходит `split`, где схемы и моки лежат рядом с запросами.
Можно ли получить MCP-сервер из спецификации?
Да, для этого задают `client: 'mcp'` в режиме `single`. Orval создает типы в `src/http-schemas/`, обработчики в `src/handlers.ts`, клиент `src/http-client.ts`, настройку сервера `src/server.ts` и схемы Zod для входов инструментов. Развернуть сервер предлагается через Docker и подключить его в настройках MCP-клиента.
Как сделать моки для тестов?
Параметр `mocks: true` равен связке генераторов `msw` и `faker` и создает файлы `.msw.ts` и `.faker.ts`. Опция `useExamples: true` берет значения из полей `example` спецификации, а `delay` задает задержку ответа обработчика.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыBuilder Skills
Skills for agents
Набор небольших скиллов от Builder.io для рабочих привычек агента: визуальные планы и разборы диффов, сверка с документацией, кросс-агентное ревью и аккуратные
Agent Skills от Tech Leads Club
Agent Skills
Проверяемый реестр скиллов с CLI для установки в два десятка агентов и MCP-сервером для поиска скиллов на лету
Dimillian Skills
Skills
Набор из 16 инженерных скиллов для агентов: разработка под Apple, упаковка macOS, производительность React, ревью и рефакторинг кода
Личный набор автора: общие правила для агентов и десятки скиллов для GitHub, браузера, macOS, сообщений и релизов, плюс скрипт синхронизации
Два скилла для кодинг-агентов: wtf проверяет проект перед деплоем, better-codex держит агента в рамках при работе с кодом
OpenClaw Agent Skills
openclaw-agent-skills
Общие скиллы для кодовых агентов, которые работают над проектами OpenClaw: ревью и другие рабочие процессы. Узкая тема для тех, кто пишет код OpenClaw
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Orval — скилл для агентов (эта запись) | да | 6 557 | |
| Kubb | да | 1 825 | другой генератор по OpenAPI: конфиг `kubb.config.ts`, плагины `@kubb`, у плагина свои команды `/kubb:init` и `/kubb:generate` |
| OpenAPI to CLI (ocli) | нет | 265 | превращает API по OpenAPI в команды терминала без кодогенерации |
Коротко о README
В репозитории лежат исходники генератора: пакеты клиентов в `packages/` (angular, axios, mcp и другие), готовые примеры в `samples/` для React, Vue, Svelte, Solid, Angular, Hono, Next.js с fetch и MCP, документация для сайта и тесты. Скилл расположен в `skills/orval/`, манифест плагина в `.claude-plugin/marketplace.json`, правила для агентов-контрибьюторов в `AGENTS.md`. Главная страница начинается с предупреждения о версии 8.0.0 и руководства по миграции, затем перечисляет поддерживаемые клиенты и ссылки на образцы.
Бейдж для README
Исходный SKILL.md
---
name: orval
description: Generate type-safe API clients, TanStack Query/SWR hooks, Zod schemas, MSW mocks, Hono server handlers, MCP servers, and SolidStart actions from OpenAPI specs using Orval. Covers all clients (React/Vue/Svelte/Solid/Angular Query, Fetch, Axios), custom HTTP mutators, authentication patterns, NDJSON streaming, programmatic API, and advanced configuration.
---
# Orval - OpenAPI to TypeScript Code Generator
Orval generates type-safe TypeScript clients, hooks, schemas, mocks, and server handlers from OpenAPI v3/Swagger v2 specifications.
## Quick Start
### Installation
```bash
npm install orval -D
# or yarn add orval -D
# or pnpm add orval -D
# or bun add orval -D
```
### Minimal Configuration
```ts
import { defineConfig } from 'orval';
export default defineConfig({
petstore: {
input: {
target: './petstore.yaml',
},
output: {
target: './src/api/petstore.ts',
schemas: './src/api/model',
client: 'react-query',
},
},
});
```
### Run
```bash
npx orval
npx orval --config ./orval.config.ts
npx orval --project petstore