Skill · em Construir backend e dados

api-patterns

API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.

Procedência

Antes de instalar

12 arquivos · 20,1 KB · inclui 1 script que executa: scripts/api_validator.py

Instalar na sua CLI

O comando baixa a versão fixada (commit 57f899e) direto da origem, para a pasta que a CLI lê. Precisa de curl (macOS e Linux); no Windows não há comando, porque o Rook Labs é para macOS.

Claude Code

Neste projeto: instala em .claude/skills/api-patterns/.

d=".claude/skills/api-patterns"
u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/api-patterns"
curl -fsSL --create-dirs \
  -o "$d/SKILL.md" "$u/SKILL.md" \
  -o "$d/api-style.md" "$u/api-style.md" \
  -o "$d/auth.md" "$u/auth.md" \
  -o "$d/documentation.md" "$u/documentation.md" \
  -o "$d/graphql.md" "$u/graphql.md" \
  -o "$d/rate-limiting.md" "$u/rate-limiting.md" \
  -o "$d/response.md" "$u/response.md" \
  -o "$d/rest.md" "$u/rest.md" \
  -o "$d/scripts/api_validator.py" "$u/scripts/api_validator.py" \
  -o "$d/security-testing.md" "$u/security-testing.md" \
  -o "$d/trpc.md" "$u/trpc.md" \
  -o "$d/versioning.md" "$u/versioning.md" \
  -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"

Global: instala em ~/.claude/skills/api-patterns/.

d="$HOME/.claude/skills/api-patterns"
u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/api-patterns"
curl -fsSL --create-dirs \
  -o "$d/SKILL.md" "$u/SKILL.md" \
  -o "$d/api-style.md" "$u/api-style.md" \
  -o "$d/auth.md" "$u/auth.md" \
  -o "$d/documentation.md" "$u/documentation.md" \
  -o "$d/graphql.md" "$u/graphql.md" \
  -o "$d/rate-limiting.md" "$u/rate-limiting.md" \
  -o "$d/response.md" "$u/response.md" \
  -o "$d/rest.md" "$u/rest.md" \
  -o "$d/scripts/api_validator.py" "$u/scripts/api_validator.py" \
  -o "$d/security-testing.md" "$u/security-testing.md" \
  -o "$d/trpc.md" "$u/trpc.md" \
  -o "$d/versioning.md" "$u/versioning.md" \
  -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"

Codex

Neste projeto: instala em .agents/skills/api-patterns/.

d=".agents/skills/api-patterns"
u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/api-patterns"
curl -fsSL --create-dirs \
  -o "$d/SKILL.md" "$u/SKILL.md" \
  -o "$d/api-style.md" "$u/api-style.md" \
  -o "$d/auth.md" "$u/auth.md" \
  -o "$d/documentation.md" "$u/documentation.md" \
  -o "$d/graphql.md" "$u/graphql.md" \
  -o "$d/rate-limiting.md" "$u/rate-limiting.md" \
  -o "$d/response.md" "$u/response.md" \
  -o "$d/rest.md" "$u/rest.md" \
  -o "$d/scripts/api_validator.py" "$u/scripts/api_validator.py" \
  -o "$d/security-testing.md" "$u/security-testing.md" \
  -o "$d/trpc.md" "$u/trpc.md" \
  -o "$d/versioning.md" "$u/versioning.md" \
  -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"

Global: instala em ~/.agents/skills/api-patterns/.

d="$HOME/.agents/skills/api-patterns"
u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/api-patterns"
curl -fsSL --create-dirs \
  -o "$d/SKILL.md" "$u/SKILL.md" \
  -o "$d/api-style.md" "$u/api-style.md" \
  -o "$d/auth.md" "$u/auth.md" \
  -o "$d/documentation.md" "$u/documentation.md" \
  -o "$d/graphql.md" "$u/graphql.md" \
  -o "$d/rate-limiting.md" "$u/rate-limiting.md" \
  -o "$d/response.md" "$u/response.md" \
  -o "$d/rest.md" "$u/rest.md" \
  -o "$d/scripts/api_validator.py" "$u/scripts/api_validator.py" \
  -o "$d/security-testing.md" "$u/security-testing.md" \
  -o "$d/trpc.md" "$u/trpc.md" \
  -o "$d/versioning.md" "$u/versioning.md" \
  -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"

Antigravity

Neste projeto: instala em .agents/skills/api-patterns/.

d=".agents/skills/api-patterns"
u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/api-patterns"
curl -fsSL --create-dirs \
  -o "$d/SKILL.md" "$u/SKILL.md" \
  -o "$d/api-style.md" "$u/api-style.md" \
  -o "$d/auth.md" "$u/auth.md" \
  -o "$d/documentation.md" "$u/documentation.md" \
  -o "$d/graphql.md" "$u/graphql.md" \
  -o "$d/rate-limiting.md" "$u/rate-limiting.md" \
  -o "$d/response.md" "$u/response.md" \
  -o "$d/rest.md" "$u/rest.md" \
  -o "$d/scripts/api_validator.py" "$u/scripts/api_validator.py" \
  -o "$d/security-testing.md" "$u/security-testing.md" \
  -o "$d/trpc.md" "$u/trpc.md" \
  -o "$d/versioning.md" "$u/versioning.md" \
  -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"

Global: instala em ~/.gemini/antigravity-cli/skills/api-patterns/.

d="$HOME/.gemini/antigravity-cli/skills/api-patterns"
u="https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/cli-tool/components/skills/development/api-patterns"
curl -fsSL --create-dirs \
  -o "$d/SKILL.md" "$u/SKILL.md" \
  -o "$d/api-style.md" "$u/api-style.md" \
  -o "$d/auth.md" "$u/auth.md" \
  -o "$d/documentation.md" "$u/documentation.md" \
  -o "$d/graphql.md" "$u/graphql.md" \
  -o "$d/rate-limiting.md" "$u/rate-limiting.md" \
  -o "$d/response.md" "$u/response.md" \
  -o "$d/rest.md" "$u/rest.md" \
  -o "$d/scripts/api_validator.py" "$u/scripts/api_validator.py" \
  -o "$d/security-testing.md" "$u/security-testing.md" \
  -o "$d/trpc.md" "$u/trpc.md" \
  -o "$d/versioning.md" "$u/versioning.md" \
  -o "$d/LICENSE" "https://raw.githubusercontent.com/davila7/claude-code-templates/57f899e5394bb8ca166f38eacae8f0853cbfe033/LICENSE"

Peça ao Rook

Já usa o Rook Labs? Cole no chat do Rook: instale a skill https://rooklabs.sh/marketplace/cct.api-patterns

Prévia do SKILL.md

---
name: api-patterns
description: API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.
allowed-tools: Read, Write, Edit, Glob, Grep
---

# API Patterns

> API design principles and decision-making for 2025.
> **Learn to THINK, not copy fixed patterns.**

## 🎯 Selective Reading Rule

**Read ONLY files relevant to the request!** Check the content map, find what you need.

---

## 📑 Content Map

| File | Description | When to Read |
|------|-------------|--------------|
| `api-style.md` | REST vs GraphQL vs tRPC decision tree | Choosing API type |
| `rest.md` | Resource naming, HTTP methods, status codes | Designing REST API |
| `response.md` | Envelope pattern, error format, pagination | Response structure |
| `graphql.md` | Schema design, when to use, security | Considering GraphQL |
| `trpc.md` | TypeScript monorepo, type safety | TS fullstack projects |
| `versioning.md` | URI/Header/Query versioning | API evolution planning |
| `auth.md` | JWT, OAuth, Passkey, API Keys | Auth pattern selection |
| `rate-limiting.md` | Token bucket, sliding window | API protection |
| `documentation.md` | OpenAPI/Swagger best practices | Documentation |
| `security-testing.md` | OWASP API Top 10, auth/authz testing | Security audits |

---

## 🔗 Related Skills

| Need | Skill |
|------|-------|
| API implementation | `@[skills/backend-development]` |
| Data structure | `@[skills/database-design]` |
…

Ver todo o marketplace