Awesome-omni-skill api-patterns
API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/api-patterns-hainamchung" ~/.claude/skills/diegosouzapw-awesome-omni-skill-api-patterns-ce623b && rm -rf "$T"
manifest:
skills/development/api-patterns-hainamchung/SKILL.mdsource content
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 |
|---|---|---|
| REST vs GraphQL vs tRPC decision tree | Choosing API type |
| Resource naming, HTTP methods, status codes | Designing REST API |
| Envelope pattern, error format, pagination | Response structure |
| Schema design, when to use, security | Considering GraphQL |
| TypeScript monorepo, type safety | TS fullstack projects |
| URI/Header/Query versioning | API evolution planning |
| JWT, OAuth, Passkey, API Keys | Auth pattern selection |
| Token bucket, sliding window | API protection |
| OpenAPI/Swagger best practices | Documentation |
| OWASP API Top 10, auth/authz testing | Security audits |
🔗 Related Skills
| Need | Skill |
|---|---|
| API implementation | |
| Data structure | |
| Security details | |
✅ Decision Checklist
Before designing an API:
- Asked user about API consumers?
- Chosen API style for THIS context? (REST/GraphQL/tRPC)
- Defined consistent response format?
- Planned versioning strategy?
- Considered authentication needs?
- Planned rate limiting?
- Documentation approach defined?
❌ Anti-Patterns
DON'T:
- Default to REST for everything
- Use verbs in REST endpoints (/getUsers)
- Return inconsistent response formats
- Expose internal errors to clients
- Skip rate limiting
DO:
- Choose API style based on context
- Ask about client requirements
- Document thoroughly
- Use appropriate status codes
Script
| Script | Purpose | Command |
|---|---|---|
| API endpoint validation | |