Appearance
Everything Claude Code API Design Skill 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)场景设计的 REST API 设计规范与落地流程。它解决了接口命名混乱、状态码滥用、分页/过滤/错误响应不一致等常见问题,极大提升了生产级 API 的一致性、可维护性和开发效率。Skill 支持自动检测、建议与生成规范化 API 合约,适用于新建、评审和重构各类后端服务,兼容 TypeScript、Python、Go 等主流技术栈。
Everything Claude Code API Design Skill:REST 资源命名、状态码、分页、错误响应与速率限制规范
在使用 Claude Code、Codex、Cursor 等 AI 编程助手开发后端接口时,API 设计规范往往是影响团队协作、系统扩展性和对外开放能力的关键因素。API Design Skill 正是为此而生,它将业界最佳实践(如 RESTful 资源命名、HTTP 状态码、分页、过滤、错误响应、速率限制、版本管理等)以可操作的 Skill 形式,深度集成进 AI 辅助开发流程。
相比传统“凭经验”或“抄模板”式的 API 设计,API Design Skill 提供了结构化、可复用、可自动化检测的标准方案,极大降低了接口设计的出错率和后期维护成本。无论你是初次接触 REST API,还是需要为已有项目补齐规范,这一 Skill 都能作为 Claude Code Agent 的“API 设计大脑”,贯穿接口全生命周期。
适用场景与触发时机
API Design Skill 可在以下典型场景自动激活或手动调用:
- 新建 API 端点时:AI 生成接口代码前,Skill 自动补全资源命名、路径结构、方法与状态码建议。
- 接口评审与重构:对现有 API 合约进行一致性检查,发现并修复命名、状态码、响应格式等问题。
- 实现分页、过滤、排序:Skill 自动给出 offset/cursor 分页、字段筛选、排序参数等标准实现方式。
- 错误响应与速率限制:为接口生成统一的错误码、错误体结构和速率限制响应,避免自定义风格混乱。
- API 版本管理:规划 URL/头部版本号、弃用流程和兼容策略,支持长期演进。
- 对外开放/合作 API:Skill 输出适合文档化和合作伙伴对接的标准 API 合约。
提示:API Design Skill 可与 Claude Code 快速上手指南 中的 Agent、Skill、Hook 体系无缝集成,支持自动检测和批量修复。
Step by Step:在实际项目中用好 API Design Skill
1. 设计资源与 URL 路径结构
Skill 会建议所有资源使用复数、kebab-case、小写命名,避免动词、单数和 snake_case。例如:
http
# 推荐
GET /api/v1/users
POST /api/v1/users
GET /api/v1/users/{id}
GET /api/v1/users/{id}/orders
# 反例
GET /api/v1/getUsers
GET /api/v1/user
GET /api/v1/team_membersSkill 会自动检测并纠正不规范的路径,确保接口风格统一。
2. 选择合适的 HTTP 方法与状态码
API Design Skill 内置了标准的 HTTP 方法-状态码语义映射:
- GET:200 OK(查询成功),404 Not Found(资源不存在)
- POST:201 Created(创建成功,需 Location 头),400/422(参数错误)
- PUT/PATCH:200/204(更新成功),400/422(校验失败)
- DELETE:204 No Content(删除成功),404(未找到)
Skill 会阻止“所有请求都返回 200”或“用 500 表示所有错误”等反模式,并自动生成如下响应结构:
json
// 成功
{
"data": { "id": "abc-123", "name": "Alice" }
}
// 错误
{
"error": {
"code": "validation_error",
"message": "Request validation failed",
"details": [
{ "field": "email", "message": "Must be a valid email address" }
]
}
}3. 实现分页、过滤与排序
Skill 支持两种主流分页模式:
Offset 分页(适合小数据集、后台管理):
httpGET /api/v1/users?page=2&per_page=20Cursor 分页(适合大数据量、前台无限滚动):
httpGET /api/v1/users?cursor=eyJpZCI6MTIzfQ&limit=20
响应示例:
json
{
"data": [...],
"meta": {
"total": 142,
"page": 2,
"per_page": 20,
"total_pages": 8
},
"links": {
"self": "...",
"next": "...",
"last": "..."
}
}Skill 还支持标准的过滤、排序、字段筛选参数:
http
GET /api/v1/orders?status=active&created_at[after]=2025-01-01&sort=-created_at
GET /api/v1/users?fields=id,name,email4. 错误响应与速率限制标准化
Skill 统一输出错误响应 envelope,包含 code/message/details,便于前端和第三方集成:
json
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds."
}
}速率限制响应自动带上标准头部:
http
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1640000000
Retry-After: 60Skill 支持按 IP、用户、API Key 等多层级配置速率限制,并建议合理的分层限流策略。
5. 版本管理与演进
Skill 推荐采用 URL 路径版本号(如 /api/v1/),并内置弃用流程(Sunset 头、410 Gone)。对非兼容性变更,Skill 会自动建议新版本并输出迁移建议。
6. 多语言实现模板
Skill 可根据项目语言自动生成规范接口代码(如 TypeScript/Next.js、Python/DRF、Go),并集成参数校验与标准响应。例如:
typescript
import { z } from "zod";
import { NextRequest, NextResponse } from "next/server";
const createUserSchema = z.object({
email: z.string().email(),
name: z.string().min(1).max(100),
});
export async function POST(req: NextRequest) {
const body = await req.json();
const parsed = createUserSchema.safeParse(body);
if (!parsed.success) {
return NextResponse.json({
error: {
code: "validation_error",
message: "Request validation failed",
details: parsed.error.issues.map(i => ({
field: i.path.join("."),
message: i.message,
code: i.code,
})),
},
}, { status: 422 });
}
// ...创建用户逻辑
return NextResponse.json(
{ data: user },
{
status: 201,
headers: { Location: `/api/v1/users/${user.id}` },
},
);
}Skill 也支持 Python(Django REST Framework)、Go(net/http)等主流后端,保证接口风格一致。
7. Skill Checklist 与自动化集成
每次新建或修改 API,Skill 会输出一份 checklist,自动检测:
- 路径命名是否规范
- 方法与状态码是否匹配
- 是否有分页、过滤、排序
- 错误响应格式是否统一
- 是否配置速率限制与鉴权
- 文档(如 OpenAPI)是否同步
Skill 可与 Everything Claude Code Hooks 实战 联动,在 PreToolUse/PostToolUse 阶段自动插入检测与修复。
输出示例
自动生成的接口代码片段(TypeScript/Next.js):
typescript
export async function POST(req: NextRequest) {
// ...参数校验
if (!parsed.success) {
return NextResponse.json({
error: {
code: "validation_error",
message: "Request validation failed",
details: [...],
},
}, { status: 422 });
}
// ...业务逻辑
return NextResponse.json({ data: user }, { status: 201, headers: { Location: `/api/v1/users/${user.id}` } });
}自动补全的 API 文档片段:
yaml
paths:
/api/v1/users:
post:
summary: Create a new user
responses:
'201':
description: Created
headers:
Location:
description: URL of the created user
schema:
type: string
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'常见配套 Agent 与 Skill 协作
- 与 Code Reviewer Agent 配合:自动审查 API 合约是否符合规范,发现并修正不一致之处,详见 Everything Claude Code Code Reviewer Agent。
- 与 Backend Patterns Skill 协同:结合 Node.js/Express/Next.js 等后端最佳实践,形成完整的 API 开发流水线,参见 Backend Patterns Skill。
- 与 Verification Loop Skill 联动:在端到端测试与自动化验证中,确保接口设计规范被实际遵守,详见 Verification Loop Skill。
FAQ
Q: API Design Skill 能自动修复已有接口的不规范问题吗?
A: 可以。Skill 支持自动检测并输出重构建议,部分场景可直接生成修正版代码或 OpenAPI 文档。
Q: Skill 支持哪些主流后端技术栈?
A: Skill 内置 TypeScript(Next.js/Express)、Python(Django/DRF)、Go(net/http)等模板,其他语言可扩展。
Q: 如何与团队协作统一接口风格?
A: Skill 输出的 checklist、合约和文档可作为团队规范,配合 Agent 自动审查,确保多人协作时风格一致。