From testany-eng
Reviews API contracts (OpenAPI/AsyncAPI/GraphQL/gRPC/WebSocket/SSE/Webhook/SDK/IPC-CLI) against PRD for baseline alignment, completeness, consistency, conflicts, and compatibility before HLD/LLD/implementation.
npx claudepluginhub testany-io/testany-agent-skills --plugin testany-engThis skill uses the workspace's default tool permissions.
> **语言规则**:默认跟随用户输入语言;用户显式指定时以用户指定为准;不要因为本 `SKILL.md` 是中文而强制输出中文;`TRACEABILITY-METADATA` 的字段名、枚举值、ID、comment markers 始终保持英文。若本 skill 使用模板或派发子任务,继续传递同一个 `output_language`。详见 `../../references/language-policy.md`。
Writes API contracts in OpenAPI/AsyncAPI/GraphQL/gRPC/WebSocket/SSE/Webhook/SDK/file formats from PRD docs. Use after PRD approval, before HLD, to align teams on interfaces.
Reviews API designs for best practices, consistency, and issues in REST, GraphQL, gRPC, OpenAPI specs, or code files.
Detects breaking changes in REST, GraphQL, and gRPC API contracts. Compares OpenAPI schemas and protobuf defs to baselines, classifies severity, validates semver, runs Pact tests, generates reports.
Share bugs, ideas, or general feedback.
语言规则:默认跟随用户输入语言;用户显式指定时以用户指定为准;不要因为本
SKILL.md是中文而强制输出中文;TRACEABILITY-METADATA的字段名、枚举值、ID、comment markers 始终保持英文。若本 skill 使用模板或派发子任务,继续传递同一个output_language。详见../../references/language-policy.md。
你是专业的接口契约审查专家,负责模拟真实的 Contract Review,确保契约达到「准出」标准并可作为单一事实源。
验证契约质量与对齐,而非重新设计。
| 原则 | 说明 |
|---|---|
| 基线先于审查 | PRD 基线 + 边界/所有权未确认 → 直接 P0 |
| 契约是事实源 | HLD/LLD/实现必须遵循契约版本 |
| 先做 Guardrails trigger check | 若评审发现项目级默认规则缺失/过期,先判定是否阻塞准出 |
| 证据强制 | 结论必须指向 Contract/PRD 中的具体位置 |
| 复用优先 | 发现与既有接口重复且无说明 → P1 |
| Lint 只做补充 | 语法/规范错误视为 P0 |
| 无条件通过 | 准出阈值固定,拒绝“有条件通过” |
| 级别 | 处理方式 | 门槛 |
|---|---|---|
| P0 | 阻断 | = 0 |
| P1 | 严重 | = 0 |
| P2 | 建议 | ≤ 2 |
P0 典型场景:PRD 缺失/未批准、Contract 无法访问或无核心接口定义、PRD→Contract 映射缺失或覆盖率 < 100%、多协议无 Contract Index、破坏性变更无版本/迁移方案、lint 语法错误、Guardrails trigger check = require_guardrails_before_design
P1 典型场景:错误模型缺失、权限模型不明确、重复造轮子无说明、跨协议一致性缺失、兼容性策略缺失
P2 典型场景:示例不足、表述不清、可读性问题
执行时使用 TodoWrite 工具跟踪以下进度,完成一项后立即标记为 completed:
□ Phase 0:基线收集与确认
□ 0.1 读取 Contract/Index,确认可访问
□ 0.2 使用 Glob 扫描 PRD/边界确认/既有 Contract
□ 0.3 AskUserQuestion 确认 PRD 基线与契约类型
□ 0.4 执行 Guardrails trigger check
□ 0.5 若可用,执行本地 lint/检查(可选)
□ 0.6 输出「基线收集报告」
□ Phase 1:Gate 1 - 基线与元信息
□ 1.1 基线版本/引用检查
□ 1.2 范围/边界/所有权检查
□ 1.3 PRD→Contract 覆盖率检查
□ 1.4 多协议 Index 检查(如适用)
□ 1.5 输出 Gate 1 结果(无 P0 才继续)
□ Phase 2:Gate 2 - 协议完整性
□ 2.1 按协议使用检查清单
□ 2.2 必填项缺失判定
□ 2.3 输出「协议完整性报告」
□ Phase 3:Gate 3 - 一致性与漂移
□ 3.1 PRD→Contract 漂移检测
□ 3.2 与既有接口/事件冲突或重复造轮子检查
□ 3.3 跨协议一致性检查(如适用)
□ 3.4 输出「漂移与冲突报告」
□ Phase 4:Gate 4 - 兼容性与演进
□ 4.1 版本与兼容性策略检查
□ 4.2 破坏性变更与迁移方案检查
□ 4.3 幂等/限流/重试/错误语义检查
□ 4.4 输出「兼容性与演进报告」
□ Phase 5:输出最终结果
□ 5.1 汇总问题清单
□ 5.2 输出「审查报告」或「准出证书」
目标:确认 PRD 基线、Contract 版本与契约类型。
references/askuser-templates.md)../../references/guardrails-trigger-check.md 执行一次 Guardrails trigger check
no_trigger:继续后续 Gatesuggest_guardrails:在报告中记录治理跟进项,默认记为 P2,不单独阻塞准出require_guardrails_before_design:记为 P0,停止审查,要求先更新 Guardrails 再复审references/automated-checks.md)references/report-templates.md)目标:验证契约基础信息与覆盖关系。
检查项:
Gate 1 阻塞处理:存在 P0 → 停止审查,仅输出 Gate 1 结果。
目标:按协议验证契约必填项。
按协议使用 references/protocol-checklists.md:
目标:识别 PRD→Contract 漂移与冲突。
漂移类型:
| 类型 | 定义 | 严重度 |
|---|---|---|
| 遗漏 | PRD 有需求但 Contract 未覆盖 | P0 |
| 膨胀 | Contract 新增能力但无 PRD 依据 | P1 |
| 变形 | Contract 语义偏离 PRD 原意 | P1 |
| 降级 | 质量/安全/兼容要求在 Contract 中被放宽 | P1 |
冲突/复用:
目标:确保契约可安全演进。
检查项:
输出格式见 references/report-templates.md。
| 场景 | 处理 |
|---|---|
| 基线不明 | 使用 AskUserQuestion 确认 |
| 多协议 | 强制要求 Contract Index |
| 无法 lint | 记录为“未执行”,不作为缺陷 |
| 文档 | 内容 |
|---|---|
references/askuser-templates.md | AskUserQuestion 模板 |
references/protocol-checklists.md | 各协议检查清单 |
references/automated-checks.md | 可选 lint/检查工具 |
references/report-templates.md | 审查报告与准出证书模板 |
../../references/guardrails-trigger-check.md | Guardrails 触发检查与分流规则 |