用途:记录任何被机器调用或解析的契约——REST 与 RPC 端点、消息队列与主题、Webhook、CLI 命令、文件格式。旧代码库整理中的 api-reference.md 即是本技能的产物。不适用于内部代码接口(由代码自述)与配置参考(属 config-reference.md)。不评判契约设计好坏,只记录既有契约。
前提:需具备 technical-writing 技能(硬规则、真实性规则、风格)。
层级与归属:索引层放端点、消息、命令表;语义层以文字说明副作用、发布的事件、幂等性、重投递、退出行为与怪癖;形态层是 DTO 目录,每个 DTO 一张字段表;示例层每个 DTO 至多一个说明性示例。跨层重复即缺陷,需移回该层。
DTO 目录:只写线上类型而非语言类型,如 string (date, ISO 8601);每个 DTO 一行 Source 注明所属类或 schema 文件;Required 为三态(是、否、若某条件);说明省略与 null 的区别,替换式写入处必写;省略时服务端假定的默认值入 Default 列;枚举单独成表;约束用领域术语。
规格优先:存在 OpenAPI 或 AsyncAPI 规格(或由代码生成)时,字段表归规格所有,Markdown 只写规格无法表达的语义、副作用、顺序、省略与 null 之别,并链接规格;不得手工维护并行的字段表。无机器规格时才用上述目录,编写规格不在本技能范围内。
规则:对照序列化器而非类来验证——全局裁剪器、忽略 null 的映射器、自定义日期格式都会改变契约;不对称即语义;示例仅为说明,绝非规范,不得含表中没有的字段;错误以信封加状态表集中编目,端点只列出适用的条目,命令失败按退出码编目;穷尽性可核查,端点与 DTO 数量可记入覆盖率账本。
限制:是否应编写规格、契约设计是否合理均不在范围内;资料未提供具体收费、平台、价格等信息。