Help us improve
Share bugs, ideas, or general feedback.
From synapse-a2a
Guide API design for REST, GraphQL, gRPC, and CLI interfaces. Use this skill when designing new APIs, reviewing existing API contracts, or establishing API conventions for a project. Produces consistent, well-documented API specifications.
npx claudepluginhub s-hiraoku/synapse-a2a --plugin synapse-a2aHow this skill is triggered — by the user, by Claude, or both
Slash command
/synapse-a2a:api-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Design consistent, well-documented APIs across REST, GraphQL, gRPC, and CLI interfaces.
Guides API design decisions including REST vs GraphQL, resource modeling, versioning, error contracts, pagination, and authentication patterns.
Guides API design following REST, GraphQL, and gRPC best practices. Covers HTTP methods, status codes, URL naming, versioning strategies, and design workflow.
Share bugs, ideas, or general feedback.
Design consistent, well-documented APIs across REST, GraphQL, gRPC, and CLI interfaces.
/users, /tasks/user-settings/users/{id}/tasks/tasks/{id}/approve| Method | Purpose | Idempotent |
|---|---|---|
| GET | Read | Yes |
| POST | Create / action | No |
| PUT | Full replace | Yes |
| PATCH | Partial update | Yes |
| DELETE | Remove | Yes |
{
"data": { ... },
"meta": { "page": 1, "total": 42 }
}
Error format:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Human-readable description",
"details": [
{ "field": "email", "reason": "required" }
]
}
}
| Code | Use |
|---|---|
| 200 | Success (with body) |
| 201 | Created |
| 204 | Success (no body) |
| 400 | Client error (validation) |
| 401 | Not authenticated |
| 403 | Not authorized |
| 404 | Not found |
| 409 | Conflict (duplicate, state mismatch) |
| 422 | Unprocessable (semantically invalid) |
| 500 | Server error |
Use cursor-based for large datasets, offset-based for simple cases:
GET /tasks?cursor=abc123&limit=20
GET /tasks?page=2&per_page=20
/v1/tasks, /v2/tasks<tool> <noun> <verb> [args] [--flags]
Example: synapse send gemini "Review code" --wait
--output, --verbose-o, -v--force, --no-color--attach file1 --attach file2--wait | --notify | --silent--json: machine-readable JSON--quiet / -q: minimal outputList the entities and actions the API must support.
Apply naming conventions to produce the API surface.
Specify required and optional fields, types, and validation rules.
For each endpoint, list possible error responses and their meaning.
Cross-check naming, error format, and pagination across all endpoints.