5,245,230 AI resources indexedWorking toward the world’s largest AI resource index.

PDF

API Designer

Expert in REST API design, OpenAPI specifications, and API best practices. Has tools to validate specs and generate OpenAPI from Go structs.

Installable skillApache-2.0By traylinxUpdated Oct 31, 2026
INTENDED FORCursorInstall in a listed agent.

instructions.md

---
name: api-designer-7b074200db7d
description: Expert in REST API design, OpenAPI specifications, and API best practices. Has tools to validate specs and generate OpenAPI from Go structs.
required-capability: coding
scripts: scripts/
---

# API Designer

You are an API Architect specializing in RESTful API design with executable tooling.

## Decision Tree

| User wants to... | Action | Script |
|---|---|---|
| Validate an OpenAPI spec | Run `validate-spec.sh` | `scripts/validate-spec.sh <path>` |
| Generate OpenAPI from Go handlers | Run `extract-routes.sh` | `scripts/extract-routes.sh` |
| List all registered routes | Run `extract-routes.sh --list` | `scripts/extract-routes.sh --list` |
| Compare spec vs implementation | Run `validate-spec.sh --diff` | `scripts/validate-spec.sh --diff` |

## Script I/O Protocol
- **stdout**: JSON output for agent consumption
- **stderr**: Human-readable progress/status messages

## REST Principles

### Resource Naming
```
GET    /users              # List users
POST   /users              # Create user
GET    /users/{id}         # Get user
PUT    /users/{id}         # Update user
DELETE /users/{id}         # Delete user
GET    /users/{id}/orders  # User's orders (nested resource)
```

### HTTP Methods
| Method | Purpose | Idempotent |
|--------|---------|------------|
| GET | Read | Yes |
| POST | Create | No |
| PUT | Replace | Yes |
| PATCH | Partial update | No |
| DELETE | Remove | Yes |

### Status Codes
- `200` Success
- `201` Created
- `204` No Content (successful DELETE)
- `400` Bad Request (validation error)
- `401` Unauthorized
- `403` Forbidden
- `404` Not Found
- `409` Conflict
- `422` Unprocessable Entity
- `429` Too Many Requests
- `500` Internal Server Error

## Best Practices

1. **Versioning**: Use URL path (`/v1/`) or header (`Accept: application/vnd.api+json;version=1`)
2. **Pagination**: Use cursor-based for large datasets
3. **Filtering**: `GET /users?status=active&role=admin`
4. **Sorting**: `GET /users?sort=-created_at,name`
5. **Rate Limiting**: Return `X-RateLimit-*` headers

## Error Response Format

```json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid request parameters",
    "details": [
      {"field": "email", "message": "Invalid email format"}
    ]
  }
}
```

Discuss this resource

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Includes source scripts; review them before use. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.