# openapi-to-typescript

Скилл преобразует спецификацию OpenAPI 3.0 в TypeScript-интерфейсы, типы запросов и ответов и проверки типов. Пригодится, когда API-описание нужно перенести в код.

- скилл · `type=skill` · Claude Code · 50 установок
- Автор: davila7
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/skills/development/openapi-to-typescript
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/openapi-to-typescript

## Что делает

Скилл читает JSON- или YAML-файл OpenAPI 3.0, проверяет структуру и берёт схемы из `components/schemas`, а параметры и ответы — из `paths`. По ним он создаёт TypeScript-интерфейсы и type guards. Обязательные поля становятся обязательными в интерфейсе, необязательные получают `?`; также учитываются перечисления и ссылки `$ref`.

Перед генерацией в спецификации должны быть поле `openapi` с версией 3.0, `paths` и, если описаны типы, `components.schemas`. При ошибке проверки скилл останавливается, поэтому спецификация другой версии не пройдёт. Скилл также добавляет тип `ApiError` и соответствующую проверку. Он уточняет, куда сохранить файл; предложенный путь — `types/api.ts` в текущем каталоге.

## Установка

### Claude Code (родная платформа)

1. **Через claude-code-templates**
```bash
npx claude-code-templates@latest --skill development/openapi-to-typescript
```

2. **Через Skills CLI (Vercel)**
```bash
npx skills add davila7/claude-code-templates --skill openapi-to-typescript -a claude-code
```

3. **Вручную: положить файлы**
- Файл: `~/.claude/skills/openapi-to-typescript/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/openapi-to-typescript/

### Codex

**Вручную: положить файлы**
- Файл: `.agents/skills/openapi-to-typescript/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/skills/openapi-to-typescript/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install davila7/claude-code-templates openapi-to-typescript
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/openapi-to-typescript/SKILL.md`

### Gemini CLI

**Командой платформы**
```bash
gemini skills install https://github.com/davila7/claude-code-templates --path cli-tool/components/skills/development/openapi-to-typescript
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/openapi-to-typescript/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/skills/development/openapi-to-typescript

## Когда брать
- сгенерировать интерфейсы TypeScript по схемам OpenAPI
- описать типы параметров и ответов API
- создать проверки данных по обязательным полям
- перенести перечисления и ссылки `$ref` в типы

## Примеры запросов агенту
- Создай TypeScript-типы по спецификации `api.yaml`.
- Преобразуй `openapi.json` в интерфейсы и проверки для запросов и ответов.
- Проверь спецификацию OpenAPI 3.0 и сохрани результат в `types/api.ts`.

## Похожие
- [mcp-builder](https://affpapa.org/nevibecode/skills/mcp-builder.md) — скилл · 130949 установок
- [claude-api](https://affpapa.org/nevibecode/skills/claude-api.md) — скилл · 74198 установок
- [lark-im](https://affpapa.org/nevibecode/skills/lark-im.md) — скилл · 472900 установок
- [lark-event](https://affpapa.org/nevibecode/skills/lark-event.md) — скилл · 466800 установок
- [caveman-discover](https://affpapa.org/nevibecode/skills/caveman-discover.md) — скилл · 104400 установок
- [migration](https://affpapa.org/nevibecode/skills/migration.md) — скилл · 103900 установок

Из того же набора: [davila7/claude-code-templates](https://affpapa.org/nevibecode/by/davila7/claude-code-templates.md) — 651 карточка

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
