api-design-principles
Faz seu agente entender como criar APIs fáceis de usar e que funcionam bem. Ajuda a construir sistemas que outros desenvolvedores vão gostar de usar.
O que ela faz
Esta ferramenta ajuda a criar APIs (interfaces para softwares conversarem entre si) que são fáceis de usar, funcionam bem e são fáceis de manter. Ela ensina os melhores jeitos de organizar essas conversas, seja usando o estilo REST ou GraphQL.
Quando usar
- ✓Ao criar uma nova API do zero.
- ✓Ao revisar como uma API existente funciona.
- ✓Ao definir regras para o time sobre como fazer APIs.
Exemplo do que pedir para a IA
“Me ensine os princípios básicos para criar uma API RESTful.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela explica os conceitos chave, como usar os comandos certos (GET, POST) e como organizar as informações. Para GraphQL, ela mostra como definir os tipos de dados e como pedir as informações certas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add wshobson/agents --skill api-design-principlesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/backend-development/skills/api-design-principles/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Princípios de Design de API
Domine os princípios de design de API REST e GraphQL para construir APIs intuitivas, escaláveis e fáceis de manter que agradem aos desenvolvedores e resistam ao teste do tempo.
Quando Usar Esta Habilidade
- Projetando novas APIs REST ou GraphQL
- Refatorando APIs existentes para melhor usabilidade
- Estabelecendo padrões de design de API para sua equipe
- Revisando especificações de API antes da implementação
- Migrando entre paradigmas de API (REST para GraphQL, etc.)
- Criando documentação de API amigável para desenvolvedores
- Otimizando APIs para casos de uso específicos (mobile, integrações de terceiros)
Conceitos Principais
1. Princípios de Design RESTful
Arquitetura Orientada a Recursos
- Recursos são substantivos (usuários, pedidos, produtos), não verbos
- Use métodos HTTP para ações (GET, POST, PUT, PATCH, DELETE)
- URLs representam hierarquias de recursos
- Convenções de nomenclatura consistentes
Semântica dos Métodos HTTP:
GET: Recuperar recursos (idempotente, seguro)POST: Criar novos recursosPUT: Substituir recurso inteiro (idempotente)PATCH: Atualizações parciais de recursosDELETE: Remover recursos (idempotente)
2. Princípios de Design GraphQL
Desenvolvimento Orientado a Schema (Schema-First)
- Tipos definem seu modelo de domínio
- Queries para leitura de dados
- Mutations para modificação de dados
- Subscriptions para atualizações em tempo real
Estrutura de Query:
- Clientes solicitam exatamente o que precisam
- Ponto de extremidade único, múltiplas operações
- Schema fortemente tipado
- Introspecção integrada
3. Estratégias de Versionamento de API
Versionamento de URL:
/api/v1/users
/api/v2/users
Versionamento de Cabeçalho:
Accept: application/vnd.api+json; version=1
Versionamento de Parâmetro de Query:
/api/users?version=1
Padrões Detalhados e Exemplos Práticos
A documentação detalhada de padrões está em references/details.md. Leia este arquivo quando o nível de navegação acima for insuficiente.
Melhores Práticas
APIs REST
- Nomenclatura Consistente: Use substantivos no plural para coleções (
/users, não/user) - Stateless (Sem Estado): Cada solicitação contém todas as informações necessárias
- Use Códigos de Status HTTP Corretamente: 2xx sucesso, 4xx erros do cliente, 5xx erros do servidor
- Versionamento da API: Planeje alterações que quebram a compatibilidade desde o primeiro dia
- Paginação: Sempre pague coleções grandes
- Rate Limiting (Limitação de Taxa): Proteja sua API com limites de taxa
- Documentação: Use OpenAPI/Swagger para documentação interativa
APIs GraphQL
- Schema First: Projete o schema antes de escrever os resolvers
- Evite N+1: Use DataLoaders para busca eficiente de dados
- Validação de Entrada: Valide nos níveis de schema e resolver
- Tratamento de Erros: Retorne erros estruturados em payloads de mutation
- Paginação: Use paginação baseada em cursor (especificação Relay)
- Depreciação: Use a diretiva
@deprecatedpara migração gradual - Monitoramento: Monitore a complexidade da query e o tempo de execução
Armadilhas Comuns
- Over-fetching/Under-fetching (REST): Resolvido em GraphQL, mas requer DataLoaders
- Alterações que Quebram a Compatibilidade: Versionar APIs ou usar estratégias de depreciação
- Formatos de Erro Inconsistentes: Padronize as respostas de erro
- Falta de Rate Limiting: APIs sem limites são vulneráveis a abusos
- Documentação Ruim: APIs não documentadas frustram os desenvolvedores
- Ignorar Semântica HTTP: Usar POST para operações idempotentes quebra as expectativas
- Acoplamento Forte: A estrutura da API não deve espelhar o esquema do banco de dados
Perguntas frequentes
O que é uma API?
Uma API é como um garçom em um restaurante. Ela pega o seu pedido (informação que você quer) e leva para a cozinha (o sistema que tem a informação), e depois traz a resposta para você.
Qual a diferença entre REST e GraphQL?
REST é como pedir pratos específicos do cardápio, onde cada prato tem seu endereço. GraphQL é como montar o seu próprio prato, pedindo exatamente os ingredientes que você quer, tudo em um só lugar.
O que significa 'API escalável'?
Uma API escalável é aquela que consegue atender a muitos usuários ao mesmo tempo sem ficar lenta ou cair.
Detalhes
Descrição original do autor
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.
repo: wshobson/agents
Popularidade
- Estrelas no GitHub
- 41 mil
- Posição no ranking
- #4802
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
screen-reader-testing
Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.
wshobson/agents
wcag-audit-patterns
Ajuda seu agente a auditar sites para acessibilidade e corrigir problemas de acordo com as diretrizes WCAG.
wshobson/agents
multi-reviewer-patterns
Faz seu agente coordenar revisões de código paralelas, deduplicando achados e consolidando relatórios.
wshobson/agents
parallel-debugging
Permite ao agente depurar problemas complexos com investigações paralelas e análise de causa raiz.
wshobson/agents
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC