From agents
Contract-first API design for REST, GraphQL, gRPC. Design, spec, review, version, compat, sdk. Use for API architecture and OpenAPI specs. NOT for MCP servers (mcp-creator) or frontend API calls.
npx claudepluginhub wyattowalsh/agents --plugin agentsThis skill uses the workspace's default tool permissions.
Contract-first API design across REST, GraphQL, and gRPC. Produces OpenAPI 3.1 specs, reviews existing APIs, analyzes backward compatibility, and scaffolds client code.
data/http-conventions.jsondata/status-codes.jsonevals/api-design.jsonevals/compat-mode.jsonevals/explicit-invocation.jsonevals/implicit-trigger.jsonevals/negative-control.jsonreferences/graphql-patterns.mdreferences/grpc-patterns.mdreferences/rest-conventions.mdreferences/versioning-strategies.mdscripts/api-endpoint-matrix.pyscripts/api-spec-validator.pyscripts/compat-checker.pytemplates/dashboard.htmlCreates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Contract-first API design across REST, GraphQL, and gRPC. Produces OpenAPI 3.1 specs, reviews existing APIs, analyzes backward compatibility, and scaffolds client code.
| Term | Definition |
|---|---|
| spec | An OpenAPI 3.1 document (YAML or JSON) describing an API's surface |
| endpoint | A path + method combination in a REST API; a query/mutation in GraphQL; an RPC in gRPC |
| breaking change | Any modification that causes existing clients to fail without code changes |
| non-breaking change | A backward-compatible modification (additive fields, new endpoints, optional params) |
| resource | A domain entity exposed through the API (noun-based URL segment in REST) |
| contract | The formal agreement between API producer and consumer defined by the spec |
| protocol | The API paradigm: REST, GraphQL, or gRPC |
| surface | The complete set of endpoints, types, and operations an API exposes |
| versioning strategy | How breaking changes are communicated: URL path, header, or query parameter |
| $ARGUMENTS | Action |
|---|---|
design <requirements> | Design a new API from requirements |
spec <code or path> | Generate OpenAPI 3.1 spec from existing code |
review <spec or path> | Audit an existing API design |
version <spec or path> | Versioning and deprecation strategy |
compat <old> <new> | Backward compatibility diff analysis |
sdk <spec or path> | Scaffold client code structure |
| Natural language about API design | Auto-detect mode from intent |
| Empty | Show mode menu with examples |
| # | Mode | Example |
|---|---|---|
| 1 | Design | design "User management API with RBAC" |
| 2 | Spec | spec src/routes/ |
| 3 | Review | review openapi.yaml |
| 4 | Version | version openapi.yaml |
| 5 | Compat | compat v1.yaml v2.yaml |
| 6 | SDK | sdk openapi.yaml |
Pick a number or describe what you need.
Detect the API protocol from input before entering any mode. Classification determines which conventions and patterns apply.
Detection signals:
| Signal | REST | GraphQL | gRPC |
|---|---|---|---|
| File extension | .yaml, .json (OpenAPI) | .graphql, .gql | .proto |
| Keywords | endpoint, resource, CRUD, path | query, mutation, subscription, resolver | service, rpc, message, protobuf |
| URL patterns | /api/v1/resources | /graphql | gRPC service names |
| Code patterns | Express/FastAPI routes, controllers | Schema definitions, resolvers | Proto service definitions |
Routing:
Load references/rest-conventions.md, references/graphql-patterns.md, or references/grpc-patterns.md based on detected protocol.
New API from requirements. Read references/rest-conventions.md (or protocol-specific reference).
scripts/api-spec-validator.py on generated specGenerate OpenAPI 3.1 from existing code.
scripts/api-spec-validator.pyAudit existing API design. Read-only analysis.
scripts/api-spec-validator.py for structural issuesscripts/api-endpoint-matrix.py for surface overviewreferences/rest-conventions.mdVersioning and deprecation strategy.
references/versioning-strategies.md)Backward compatibility diff between two spec versions.
scripts/compat-checker.py <old> <new>Scaffold client code structure from a spec. NOT a publishable SDK package — a structural starting point.
| Script | Purpose | Run When |
|---|---|---|
scripts/api-spec-validator.py | Validate OpenAPI 3.x for completeness and best practices | Design, Spec, Review |
scripts/api-endpoint-matrix.py | Extract endpoint inventory from spec | Review, Version, SDK |
scripts/compat-checker.py | Compare two specs for breaking changes | Compat |
uv run python skills/api-designer/scripts/api-spec-validator.py <spec-path>
uv run python skills/api-designer/scripts/api-endpoint-matrix.py <spec-path>
uv run python skills/api-designer/scripts/compat-checker.py <old-spec> <new-spec>
All scripts output JSON to stdout, warnings to stderr.
| File | Content | Read When |
|---|---|---|
references/rest-conventions.md | REST best practices, HTTP methods, status codes, naming, pagination, rate limiting | Design, Spec, Review (REST) |
references/graphql-patterns.md | GraphQL schema design, query patterns, error handling, subscriptions | Design, Spec, Review (GraphQL) |
references/grpc-patterns.md | gRPC service patterns, proto design, streaming, error codes | Design, Spec, Review (gRPC) |
references/versioning-strategies.md | URL vs header vs query versioning, deprecation, backward compat checklist | Version, Compat |
data/http-conventions.json | HTTP method semantics reference data | Scripts |
data/status-codes.json | HTTP status code guide reference data | Scripts |
Do not load all references at once. Load only what the detected protocol and active mode require.
api-spec-validator.py before presenting to userIS for:
NOT for:
/mcp-creator)/database-architect)