api-design-principles — скилл для Claude Code: проектирование API
Скилл помогает проектировать и проверять REST- и GraphQL API. Пригодится при подготовке спецификации, пересмотре существующего API или согласовании стандартов команды.
/plugin marketplace add wshobson/agents
/plugin install backend-development@claude-code-workflowsЧто делает api-design-principles
Скилл разбирает ресурсы и HTTP-методы в REST, структуру GraphQL-схемы, варианты версионирования и типичные ошибки. Он подсказывает, как учитывать пагинацию, коды ответа, лимиты запросов и документацию; для GraphQL — как избегать N+1 и оформлять ошибки мутаций.
Подробные шаблоны и примеры находятся в references/details.md; к нему предлагается обратиться, если основных принципов недостаточно. Скилл пригодится при проектировании API и проверке спецификаций. Если нужна готовая реализация или автоматическая проверка кода, одного этого скилла недостаточно.
Какие задачи решает
- спроектировать REST API с понятными ресурсами и HTTP-методами
- выбрать способ версионирования API
- проверить GraphQL-схему и операции
- найти проблемы с пагинацией и форматом ошибок
- согласовать правила проектирования API в команде
Примеры запросов агенту
- Спроектируй REST API для пользователей и заказов с пагинацией и версионированием.
- Проверь эту GraphQL-схему: найди риск N+1 и предложи структуру ошибок мутаций.
- Составь правила именования ресурсов и использования HTTP-методов для нашего API.
Как установить api-design-principles
1Через маркетплейс плагинов
/plugin marketplace add wshobson/agents/plugin install backend-development@claude-code-workflows2Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill api-design-principles -a claude-code3Вручную: положить файлы
~/.claude/skills/api-design-principles/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/api-design-principles/
1Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill api-design-principles -a codex2Вручную: положить файлы
.agents/skills/api-design-principles/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill api-design-principles -a cursor2Вручную: положить файлы
.cursor/skills/api-design-principles/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install wshobson/agents api-design-principles2Вручную: положить файлы
.github/skills/api-design-principles/SKILL.mdКомандой платформы
gemini skills install https://github.com/wshobson/agents --path plugins/backend-development/skills/api-design-principlesВручную: положить файлы
.devin/skills/api-design-principles/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Похожие
Вопросы о api-design-principles
Как установить api-design-principles в Claude Code?
Выполните npx skills add wshobson/agents --skill api-design-principles -a claude-code. Вариант через marketplace: /plugin marketplace add wshobson/agents, затем /plugin install backend-development@claude-code-workflows.
Что делает api-design-principles?
Помогает проектировать REST- и GraphQL API, выбирать версионирование и проверять спецификации. Также разбирает распространённые ошибки, включая N+1 в GraphQL и неверное использование HTTP-методов.
Где найти подробные примеры для api-design-principles?
В файле references/details.md. Скилл рекомендует читать его, когда основных принципов и навигации недостаточно.
Исходный текст
SKILL.md · MIT
--- name: api-design-principles description: Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards. --- # API Design Principles Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers and stand the test of time. ## When to Use This Skill - Designing new REST or GraphQL APIs - Refactoring existing APIs for better usability - Establishing API design standards for your team - Reviewing API specifications before implementation - Migrating between API paradigms (REST to GraphQL, etc.) - Creating developer-friendly API documentation - Optimizing APIs for specific use cases (mobile, third-party integrations) ## Core Concepts ### 1. RESTful Design Principles **Resource-Oriented Architecture** - Resources are nouns (users, orders, products), not verbs - Use HTTP methods for actions (GET, POST, PUT, PATCH, DELETE) - URLs represent resource hierarchies - Consistent naming conventions **HTTP Methods Semantics:** - `GET`: Retrieve resources (idempotent, safe) - `POST`: Create new resources - `PUT`: Replace entire resource (idempotent) - `PATCH`: Partial resource updates - `DELETE`: Remove resources (idempotent) ### 2. GraphQL Design Principles **Schema-First Development** - Types define your domain model - Queries for reading data - Mutations for modifying data - Subscriptions for real-time updates **Query Structure:** - Clients request exactly what they need - Single endpoint, multiple operations - Strongly typed schema - Introspection built-in ### 3. API Versioning Strategies **URL Versioning:** ``` /api/v1/users /api/v2/users ``` **Header Versioning:** ``` Accept: application/vnd.api+json; version=1 ``` **Query Parameter Versioning:** ``` /api/users?version=1 ``` ## Detailed patterns and worked examples Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient. ## Best Practices ### REST APIs 1. **Consistent Naming**: Use plural nouns for collections (`/users`, not `/user`) 2. **Stateless**: Each request contains all necessary information 3. **Use HTTP Status Codes Correctly**: 2xx success, 4xx client errors, 5xx server errors 4. **Version Your API**: Plan for breaking changes from day one 5. **Pagination**: Always paginate large collections 6. **Rate Limiting**: Protect your API with rate limits 7. **Documentation**: Use OpenAPI/Swagger for interactive docs ### GraphQL APIs 1. **Schema First**: Design schema before writing resolvers 2. **Avoid N+1**: Use DataLoaders for efficient data fetching 3. **Input Validation**: Validate at schema and resolver levels 4. **Error Handling**: Return structured errors in mutation payloads 5. **Pagination**: Use cursor-based pagination (Relay spec) 6. **Deprecation**: Use `@deprecated` directive for gradual migration 7. **Monitoring**: Track query complexity and execution time ## Common Pitfalls - **Over-fetching/Under-fetching (REST)**: Fixed in GraphQL but requires DataLoaders - **Breaking Changes**: Version APIs or use deprecation strategies - **Inconsistent Error Formats**: Standardize error responses - **Missing Rate Limits**: APIs without limits are vulnerable to abuse - **Poor Documentation**: Undocumented APIs frustrate developers - **Ignoring HTTP Semantics**: POST for idempotent operations breaks expectations - **Tight Coupling**: API structure shouldn't mirror database schema
© Seth Hobson · MIT · wshobson/agents