SuperAPI AI 工具集

skill-composition-standards

编程与开发

查看项目

更新于 10-16 05:40

技能介绍

用途

本技能定义让仓库中每个技能都能与其他技能干净组合的规则。它同时处理两个问题:一个技能承诺产出什么,以及它被允许期望什么。它是使仓库能够作为系统组合、而非一堆链接文档的“执行脊柱”。

适用场景

  • 创建新技能——在 skill-writing 之前加载本技能。
  • 将旧技能对照当前标准进行规范化。
  • 审查技能 PR 是否可接受。
  • 审计仓库是否存在漂移。
  • 引入新的技能类别(先在此定义其契约)。

两项标准

标准 1——内部风格模板(规范化)

每个技能,无论新旧,都必须符合以下形态,这就是“规范化”的含义。

必需 frontmatter:

---
name: <skill-slug>
description: Use when <trigger scenarios> — <what this skill covers>, <what it does not cover>. <One-line differentiator against neighbouring skills>.
---

description 规则:以 “Use when” 开头(触发式措辞);列出应触发加载的场景;点名相邻技能以区分;单行、约 350 字符以内。

必需章节(按顺序):标题、开篇段落、Prerequisites、When this skill applies(3–7 条具体场景)、Inputs、Outputs、Non-negotiables(非工程技能可选)、Decision rules(至少一个带阈值的决策表/阶梯)、Core content、Anti-patterns(5 条以上具体“不要这样做”,每条附修复方式)、Read next、References。

规则:SKILL.md ≤ 500 行,超出部分放入 references/;每个代码片段围栏带语言标签;除非用户明确要求,否则不使用 emoji;使用英式英语;规则用祈使语气,解释用陈述语气。

深度结构:任何超过单次阅读的内容必须抽取到 references/<topic>.md,每个引用文件 150–400 行,并遵循同样的无 emoji、英式英语、语言标签围栏规则。

交叉链接:SKILL.md 的 “Read next” 点名相邻技能;每个引用文件顶部链接回其父 SKILL.md;每个技能在 description 中声明其相邻区分点。

标准 2——输入/输出契约(组合)

每个技能声明其产出(outputs)和消费(inputs)。下游技能便可依赖这些工件存在且格式良好。基线技能产出专家技能消费的工件集,专家技能产出平台技能消费的更窄交付物。除 Inputs 和 Outputs 外,专家技能还声明其工件贡献于七个固定验证类别中的哪一个,该第三契约位于 validation-contract。

每个 SKILL.md 都有 Inputs 和 Outputs 表格:

## Inputs

| Artifact | Produced by | Required? | Why |
|---|---|---|---|
| Context map | `system-architecture-design` | required | service/module boundaries |
| Access pattern list | `database-design-engineering` | required | shapes the API contract |
| Threat model | `vibe-security-skill` | optional | informs auth rules |

## Outputs

| Artifact | Consumed by | Template |
|---|---|---|
| OpenAPI 3 spec | frontend, mobile, SDK skills | `skill-composition-standards/references/openapi-contract.md` |
| Error model | frontend, mobile | `skill-composition-standards/references/error-model.md` |
| Idempotency map | `reliability-engineering` | inline |

若技能不依赖任何上游工件,其 Inputs 章节写明:

## Inputs

None. This skill is a foundational baseline.

标准工件类型

仓库定义以下标准工件,每个在 references/ 中有模板:Context map、ADR set、Critical-flow table、Entity model、Access-pattern list、Migration plan、OpenAPI contract、Error model、Threat model、SLOs + alert plan、Release plan、Rollback plan、Runbook、Test plan + evidence、Delivery Definition of Done。产出某工件的技能必须按模板指定格式产出,下游技能消费模板格式版本。Delivery Definition of Done 是终端工件,将发布时输出打包为可检查的交接。

契约门(用于审查)

审查技能 PR 时验证:Outputs 是否声明产出工件;Inputs 是否声明消费内容;输出工件模板是否从 skill-composition-standards/references/ 链接;技能是否按模板格式而非自由形式产出。任一为否则 PR 未通过契约门。

基线输出契约(按基线技能类型)

  • world-class-engineering:release gate checklist、production-readiness rubric。
  • system-architecture-design:context map + critical-flow table + ADR set + dependency diagram notes + failure mode list。
  • database-design-engineering:entity model + access-pattern list + index plan + migration plan + retention + tenancy notes。
  • api-design-first:OpenAPI contract + auth model + error model + idempotency keys + observability notes。
  • observability-monitoring:SLOs + alert rules + dashboards + runbook-per-service。
  • reliability-engineering:retry/timeout matrix + degradation plan + incident playbook + postmortem template。
  • deployment-release-engineering:release plan + rollback plan + migration choreography + post-deploy verification steps。
  • advanced-testing-strategy:test plan + test evidence bundle + risk-based coverage map。
  • vibe-security-skill:threat model + abuse case list + auth/authz matrix + secret handling plan。

完整列表与 schema 见 references/baseline-contract-register.md。

规范化工作流(升级旧技能)

  1. 一次性阅读当前 SKILL.md 及所有引用。
  2. 对照 20 点清单评分,记录差距。
  3. 先声明契约——编写 Inputs 和 Outputs 章节,决定应产出的工件类型并指向模板。
  4. 将 SKILL.md 重构为必需章节顺序,保留所有有价值内容。
  5. 将深度内容抽取到 references。
  6. 添加决策规则——若只描述“做什么”而无“何时某选项胜出”,添加决策表。
  7. 添加反模式——至少 5 个具体前后对比示例。
  8. 添加 Read next——点名 3–5 个相邻技能。
  9. 清理文字——无 emoji、英式英语、语言标签代码围栏。
  10. 运行验证器:python -X utf8 skill-writing/scripts/quick_validate.py <skill>。

完整流程与示例见 references/normalisation-playbook.md。

执行方式

本技能机制上为建议性,惯例上为强制性。目前没有 CI 机器人阻止未通过契约门的技能合并。执行依靠:从 world-class-engineering 和 skill-writing 引用本技能;审查中使用 20 点清单;CI 中运行 quick_validate.py;每周规范化一个旧技能直至仓库规范化。未来工作:CI 钩子解析 Inputs/Outputs 表,当声称的上游工件未被任何上游技能声明时发出警告。

反模式

  • 技能没有 Outputs 声明(每个技能都产出某些东西)。
  • 技能声称的输入没有任何上游技能产出——该输入实际不存在。
  • 输出用散文描述而非指向模板——失去可组合性。
  • “References” 章节只是项目符号列表而文件不存在。
  • 决策规则写成散文段落而非表格/阶梯。
  • 反模式章节列出原则(“避免紧耦合”)而非具体前后示例。
  • 相邻技能未在任何地方提及,导致重叠模糊。
  • 技能超过 500 行且无 references/ 目录。

延伸阅读

  • skill-writing——编写流程、验证器、frontmatter 规则。
  • world-class-engineering——引用本技能的仓库级质量标准。
  • advanced-testing-strategy、observability-monitoring、reliability-engineering、deployment-release-engineering——其契约锚定仓库的可运维性基线技能。

引用文件

  • references/house-style-checklist.md——20 点审查清单
  • references/normalisation-playbook.md——如何升级旧技能
  • references/baseline-contract-register.md——按基线技能类型的完整工件契约登记
  • references/context-map-template.md
  • references/adr-template.md
  • references/critical-flow-template.md
  • references/openapi-contract.md
  • references/error-model.md
  • references/threat-model-template.md
  • references/slo-template.md
  • references/release-plan-template.md
  • references/rollback-plan-template.md
  • references/runbook-template.md
  • references/test-plan-template.md