AgentSkillsCN

api-design

按照规范设计RESTful API,具备适当的错误处理、版本控制和文档。在创建或修改API端点时使用。

SKILL.md
--- frontmatter
name: api-design
description: Design RESTful APIs following conventions with proper error
  handling, versioning, and documentation. Use when creating or modifying
  API endpoints.

API Design Skill

Purpose

Create consistent, well-designed APIs.

REST Conventions

Reference: standards/rest-conventions.md

HTTP Methods

MethodUse CaseIdempotent
GETRetrieve resourceYes
POSTCreate resourceNo
PUTReplace resourceYes
PATCHPartial updateNo
DELETERemove resourceYes

URL Patterns

code
GET    /users           # List users
GET    /users/:id       # Get user
POST   /users           # Create user
PUT    /users/:id       # Replace user
PATCH  /users/:id       # Update user
DELETE /users/:id       # Delete user

GET    /users/:id/posts # Nested resource

Response Status Codes

CodeMeaningUse When
200OKSuccessful GET, PUT, PATCH
201CreatedSuccessful POST
204No ContentSuccessful DELETE
400Bad RequestValidation error
401UnauthorizedAuth required
403ForbiddenAuth insufficient
404Not FoundResource doesn't exist
422UnprocessableBusiness rule violation
500Server ErrorUnexpected error

Error Response Format

Reference: standards/error-responses.md

json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Validation failed",
    "details": [
      {
        "field": "email",
        "message": "Invalid email format"
      }
    ]
  }
}

Versioning

Reference: standards/versioning.md

Options:

  • URL: /api/v1/users
  • Header: Accept: application/vnd.api.v1+json

Recommendation: URL versioning for simplicity

Endpoint Documentation

Use template: templates/endpoint-doc.md