Skip to content

项目级 CLAUDE 设计说明

本文解释 ../../examples/project-CLAUDE.md 这份主模板为什么这样设计,以及哪些部分应该按项目事实替换,哪些结构建议保留。

这份文档适合两类人:

  • 第一次把 Team Skills Platform 接入项目的团队
  • 已经看过主模板,但还不理解每一段存在意义的人

如果你的目标是直接复制一个可用模板,回到 ../../examples/project-CLAUDE.md

如何使用这份说明

推荐顺序:

  1. 先打开 ../../examples/project-CLAUDE.md
  2. 再对照本文逐段理解为什么这样写
  3. 最后按 project-onboarding.md 把项目事实替换进去

本文只解释设计意图,不提供第二份可复制模板,避免 examples 目录里出现两份长期漂移的近似文件。

1. 标题和第一句

模板用 AI Working Agreement 这类标题,是为了把它定位成“项目级默认工作约定”,而不是普通背景说明文档。

建议保留:

  • 项目名或产品名
  • “默认采用 Team Skills Platform 工作模式”这类总开关句子

建议替换:

  • 具体项目名称
  • 如果你的团队不是所有任务都按这套模式执行,可以把“默认采用”改成“复杂任务默认采用”

2. 项目背景

这一段的目标不是重写 PRD,而是给模型最少但关键的项目事实,让它知道:

  • 你是什么类型的系统
  • 前后端和数据边界在哪里
  • 哪些外部依赖经常构成约束
  • 哪些文档应该优先被读取

为什么必须写:

  • 写技术栈,可以减少模型凭空猜框架
  • 写架构边界,可以减少角色越界和错误改动范围
  • 写关键文档,可以让后续规划优先回到仓库已有事实源

不要在这里堆太细的目录或模块清单。项目背景应该短,但要能定边界。

3. 默认角色链路

这一段决定了任务默认由谁发起、谁拆解、谁实现、谁验收、谁收口。对混合项目来说,这一段尤其重要,因为没有角色约束时,模型很容易退化成“一个角色什么都做”。

为什么主模板这样排:

  • tech-lead 放在最前面,确保主链有明确收口点
  • product-manager 单列,避免需求澄清被隐式吞掉
  • frontend-engineerbackend-engineer 分开,减少跨端责任混淆
  • qa-engineerdevops-engineer 保留在链路里,避免测试和发布被遗漏

如果项目很小,可以删掉少数角色,但不要省掉最终收口角色。

4. 默认命令流

这一段是主链骨架。它告诉模型:什么时候先 intake,什么时候应该交接,什么时候进入 review 和 release。

为什么主模板保留完整主链:

  • /team-intake 负责锁定目标和边界
  • /team-plan 负责拆任务和责任
  • /team-execute 负责真正实施
  • /handoff 负责把多角色结果整理成结构化交接
  • /team-review/team-release 负责质量与上线收口

如果这里不写清楚,模型更容易直接跳到实现或 review,导致上下文断层。

5. specialist 使用规则

这段不是在鼓励多用 specialist,而是在给 specialist 设边界。

为什么要单列:

  • 先写使用时机,再写回落要求,能同时约束效率和责任
  • /code-review 放在联调前,是为了尽早暴露问题
  • /verify 留给最终验证,是为了避免在早期滥用它代替规划或评审
  • 最后一条“必须回落到主链”是整段最重要的规则

团队第一次接入时,最常见的错误就是 specialist 输出很多,但没有人负责最终决定。

6. 项目约束

这一段应该只写“不能省”的门禁,而不是把所有最佳实践都塞进来。

为什么主模板这么收敛:

  • 构建和校验脚本是这个仓库自己的事实约束,必须明确
  • 前端质量门禁单列,是因为混合项目里前端最容易被压缩成只改页面
  • 接口和数据库约束单列,是因为后端变更的破坏半径最大
  • custom overlay 启用规则单列,是为了避免默认污染所有任务

如果你发现这一段越来越长,说明你把操作细节写进了项目约束。那部分应该放到 runbook,而不是项目级 CLAUDE.md

7. 默认技能装配

这一段的作用是告诉模型“默认带哪些工具箱”,不是列出所有存在的 skills。

为什么主模板这样配:

  • shared skills 作为默认底座,覆盖需求、方案、合同和测试
  • 前端技能只在混合项目里作为常见默认,而不是所有项目都启用
  • 安全评审、验证收口和发布治理属于高频专项能力,但更适合直接通过命令与 runbook 触发,而不是继续保留薄 skill 名称
  • custom overlay 默认关闭,是为了保持上下文干净

项目首次接入时,技能装配宁可偏少,也不要一上来全开。

8. 默认交付物

这一段经常被忽略,但实际很有价值。它会直接影响模型输出的结构质量。

为什么要写:

  • 它把“每一步应该产出什么”说清楚了
  • 它让 /handoff/team-review 不会只收到模糊总结
  • 它能显著减少“做了很多,但没有结构化结果”的情况

如果团队经常抱怨 AI 输出不稳定,先看是不是没有把交付物结构写清楚。

9. 首次调用模板

这里不是为了罗列所有命令,而是为了降低第一次正式使用时的摩擦。

为什么主模板保留这三段:

  • 第一条 /team-intake 模板必须写目标、范围、不做、约束和输出,这五项能显著提高结果质量
  • 第二条 /team-plan 模板说明了要拆哪些角色,防止 plan 只有一层任务列表
  • 第三条 /handoff 模板明确交接字段,防止交付阶段只剩一句“已完成”

如果你的团队刚接入,建议保留这三段,不要急着删掉。

哪些内容应该替换

必须替换:

  • 项目名和产品类型
  • 技术栈与架构边界
  • 项目约束中的真实门禁
  • 首次调用模板中的业务示例

按场景替换:

  • 默认角色链路
  • 默认技能装配
  • 默认命令流中是否保留 /team-release

尽量保留结构:

  • 项目背景
  • 默认角色链路
  • 默认命令流
  • specialist 使用规则
  • 项目约束
  • 默认交付物

什么时候不该用主模板

下面两类项目更适合直接看差异指南:

如果你只是配置个人偏好,而不是配置项目,改看 ../../examples/user-CLAUDE.md

下一步

  1. 先回到 ../../examples/project-CLAUDE.md 复制主模板。
  2. 然后按 project-onboarding.md 完成项目接入。
  3. 最后按 first-team-workflow-walkthrough.md 跑一次完整主链演练。

Released under the MIT License.