Designs APIs first using OpenAPI or GraphQL schemas, then generates server stubs and client SDKs. Enables parallel frontend and backend development for small teams.
Design the API contract first, then build frontend and backend in parallel. Small teams move faster when everyone agrees on the interface upfront.
| Trigger | Behavior | |---------|----------| | Starting new API | Full API design workflow | | "OpenAPI", "API design" | Schema generation | | Frontend/backend need to work in parallel | Contract-first setup |
From domain description, identify:
openapi: 3.1.0
info:
title: My App API
version: 1.0.0
paths:
/api/v1/users:
get:
summary: List users
parameters:
- name: page
in: query
schema: { type: integer, default: 1 }
- name: limit
in: query
schema: { type: integer, default: 20, maximum: 100 }
responses:
'200':
description: User list
content:
application/json:
schema:
type: object
properties:
data:
type: array
items: { $ref: '#/components/schemas/User' }
pagination:
$ref: '#/components/schemas/Pagination'
post:
summary: Create user
requestBody:
required: true
content:
application/json:
schema: { $ref: '#/components/schemas/CreateUser' }
responses:
'201':
description: Created
components:
schemas:
User:
type: object
properties:
id: { type: string, format: uuid }
email: { type: string, format: email }
name: { type: string }
createdAt: { type: string, format: date-time }
CreateUser:
type: object
required: [email, name]
properties:
email: { type: string, format: email }
name: { type: string, minLength: 1, maxLength: 100 }
/users not /user/api/v1/{ error: { code, message, details } }?status=active&sort=-createdAt| Factor | REST | GraphQL | |--------|------|---------| | Multiple clients with different needs | ❌ Over/under-fetching | ✅ Client-driven queries | | Simple CRUD | ✅ Standard patterns | ❌ Overkill | | Caching | ✅ HTTP caching built-in | ⚠️ Requires effort | | Team size < 5 | ✅ Simpler to learn | ❌ Learning curve | | Startup default | ✅ Start here | Consider at scale |
| Tool | Purpose |
|------|---------|
| Write | Generate OpenAPI/GraphQL schemas |
| Read | Analyze existing API code |
| Bash | Generate stubs (npx openapi-generator-cli generate) |
Will:
Will Not:
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer