api-design

Prescribe REST API design patterns for endpoints, errors, and OpenAPI documentation.

32|5|Updated Oct 19, 2025
One-click install
npx skills add https://github.com/akaszubski/autonomous-dev --skill api-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design
Source: https://github.com/akaszubski/autonomous-dev/tree/main/plugins/autonomous-dev/skills/api-design
Command: npx skills add https://github.com/akaszubski/autonomous-dev --skill api-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Inconsistent or poorly designed APIs lead to developer frustration, integration challenges, and security vulnerabilities. This skill provides comprehensive best practices for designing REST APIs, covering everything from resource naming to versioning and error handling, ensuring your API is a pleasure to work with.

Core Features & Use Cases

  • REST Principles: Guidance on resource-based design, proper HTTP method usage (GET, POST, PUT, DELETE), and idempotent operations.
  • Error Handling: Standardized error response formats (e.g., RFC 7807 Problem Details) for clear and consistent communication of issues.
  • Versioning & Pagination: Strategies for evolving APIs gracefully (e.g., URL path versioning) and efficiently handling large data collections (offset-based, cursor-based).
  • Use Case: When designing a new API endpoint, use this skill to ensure your URLs are RESTful, status codes are appropriate, and error responses are consistent, making your API a joy to integrate with.
  • Use Case: Implement robust authentication (API Key, JWT) and rate limiting to protect your API from abuse and unauthorized access.

Quick Start

This is a knowledge skill, auto-activated by relevant keywords.

To get guidance on API design, simply ask:

"What are the best practices for REST API versioning?" "How should I handle error responses in my API?"

Frequently Asked Questions about api-design

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

FAQPage Schema
How do I design REST API endpoints with proper resource naming and HTTP methods?

REST API design uses resource-based naming (nouns, not verbs) with appropriate HTTP methods: GET for retrieval, POST for creation, PUT for updates, DELETE for removal. This ensures consistent, intuitive endpoints that developers can predict and integrate with easily.

What's the best way to handle errors in REST APIs?

Standardize error responses using RFC 7807 Problem Details format, which includes status codes, error type, description, and instance. This provides clear, machine-readable error communication across all endpoints, reducing integration friction.

How should I version my REST API as it evolves?

URL path versioning (e.g., `/v1/`, `/v2/`) allows you to introduce breaking changes gracefully while maintaining backward compatibility. Combine this with deprecation headers to guide clients toward newer versions.

How do I handle pagination for large datasets in APIs?

Implement offset-based or cursor-based pagination strategies with limit and offset parameters. Cursor-based pagination scales better for large datasets and handles real-time data changes more reliably.

What authentication and rate-limiting patterns should I implement?

Use API Key or JWT for authentication to verify client identity. Enforce rate limiting to prevent abuse and unauthorized access, protecting your API's availability and performance.

How do I document my REST API for developers?

Generate OpenAPI documentation from your API design to provide comprehensive, machine-readable specifications. This enables automatic client generation, testing, and clear integration guidance for developers.