O que api-designer faz?
Use ao projetar APIs REST ou GraphQL, criar especificações OpenAPI ou planejar arquitetura de API. Acione para modelagem de recursos, estratégias de versionamento, padrões de paginação, padrões de tratamento de erros.
Visão Geral
Este skill auxilia no design de APIs de forma estruturada e consistente, cobrindo desde a modelagem inicial de recursos até a definição de estratégias de versionamento, paginação e tratamento de erros.
Plataformas Suportadas
- Claude Code
- Cursor
- Codex
Como Usar
Para ativar o skill, use a palavra-chave api-designer ou invoque-o durante sessões de design de API. Exemplo:
Use o api-designer para modelar os recursos de uma API REST de e-commerce.
Funcionalidades Principais
Modelagem de Recursos
- Definição de modelos de dados
- Relacionamentos entre recursos (um-para-um, um-para-muitos, muitos-para-muitos)
- Práticas recomendadas para nomenclatura (substantivos no plural, kebab-case)
Versionamento de API
- Versionamento por URI (
/v1/recursos) - Versionamento por cabeçalho (
Accept: application/vnd.api+json;version=1) - Versionamento por query parameter (
?version=1)
Padrões de Paginação
- Paginação baseada em cursor (recomendada para alta performance)
- Paginação baseada em página (
pageeper_page) - Paginação baseada em offset (
offsetelimit)
Tratamento de Erros
- Padrão de resposta de erro consistente (exemplo:
{ "error": { "code": "NOT_FOUND", "message": "Recurso não encontrado" } }) - Códigos de status HTTP apropriados (200, 201, 400, 401, 403, 404, 409, 422, 500)
- Mensagens de erro descritivas e localizadas
Exemplo de Uso
Usuário: "Projete uma API para gerenciar tarefas (todos)."
Assistente: (com api-designer ativado)
- Recurso: `/tasks`
- Versionamento: `/v1/tasks`
- Paginação: cursor-based (id)
- Erros: padrão JSON com código e mensagem
Boas Práticas
- Sempre usar HTTPS em produção
- Documentar a API com OpenAPI 3.0+
- Versionar desde a primeira versão
- Usar paginação para listas grandes
- Fornecer respostas de erro consistentes
Licença
Este skill é fornecido sob a licença MIT. Consulte o repositório original para mais detalhes.