用途
该技能用于多仓库(multirepo)生态系统的需求分析。所谓多仓库生态系统,指一个父文件夹下包含多个同级子仓库,每个子仓库有自己的 CLAUDE.md 文档,父目录还有一个描述整体架构的 CLAUDE.md。
技能的目标是:接收一条针对该生态系统的自然语言需求,将其分解为三部分——需求涉及哪些仓库及原因、共享交互的显式跨仓库契约、每个受影响仓库各自的范围规格说明。
技能不自行运行 SDD(规约驱动开发),也不编写代码。它产出的是映射,供各仓库自己的 SDD 周期(sdd-new / sdd-propose)之后逐个仓库分别消费。
必需输入
- 父 CLAUDE.md —— 必需。没有它就无法了解各仓库各自负责什么。
- 每个受影响子仓库的 CLAUDE.md —— 对该仓库而言是必需的。若某仓库没有 CLAUDE.md,回退到其 README.md。
- 用户提供的自然语言需求 —— 必需。如果范围模糊(涉及哪些仓库、改什么),先询问一次再继续——不要默默猜测。
工作流程
- 完整阅读父 CLAUDE.md —— 了解架构、仓库表,以及已经确立的契约约定(例如生态系统中若已有约定,契约/规格应放在何处)。
- 阅读每个子仓库的 CLAUDE.md(或回退的 README.md),构建每个仓库负责什么、暴露什么的映射。
- 针对该需求,判断它涉及哪些仓库,并向用户解释理由——绝不默默假设。如果范围模糊,在写任何东西前先询问。
- 对需求隐含的每一个跨仓库交互(新增/变更的端点、事件、共享数据形状),在
<parent>/contracts/<requirement-slug>.md按下方契约格式写一个契约文件。如果需求完全包含在单个仓库内,跳过此步——单仓库需求不写契约文件,只写其规格。 - 对每个受影响的仓库,在
<parent>/specs/<requirement-slug>/<repo-name>.md按下方规格格式写一个仅限该仓库部分的规格文件。 - 如果某仓库的工作依赖另一仓库(例如 API 必须先定义契约,前端才能消费),在摘要中显式说明该顺序——有真实依赖时绝不暗示可并行。
- 向用户呈现摘要(下方输出格式)。不要运行 sdd-new 或任何 SDD 阶段——那是在之后按仓库单独进行的。
契约格式(contracts/<requirement-slug>.md)
# Contrato: {Nombre del requerimiento}
## Repos involucrados
- {repo-a} — {qué expone/provee}
- {repo-b} — {qué consume}
## Interacción
{Descripción del endpoint/evento/dato compartido: forma, dirección, quién es dueño}
## Notas
{Cualquier detalle que ambos lados necesiten conocer y que no vive en ningún repo individual}
规格格式(specs/<requirement-slug>/<repo-name>.md)
# Spec: {Nombre del requerimiento} — {repo-name}
## Qué hay que construir en este repo
{Descripción acotada SOLO a la parte de este repo}
## Contrato relacionado
{Link a contracts/<requirement-slug>.md si existe, o "N/A" si el requerimiento no cruza repos}
## Listo para
`sdd-new` / `sdd-propose` en este repo, usando esta spec como input.
输出格式(最终摘要)
# Requerimiento: {Nombre}
| Repo | Toca | Depende de | Spec |
|---|---|---|---|
| {repo-a} | Sí — {por qué} | — | specs/{slug}/{repo-a}.md |
| {repo-b} | Sí — {por qué} | {repo-a} | specs/{slug}/{repo-b}.md |
Contrato: contracts/{slug}.md (o "N/A" si no cruza repos)
## Orden sugerido
1. {repo-a} — define el contrato primero
2. {repo-b} — consume el contrato ya definido
质量门禁
返回前静默检查:
- 每个受影响的仓库都能追溯到需求中或某仓库 CLAUDE.md 中明确的内容——没有任何虚构。
- 没有说明理由的仓库绝不标记为“受影响”。
- 如果两个或以上仓库共享交互,则必须存在契约文件——任何仓库规格都不得默默假设一个未写在任何地方的共享契约。
- 当某仓库规格引用了另一仓库必须先定义的内容时,依赖顺序必须显式说明。