rest-api-design · secondsky — скилл для Claude Code: правила REST API
Скилл задаёт агенту конвенции REST: имена ресурсов, HTTP-методы, коды ответов и формат JSON. Пригодится, когда проектируешь новый API или приводишь к общему виду уже существующий.
npx skills add secondsky/claude-skills --skill rest-api-design -a claude-codeЧто делает rest-api-design
Скилл описывает, как называть эндпоинты и какие методы к ним привязывать. Ресурсы — существительные во множественном числе, иерархия через слэш: GET /api/users/123/orders. Глаголы в URL вроде /api/getUsers или /api/createUser он считает ошибкой.
Внутри — таблицы методов и кодов состояния. GET и PUT идемпотентны, POST нет; успешное создание отдаёт 201, удаление — 204, ошибки валидации — 400, а лимит запросов — 429. Для ответов задан конверт с полями data, meta и requestId, для коллекций — блок pagination с page, limit, total, totalPages и ссылки self и next.
Отдельный раздел про query-параметры: фильтрация, сортировка через минус перед полем, постраничная выдача и выбор полей. Версию скилл советует держать в пути (/api/v1/), а описание API — в OpenAPI/Swagger. Готового генератора спецификаций тут нет, это набор соглашений, по которым агент пишет код и ревьюит чужие эндпоинты.
Какие задачи решает
- назвать эндпоинты существительными вместо глаголов
- выбрать код ответа для создания и удаления ресурса
- добавить пагинацию и ссылки в ответ коллекции
- договориться о едином конверте JSON для всех ручек
- описать фильтрацию, сортировку и выбор полей в query-параметрах
Примеры запросов агенту
- спроектируй REST API для заказов: ресурсы, методы, коды ответов
- проверь мои эндпоинты на соответствие конвенциям REST
- добавь пагинацию и links в ответ списка пользователей
Как установить rest-api-design
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill rest-api-design -a claude-code2Вручную: положить файлы
~/.claude/skills/rest-api-design/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/rest-api-design/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill rest-api-design -a codex2Вручную: положить файлы
.agents/skills/rest-api-design/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill rest-api-design -a cursor2Вручную: положить файлы
.cursor/skills/rest-api-design/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install secondsky/claude-skills rest-api-design2Вручную: положить файлы
.github/skills/rest-api-design/SKILL.md1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill rest-api-design -a gemini-cli2Командой платформы
gemini skills install https://github.com/secondsky/claude-skills --path plugins/rest-api-design/skills/rest-api-designВручную: положить файлы
.devin/skills/rest-api-design/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill rest-api-design -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о rest-api-design
Как установить rest-api-design в Claude?
Выполни npx skills add secondsky/claude-skills --skill rest-api-design -a claude-code. Скилл окажется в ~/.claude/skills/rest-api-design/SKILL.md.
Что делает rest-api-design?
Задаёт агенту правила проектирования REST API: имена ресурсов, HTTP-методы, коды состояния, формат ответа и query-параметры.
Скилл подходит только для Claude?
Нет, он ставится и в Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode — команда отличается только флагом -a.
Исходный текст
SKILL.md · MIT
---
name: rest-api-design
description: Designs RESTful APIs with proper resource naming, HTTP methods, status codes, and response formats. Use when building new APIs, establishing API conventions, or designing developer-friendly interfaces.
license: MIT
---
# REST API Design
Design RESTful APIs with proper conventions and developer experience.
## Resource Naming
```
# Good - nouns, plural, hierarchical
GET /api/users
GET /api/users/123
GET /api/users/123/orders
POST /api/users
PATCH /api/users/123
DELETE /api/users/123
# Bad - verbs, actions in URL
GET /api/getUsers
POST /api/createUser
POST /api/users/123/delete
```
## HTTP Methods
| Method | Purpose | Idempotent |
|--------|---------|------------|
| GET | Read resource | Yes |
| POST | Create resource | No |
| PUT | Replace resource | Yes |
| PATCH | Partial update | Yes |
| DELETE | Remove resource | Yes |
## Status Codes
| Code | Meaning | Use For |
|------|---------|---------|
| 200 | OK | Successful GET, PATCH |
| 201 | Created | Successful POST |
| 204 | No Content | Successful DELETE |
| 400 | Bad Request | Validation errors |
| 401 | Unauthorized | Missing auth |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource doesn't exist |
| 429 | Too Many Requests | Rate limited |
## Response Format
```json
{
"data": {
"id": "123",
"type": "user",
"attributes": {
"name": "John",
"email": "[email protected]"
}
},
"meta": {
"requestId": "req_abc123"
}
}
```
## Collection Response
```json
{
"data": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"totalPages": 8
},
"links": {
"self": "/api/users?page=1",
"next": "/api/users?page=2"
}
}
```
## Query Parameters
```
GET /api/products?category=electronics # Filtering
GET /api/products?sort=-price,name # Sorting
GET /api/products?page=2&limit=20 # Pagination
GET /api/products?fields=id,name,price # Field selection
```
## Best Practices
- Use nouns for resources, not verbs
- Version API via URL path (`/api/v1/`)
- Return appropriate status codes
- Include pagination for collections
- Document with OpenAPI/Swagger
© secondsky · MIT · secondsky/claude-skills
Похожие скиллы
Всё по теме «Бэкенд и API» →Сначала — rest-api-design от других авторов.