api-design

Design RESTful API contracts and OpenAPI 3.1 specifications with schemas and error handling.

2|Updated Feb 6, 2026
One-click install
npx skills add https://github.com/ashtonian/llm-init --skill api-design-ashtonian
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design
Source: https://github.com/ashtonian/llm-init/tree/main/templates/.claude/skills/api-design
Command: npx skills add https://github.com/ashtonian/llm-init --skill api-design-ashtonian

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Design API contracts and OpenAPI specifications for modern RESTful services.

Core Features & Use Cases

  • Resource modeling and relationships (e.g., Users, Projects, Invoices) including CRUD and non-CRUD actions.
  • URL structure design, including nested resources and versioned paths, with typical endpoints shown below.
  • Request/response schema definitions enforcing snake_case, UUIDs, ISO 8601 timestamps, and tenant_id inclusion; error modeling and OpenAPI 3.1 compatibility.
  • OpenAPI spec generation and optional typed client code, plus guidance for testing and integration.
GET /api/v1/{resources}          # List (paginated)
POST /api/v1/{resources}         # Create
GET /api/v1/{resources}/{id}     # Get by ID
PUT /api/v1/{resources}/{id}     # Full update
PATCH /api/v1/{resources}/{id}   # Partial update
DELETE /api/v1/{resources}/{id}  # Delete

Quick Start

Provide API feature requirements and I will draft a complete OpenAPI design with endpoints, schemas, and error handling.

Frequently Asked Questions about api-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design an OpenAPI spec for a multi-tenant REST API?

Design a multi-tenant REST API by defining OpenAPI schemas that enforce UUIDs, ISO 8601 timestamps, snake_case fields, and tenant_id inclusion for robust resource isolation. It handles resource modeling, URL structure, and error handling.

What is the best way to structure RESTful URLs for nested resources?

Structure RESTful URLs using versioned paths like /api/v1/ with nested resource endpoints for CRUD and non-CRUD actions. Standard operations include list, create, get by ID, full update, partial update, and delete.

How do I generate typed client code from an OpenAPI 3.1 specification?

Generate typed client code from an OpenAPI 3.1 specification by drafting your API contracts including endpoints, schemas, and error handling. The design process supports optional typed client code generation alongside the spec.

Can I use snake_case field names and UUIDs in my OpenAPI schemas?

Yes, you can use snake_case field names and UUIDs in OpenAPI schemas. The API design process explicitly enforces snake_case fields, UUID identifiers, and ISO 8601 dates within request and response schema definitions.

How do I model errors and non-CRUD actions in an OpenAPI contract?

Model errors and non-CRUD actions by defining custom error schemas and resource relationships within your OpenAPI contract. The design covers complete error modeling alongside standard CRUD operations for modern RESTful services.