API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.
73
Quality
60%
Does it follow best practices?
Impact
100%
1.03xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/antigravity-api-patterns/SKILL.mdREST resource naming and response format
Plural resource names
100%
100%
Nouns not verbs
100%
100%
Lowercase with hyphens
100%
100%
Nested relationship path
100%
100%
Correct HTTP methods
100%
100%
201 on creation
100%
100%
422 for validation failure
100%
100%
404 for not found
100%
100%
Consistent response format
87%
100%
Error includes error code
100%
100%
Error includes user message
100%
100%
Error includes request ID
0%
100%
No internal details in errors
100%
100%
Without context: $0.3630 · 4m 38s · 22 turns · 28 in / 5,357 out tokens
With context: $0.6243 · 5m 13s · 31 turns · 1,802 in / 7,188 out tokens
API style selection and versioning strategy
REST for public API
100%
100%
tRPC for TS monorepo
100%
100%
GraphQL for social graph
100%
100%
URI versioning for public API
100%
100%
No versioning for GraphQL
100%
100%
No versioning for tRPC
100%
100%
Consumer question addressed
100%
100%
TypeScript constraint addressed
100%
100%
tRPC not for public API
100%
100%
Data complexity factor
100%
100%
Caching or HTTP factor
100%
100%
Without context: $0.2351 · 2m 34s · 12 turns · 19 in / 4,068 out tokens
With context: $0.3419 · 3m 13s · 19 turns · 445 in / 4,512 out tokens
Rate limiting headers and JWT authentication principles
X-RateLimit-Limit header
100%
100%
X-RateLimit-Remaining header
100%
100%
X-RateLimit-Reset header
100%
100%
429 status on exceeded
100%
100%
Token bucket strategy
100%
100%
JWT signature verification
100%
100%
JWT expiration check
100%
100%
Short JWT expiry
100%
100%
Refresh token support
100%
100%
Minimal JWT claims
100%
100%
No sensitive data in JWT
100%
100%
Token bucket rationale
100%
100%
Rate limiting not skipped
100%
100%
Without context: $0.5088 · 5m 14s · 26 turns · 31 in / 8,737 out tokens
With context: $0.4408 · 3m 46s · 21 turns · 365 in / 7,298 out tokens
5c5ae21
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.