API Development
Meta-skill that orchestrates the full API development lifecycle — from design through documentation — by coordinating specialized skills, agents, and commands into a seamless build workflow.
Best use case
API Development is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Meta-skill that orchestrates the full API development lifecycle — from design through documentation — by coordinating specialized skills, agents, and commands into a seamless build workflow.
Teams using API Development should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/api-development-openclaw/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How API Development Compares
| Feature / Agent | API Development | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Meta-skill that orchestrates the full API development lifecycle — from design through documentation — by coordinating specialized skills, agents, and commands into a seamless build workflow.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# API Development Orchestrate the full API development lifecycle by coordinating design, implementation, testing, and documentation into a single workflow. ## When to Use This Skill - Building a new API from scratch - Adding endpoints to an existing API - Redesigning or refactoring an API - Planning API versioning and migration - Running a complete API development cycle (design → build → test → document → deploy) --- ## Orchestration Flow Follow these steps in order. Each step routes to the appropriate skill or tool. ### 1. Design the API Load the `api-design` skill to establish resource models, URL structure, HTTP method semantics, error formats, and pagination strategy. **Deliverables:** Resource list, endpoint map, request/response schemas, error format ### 2. Generate OpenAPI Spec Produce a machine-readable OpenAPI 3.x specification from the design. Use the OpenAPI template in `api-design/assets/openapi-template.yaml` as a starting point. **Deliverables:** `openapi.yaml` with all endpoints, schemas, auth schemes, and examples ### 3. Scaffold Endpoints Generate route files, request/response types, and validation schemas for each endpoint. Group routes by resource. **Deliverables:** Route files, type definitions, validation schemas per resource ### 4. Implement Business Logic Write service-layer logic with input validation, authorization checks, database queries, and proper error propagation. Keep controllers thin — business logic lives in the service layer. **Deliverables:** Service modules, repository layer, middleware (auth, rate limiting, CORS) ### 5. Test Write tests at three levels: - **Unit tests** — service logic, validation, error handling - **Integration tests** — endpoint behavior with real DB - **Contract tests** — response shapes match OpenAPI spec **Deliverables:** Test suite with coverage for happy paths, error cases, edge cases, and auth ### 6. Document Generate human-readable API documentation with usage examples and SDK snippets. Ensure every endpoint has description, parameters, request/response examples, and error codes. **Deliverables:** API docs, changelog, authentication guide ### 7. Version and Deploy Apply a versioning strategy, tag the release, update changelogs, and deploy through the pipeline. Follow the `api-versioning` skill for deprecation and migration guidance. **Deliverables:** Version tag, changelog entry, deployment confirmation --- ## API Design Decision Table Choose the right paradigm for your use case. | Criteria | REST | GraphQL | gRPC | |----------|------|---------|------| | **Best for** | CRUD-heavy public APIs | Complex relational data, client-driven queries | Internal microservices, high-throughput | | **Data fetching** | Fixed response shape per endpoint | Client specifies exact fields | Strongly typed protobuf messages | | **Over/under-fetching** | Common problem | Solved by design | Minimal — schema is explicit | | **Caching** | Native HTTP caching (ETags, Cache-Control) | Requires custom caching | No built-in HTTP caching | | **Real-time** | Polling or WebSockets | Subscriptions (built-in) | Bidirectional streaming | | **Tooling** | Mature — OpenAPI, Postman, curl | Growing — Apollo, Relay, GraphiQL | Mature — protoc, grpcurl, Buf | | **Learning curve** | Low | Medium | Medium-High | | **Versioning** | URL or header versioning | Schema evolution with `@deprecated` | Package versioning in `.proto` | **Rule of thumb:** Default to REST for public APIs. Use GraphQL when clients need flexible queries across related data. Use gRPC for internal service-to-service communication. --- ## API Checklist Run through this checklist before marking any API work as complete. ### Authentication & Authorization - [ ] Authentication mechanism chosen (JWT, OAuth2, API key) - [ ] Authorization rules enforced at every endpoint - [ ] Tokens validated and scoped correctly - [ ] Secrets stored securely (never in code or logs) ### Rate Limiting - [ ] Rate limits configured per endpoint or consumer tier - [ ] `RateLimit-*` headers included in responses - [ ] `429 Too Many Requests` returned with `Retry-After` header - [ ] Rate limit strategy documented for consumers ### Pagination - [ ] All collection endpoints paginated - [ ] Pagination style chosen (cursor-based or offset-based) - [ ] `page_size` bounded with a sensible maximum - [ ] Total count or `hasNextPage` indicator included ### Filtering & Sorting - [ ] Filter parameters validated and sanitized - [ ] Sort fields allow-listed (no arbitrary column sorting) - [ ] Default sort order defined and documented ### Error Handling - [ ] Consistent error response schema across all endpoints - [ ] Correct HTTP status codes (4xx for client, 5xx for server) - [ ] Validation errors return field-level detail - [ ] Internal errors never leak stack traces or sensitive data ### Versioning - [ ] Versioning strategy selected and applied uniformly - [ ] Breaking vs non-breaking change policy documented - [ ] Deprecation timeline communicated via `Sunset` header ### CORS - [ ] Allowed origins configured (no wildcard `*` in production with credentials) - [ ] Allowed methods and headers explicitly listed - [ ] Preflight (`OPTIONS`) requests handled correctly ### Documentation - [ ] OpenAPI / Swagger spec generated and up to date - [ ] Every endpoint has description, parameters, and example responses - [ ] Authentication requirements documented - [ ] Error codes and meanings listed - [ ] Changelog maintained for each version ### Security - [ ] Input validation on all fields - [ ] SQL injection prevention - [ ] HTTPS enforced - [ ] Sensitive data never in URLs or logs - [ ] CORS configured correctly ### Monitoring - [ ] Structured logging with request IDs - [ ] Error tracking configured (Sentry, Datadog, etc.) - [ ] Performance metrics collected (latency, error rate) - [ ] Health check endpoint available (`/health`) - [ ] Alerts configured for error rate spikes --- ## Skill Routing Table | Need | Skill | Purpose | |------|-------|---------| | API design principles | `api-design` | Resource modeling, HTTP semantics, pagination, error formats | | Versioning strategy | `api-versioning` | Version lifecycle, deprecation, migration patterns | | Authentication | `auth-patterns` | JWT, OAuth2, sessions, RBAC, MFA | | Error handling | `error-handling` | Error types, retry patterns, circuit breakers, HTTP errors | | Rate limiting | `rate-limiting` | Algorithms, HTTP headers, tiered limits, distributed limiting | | Caching | `caching` | Cache strategies, HTTP caching, invalidation, Redis patterns | | Database migrations | `database-migrations` | Schema evolution, zero-downtime patterns, rollback strategies | --- ## NEVER Do 1. **NEVER skip the design phase** — jumping straight to code produces inconsistent APIs that are expensive to fix 2. **NEVER expose database schema directly** — API resources are not database tables; design around consumer use cases 3. **NEVER ship without authentication** — every production endpoint must have an auth strategy 4. **NEVER return inconsistent error formats** — every error response must follow the same schema 5. **NEVER break a published API without a versioning plan** — breaking changes require a new version, migration guide, and deprecation timeline 6. **NEVER deploy without tests and documentation** — untested APIs ship bugs, undocumented APIs frustrate developers
Related Skills
argentic-framework-development
Expert knowledge for building AI agents with Argentic - a Python microframework for async MQTT-based agents with multi-LLM support, custom tools, and multi-agent orchestration
api-development-expert
API development expert including REST design, OpenAPI, and documentation
android-kotlin-development
Develop native Android apps with Kotlin. Covers MVVM with Jetpack, Compose for modern UI, Retrofit for API calls, Room for local storage, and navigation architecture.
android-development
Android development patterns for Kotlin/Java including MediaProjection, Accessibility Service, Socket.IO, and foreground services. Use when working on TitanMirror or other Android projects.
ai-development-guide
Technical decision criteria, anti-pattern detection, debugging techniques, and quality check workflow. Use when making technical decisions, detecting code smells, or performing quality assurance.
ai-assisted-development
Leveraging AI coding assistants and tools to boost development productivity, while maintaining oversight to ensure quality results.
AEM Development Workflow
Required workflow for AEM EDS development - linting, testing, preview validation, and PRs with demo links. Use when developing blocks or features for AEM Edge Delivery Services projects, before doing anything else.
adapter-development
Comprehensive guide for AIDB debug adapter development. Covers component-based architecture, language-specific patterns (Python/debugpy, JavaScript/vscode-js-debug, Java/java-debug), lifecycle hooks, process management, port management, launch orchestration, resource cleanup, child sessions, and common pitfalls. Essential for developing or maintaining AIDB debug adapters.
pyqt6-ui-development-rules
Specific rules for PyQt6 based UI development focusing on UI/UX excellence and performance.
project-development
Design and build LLM-powered projects from ideation through deployment. Use when starting new agent projects, choosing between LLM and traditional approaches, or structuring batch processing pipelines.
Flutter Development Expert
专注于构建高性能、可扩展且架构清晰的 Flutter 应用。涵盖整洁架构、高级状态管理和深度性能优化。
synapse-action-development
Explains how to create Synapse plugin actions. Use when the user asks to "create an action", "write an action", uses "@action decorator", "BaseAction class", "function-based action", "class-based action", "Pydantic params", "ActionPipeline", "DataType", "input_type", "output_type", "semantic types", "YOLODataset", "ModelWeights", "pipeline chaining", or needs help with synapse plugin action development.