К основному содержанию
скилл CX Codex

api-design-patterns — скилл для Claude Code: правила REST API

Скилл с 38 правилами проектирования REST API: ресурсы, ошибки, безопасность, пагинация, версионирование. Пригодится, когда агент пишет или проверяет эндпоинты.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add AsyrafHussin/agent-skills --skill api-design-patterns -a claude-code
Открыть на GitHub

Что делает api-design-patterns

Скилл разбит на 7 категорий по приоритету. Критичные — проектирование ресурсов (rest-), обработка ошибок (error-) и безопасность (sec-). Дальше идут пагинация с фильтрацией, версионирование, формат ответа и документация. У каждого правила свой префикс и отдельный файл в rules/, например rules/rest-http-methods.md или rules/error-consistent-format.md.

Внутри есть готовые образцы: формат ответа с ошибкой, структура пагинации с meta и links, заголовки X-RateLimit-*. Агент берёт их как ориентир, когда предлагает вам схему эндпоинта. Полный свод всех правил лежит в AGENTS.md.

Скилл не проверяет ваш код сам по себе — он задаёт агенту рамку, в которой тот рассуждает. Если в проекте уже принят другой стиль ответов или версионирование через заголовок, правила про URL-путь и конверт ответа будут спорить с ним. Тогда стоит сказать агенту, какой из подходов считать основным.

Какие задачи решает

  • спроектировать эндпоинты так, чтобы в URL были существительные, а не глаголы
  • собрать единый формат ответа с ошибкой и машинным кодом
  • выбрать между cursor- и offset-пагинацией для конкретной выборки
  • продумать стратегию версионирования и устаревания эндпоинтов
  • проверить готовый API на дыры в авторизации и валидации входа

Примеры запросов агенту

  • спроектируй REST API для заказов по правилам api-design-patterns
  • проверь мои эндпоинты на соответствие REST best practices
  • сделай единый формат ошибок с request_id для всех ручек

Как установить api-design-patterns

1Через Skills CLI (Vercel)

npx skills add AsyrafHussin/agent-skills --skill api-design-patterns -a claude-code

2Вручную: положить файлы

~/.claude/skills/api-design-patterns/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/api-design-patterns/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о api-design-patterns

Как установить api-design-patterns в Claude?

Выполните npx skills add AsyrafHussin/agent-skills --skill api-design-patterns -a claude-code. После этого файл скилла окажется по пути ~/.claude/skills/api-design-patterns/SKILL.md.

Что делает api-design-patterns?

Даёт агенту набор правил по REST: именование ресурсов, HTTP-методы, коды статусов, формат ошибок, пагинация, версионирование, безопасность и документация. Всего 38 правил в 7 категориях.

Скилл навязывает версионирование через URL?

В нём есть правило ver-url-path про версию в пути вида /api/v1/, но рядом лежит и ver-header-based — версия через заголовок Accept. Выбор остаётся за вами.

Исходный текст

SKILL.md · MIT
---
name: api-design-patterns
description: RESTful API design, error handling, versioning, and best practices. Use when designing APIs, reviewing endpoints, implementing error responses, or setting up API structure. Triggers on "design API", "review API", "REST best practices", or "API patterns".
license: MIT
metadata:
  author: agent-skills
  version: "2.0.0"
---

# API Design Patterns

RESTful API design principles for building consistent, developer-friendly APIs. Contains 38 rules across 7 categories covering resource design, error handling, security, pagination, versioning, response format, and documentation.

## Metadata

- **Version:** 2.0.0
- **Rule Count:** 38 rules across 7 categories
- **License:** MIT

## When to Apply

Reference these guidelines when:
- Designing new API endpoints
- Reviewing existing API structure
- Implementing error handling and validation
- Setting up pagination, filtering, and sorting
- Planning API versioning strategy
- Configuring API security (auth, CORS, rate limiting)
- Writing API documentation (OpenAPI/Swagger)

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Resource Design | CRITICAL | `rest-` |
| 2 | Error Handling | CRITICAL | `error-` |
| 3 | Security | CRITICAL | `sec-` |
| 4 | Pagination & Filtering | HIGH | `page-`, `filter-`, `sort-` |
| 5 | Versioning | HIGH | `ver-` |
| 6 | Response Format | MEDIUM | `resp-` |
| 7 | Documentation | MEDIUM | `doc-` |

## Quick Reference

### 1. Resource Design (CRITICAL)

- `rest-nouns-not-verbs` - Use nouns for endpoints, not verbs
- `rest-plural-resources` - Use plural resource names
- `rest-http-methods` - Correct HTTP method usage (GET, POST, PUT, PATCH, DELETE)
- `rest-nested-resources` - Proper resource nesting (max 2 levels)
- `rest-status-codes` - Appropriate HTTP status codes
- `rest-idempotency` - Idempotent operations with idempotency keys
- `rest-hateoas` - Hypermedia links for discoverability
- `rest-resource-actions` - Non-CRUD actions as sub-resources

### 2. Error Handling (CRITICAL)

- `error-consistent-format` - Consistent error response structure
- `error-meaningful-messages` - Helpful, actionable error messages
- `error-validation-details` - Field-level validation errors
- `error-error-codes` - Machine-readable error codes
- `error-no-stack-traces` - Never expose stack traces in production
- `error-request-id` - Include request IDs for debugging

### 3. Security (CRITICAL)

- `sec-authentication` - Proper auth implementation (OAuth2/JWT)
- `sec-authorization` - Resource-level permissions (RBAC)
- `sec-rate-limiting` - Prevent abuse with rate limiting
- `sec-input-validation` - Validate and sanitize all input
- `sec-cors-config` - CORS configuration with whitelists
- `sec-https-only` - Enforce HTTPS for all traffic
- `sec-sensitive-data` - Protect passwords, tokens, PII

### 4. Pagination & Filtering (HIGH)

- `page-cursor-based` - Cursor pagination for large datasets
- `page-offset-based` - Offset pagination for simple cases
- `page-consistent-params` - Consistent parameter naming
- `page-metadata` - Include pagination metadata in responses
- `filter-query-params` - Filter via query parameters
- `sort-flexible` - Flexible sorting with `-` prefix for descending

### 5. Versioning (HIGH)

- `ver-url-path` - Version in URL path (/api/v1/)
- `ver-header-based` - Version via Accept header
- `ver-backward-compatible` - Maintain backward compatibility
- `ver-deprecation` - Deprecation strategy with Sunset header

### 6. Response Format (MEDIUM)

- `resp-consistent-structure` - Consistent response envelope
- `resp-json-conventions` - JSON naming conventions
- `resp-partial-responses` - Field selection (sparse fieldsets)
- `resp-compression` - Response compression (gzip/Brotli)

### 7. Documentation (MEDIUM)

- `doc-openapi` - OpenAPI/Swagger specification
- `doc-examples` - Request/response examples
- `doc-changelog` - API changelog

## Essential Guidelines

### Resource Naming

```
# ❌ Verbs in URLs
GET    /getUsers
POST   /createUser

# ✅ Nouns with HTTP methods
GET    /users          # List users
POST   /users          # Create user
GET    /users/123      # Get user
PUT    /users/123      # Update user (full)
PATCH  /users/123      # Update user (partial)
DELETE /users/123      # Delete user
```

### Error Response Format

```json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The request contains invalid data",
    "details": [
      {
        "field": "email",
        "code": "INVALID_FORMAT",
        "message": "Please provide a valid email address"
      }
    ],
    "request_id": "req_abc123"
  }
}
```

### Pagination

```json
{
  "data": [...],
  "meta": {
    "current_page": 2,
    "per_page": 20,
    "total_pages": 10,
    "total_count": 195
  },
  "links": {
    "first": "/users?page=1&per_page=20",
    "prev": "/users?page=1&per_page=20",
    "next": "/users?page=3&per_page=20",
    "last": "/users?page=10&per_page=20"
  }
}
```

### Rate Limiting Headers

```
HTTP/1.1 200 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 998
X-RateLimit-Reset: 1640995200
```

## How to Use

Read individual rule files for detailed explanations:

```
rules/rest-http-methods.md
rules/error-consistent-format.md
rules/page-cursor-based.md
rules/sec-authentication.md
rules/ver-url-path.md
rules/doc-openapi.md
```

## References

- [RESTful API Guidelines](https://restfulapi.net)
- [Zalando RESTful API Guidelines](https://zalando.github.io/restful-api-guidelines)
- [Microsoft API Guidelines](https://github.com/microsoft/api-guidelines)
- [Google API Design Guide](https://cloud.google.com/apis/design)
- [OpenAPI Specification](https://swagger.io/specification)

## Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`

© agent-skills · MIT · AsyrafHussin/agent-skills

Похожие скиллы

Всё по теме «Бэкенд и API» →
rest-api-design aj-geddes Скилл задаёт правила именования ресурсов, HTTP-методов, кодов ответа и версионирования, когда вы проектируете новые эндпоинты или переделываете старые. CX Codex +1 2 100установок public-api-design-review Samuel Berthe Прогоняет REST API по чек-листу: имена ресурсов, методы, коды ответов, пагинация, формат ошибок. Каждую находку делит на Must-change и Improvement. CX Codex +1 7 800установок api-design-reviewer Alireza Rezvani Проверяет REST API по спецификациям OpenAPI, находит ломающие изменения и выставляет оценку дизайну. Пригодится при ревью пуллреквестов с новыми эндпоинтами. 768установок sap-api-style secondsky Помогает оформлять документацию к REST, OData и библиотечным API по стандартам SAP API Style Guide. Пригодится при подготовке спецификаций к публикации в SAP API Business Hub. CX Codex +1 785установок api-reference-documentation aj-geddes Скилл помогает агенту собрать справочник по API: эндпоинты, аутентификация, примеры запросов и ответов, спецификация OpenAPI. CX Codex +1 494установок api-design Agent Skills Team Скилл помогает спроектировать или переработать REST- и GraphQL-контракт: от ресурсов и операций до ошибок, версий и OpenAPI или GraphQL SDL. CX Codex +1 387установок

Из того же набора12

laravel-best-practices Скилл с 31 правилом по Laravel 13: архитектура, Eloquent, контроллеры, валидация. Пригодится, когда агент пишет код на PHP. CX Codex +1 2 300установок laravel-inertia-react Скилл с готовыми правилами для страниц Inertia, форм на useForm и общих данных в связке Laravel и React. CX Codex +1 1 900установок clean-code-principles Скилл для ревью архитектуры и качества кода: SOLID, DRY, KISS, паттерны проектирования. Пригодится при рефакторинге и обсуждении решений по дизайну. CX Codex +1 1 800установок typescript-react-patterns Скилл с 33 правилами типизации React на TypeScript: пропсы, хуки, события, refs, дженерики и контекст. Пригодится, когда агент пишет компоненты и лезет в типы. CX Codex +1 1 100установок laravel-testing Скилл учит ассистента писать тесты для Laravel 13 на Pest 4 или PHPUnit 12 с учётом фабрик моделей и моков сервисов. CX Codex +1 907установок testing-best-practices Набор правил по юнит- и интеграционным тестам и TDD: 34 правила в 7 категориях на TypeScript с Jest и Vitest. Пригодится, когда пишете тесты или разбираете чужие. CX Codex +1 899установок e2e-playwright-testing Скилл для написания и разбора E2E-тестов на Playwright: локаторы, авторизация, формы, ассерты и конфиг для CI. CX Codex +1 796установок state-management Скилл с готовыми паттернами TanStack Query v5 и Zustand v5: запросы, кеш, мутации, оптимистичные обновления и клиентские сторы. CX Codex +1 783установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой