api-versioning-strategy — скилл для Claude Code: версии API
Помогает выбрать способ версионирования API и провести старую версию до отключения без сюрпризов для клиентов.
npx skills add secondsky/claude-skills --skill api-versioning-strategy -a claude-codeЧто делает api-versioning-strategy
Скилл разбирает три подхода к версионированию: путь в URL (/api/v1/users), заголовок API-Version и параметр запроса ?version=1. Для каждого дана таблица плюсов и минусов, а рекомендуемым назван вариант с путём в URL — он понятен и хорошо кэшируется.
Дальше идут готовые куски кода: подключение роутеров v1 и v2 через app.use, адаптер для преобразования ответа из формата v1 в v2, а также middleware, который проставляет заголовки Deprecation, Sunset и Link со ссылкой на версию-наследника. Отдельная таблица делит изменения на безопасные (добавить необязательное поле или эндпоинт) и ломающие, из-за которых и нужна новая версия.
Есть и график отключения: три месяца в статусе deprecated, три месяца после объявления sunset, месяц только на чтение, потом ответ 410 Gone. Скилл советует держать минимум N-1 версий и давать окно миграции от 6 месяцев. Полезно, когда у API уже есть внешние потребители: без плана отключения старая версия живёт годами. Примеры кода на JavaScript, так что для другого стека шаблоны придётся переносить самому.
Какие задачи решает
- выбрать между версией в URL, заголовком и query-параметром
- развести обработчики v1 и v2 по разным роутерам
- преобразовать ответ старого формата в новый без правок клиентов
- пометить устаревшую версию заголовками Deprecation и Sunset
- отличить безопасное изменение контракта от ломающего
Примеры запросов агенту
- Помоги выбрать способ версионирования для нашего REST API и обоснуй выбор
- Добавь middleware с заголовками Deprecation и Sunset для /api/v1
- Составь график отключения старой версии и список шагов по фазам
Как установить api-versioning-strategy
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill api-versioning-strategy -a claude-code2Вручную: положить файлы
~/.claude/skills/api-versioning-strategy/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/api-versioning-strategy/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill api-versioning-strategy -a codex2Вручную: положить файлы
.agents/skills/api-versioning-strategy/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill api-versioning-strategy -a cursor2Вручную: положить файлы
.cursor/skills/api-versioning-strategy/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install secondsky/claude-skills api-versioning-strategy2Вручную: положить файлы
.github/skills/api-versioning-strategy/SKILL.md1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill api-versioning-strategy -a gemini-cli2Командой платформы
gemini skills install https://github.com/secondsky/claude-skills --path plugins/api-versioning-strategy/skills/api-versioning-strategyВручную: положить файлы
.devin/skills/api-versioning-strategy/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill api-versioning-strategy -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора89
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о api-versioning-strategy
Как установить api-versioning-strategy в Claude?
Выполните npx skills add secondsky/claude-skills --skill api-versioning-strategy -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/api-versioning-strategy/SKILL.md.
Что делает api-versioning-strategy?
Описывает методы версионирования API, шаблоны кода для нескольких версий и порядок вывода старой версии из эксплуатации.
Какие изменения считаются ломающими?
Удаление полей и эндпоинтов, смена типов полей и перестройка структуры ответа. Добавление необязательных полей, эндпоинтов и параметров новой версии не требует.
Исходный текст
SKILL.md · MIT
---
name: api-versioning-strategy
description: Implements API versioning using URL paths, headers, or query parameters with backward compatibility and deprecation strategies. Use when managing multiple API versions, planning breaking changes, or designing migration paths.
license: MIT
---
# API Versioning Strategy
Choose and implement API versioning approaches with proper deprecation timelines.
## Versioning Methods
| Method | Example | Pros | Cons |
|--------|---------|------|------|
| URL Path | `/api/v1/users` | Clear, cache-friendly | URL clutter |
| Header | `API-Version: 1` | Clean URLs | Hidden, harder to test |
| Query | `?version=1` | Easy to use | Not RESTful |
## URL Path Versioning (Recommended)
```javascript
const v1Router = require('./routes/v1');
const v2Router = require('./routes/v2');
app.use('/api/v1', v1Router);
app.use('/api/v2', v2Router);
```
## Version Adapter Pattern
```javascript
// Transform between versions
const v1ToV2 = (v1Response) => ({
data: {
type: 'user',
id: v1Response.user_id,
attributes: {
name: v1Response.user_name,
email: v1Response.email
}
}
});
```
## Deprecation Headers
```javascript
app.use('/api/v1', (req, res, next) => {
res.setHeader('Deprecation', 'true');
res.setHeader('Sunset', 'Sat, 01 Jun 2025 00:00:00 GMT');
res.setHeader('Link', '</api/v2>; rel="successor-version"');
next();
});
```
## Safe vs Breaking Changes
**Safe Changes** (no version bump):
- Adding optional fields
- Adding new endpoints
- Adding optional parameters
**Breaking Changes** (requires new version):
- Removing fields
- Changing field types
- Restructuring responses
- Removing endpoints
## Deprecation Timeline
| Phase | Duration | Actions |
|-------|----------|---------|
| Deprecated | 3 months | Add headers, docs |
| Sunset Announced | 3 months | Email users |
| Read-Only | 1 month | Disable writes |
| Shutdown | - | Return 410 Gone |
## Best Practices
- Support N-1 versions minimum
- Provide 6+ months migration window
- Include migration guides with code examples
- Monitor version usage to inform deprecation
© secondsky · MIT · secondsky/claude-skills