api-contract-design
Design or revise an API contract before implementation. Use when defining an HTTP, RPC, or event interface, its fields, errors, or compatibility rules; not for merely implementing an already agreed co
SKILL.md.claude/skills/api-contract-design/SKILL.md
GitHub接口契约设计
把需求转成调用方和提供方都能实现、测试与演进的接口约定。先识别项目现用的协议、命名、错误模型与文档格式;没有既定约定且选择会改变交付结果时,向用户确认。不要默认所有接口都是 REST。
设计流程
- 确认边界。 明确谁调用、谁提供、业务动作、成功条件、部署或版本约束,以及新接口还是修改已有接口。读取相关既有接口、消费者和规范,列出尚未确定且影响契约的问题。
- 写清消息与语义。 按所用协议定义操作名或路径、输入输出字段、类型、必填/可空、默认值、约束、单位与示例;列出成功、校验失败、业务拒绝、权限失败和系统故障中适用的结果与错误。分页、排序、幂等、超时和重试只在相关场景定义,不能套模板硬加。
- 核对兼容性。 对已有调用方检查字段增删、默认值、错误码、枚举扩展、序列化与行为语义是否破坏兼容;需要迁移时给出双方的实施顺序和过渡期。把尚未决定的技术或业务选择作为待决项,而不是写成既定事实。
- 交付可验证的契约。 使用仓库已有的 OpenAPI、Proto、AsyncAPI、Markdown 或其他格式;包含正常及边界示例,并把关键规则映射到契约测试或验收用例。用户只要求设计时,不修改业务实现。
最后说明依据、待决项、兼容性结论和验证办法。不要虚构已有消费者或声称未运行的契约测试已通过。
与相邻 skill 的边界
- 实现已确定的接口或完整功能:
code-vibe-workflow。 - 从现有契约编写单元或进程内接口测试:
code-testing。 - 讨论类和对象的设计模式:
design-pattern-advisor。 - 审查现有实现缺陷:
code-review-deep-zh。