用 Claude Code 三条斜杠命令,把需求文档直接变成合入代码

2026-05-22 24 预计阅读时间:1 分钟
来源:my.oschina.net AI 摘要 原文链接

免责声明:本文为 AI 摘要整理,建议结合原文阅读。摘要可能省略上下文、版本差异或边界条件,不作为官方说明。

预计阅读时间:10 分钟

AI 写代码已经不是新闻,但大多数团队的真实体验是:AI 能写片段,却管不了流程。需求拆解、任务分派、编码实现、测试验证、代码合入——每个环节都得人手动衔接,AI 只在"写函数"那一步出场。Claude Code 的 /prd/goal/after-goal 三条命令试图打破这个局面:让 AI 从需求文档出发,一路驱动到代码合入,人只做关键决策点的审批。

三条命令各自干什么

整个流程的核心是三个阶段,每个阶段对应一条斜杠命令:

  • /prd:读取需求描述(自然语言文档、Issue、甚至一段对话),拆解为结构化的产品需求文档,输出功能点、边界条件、验收标准。这一步把模糊的"我想做一个 XX"变成可执行的任务清单。
  • /goal:基于 PRD 输出,生成具体的开发目标——包括要改哪些文件、新增哪些模块、测试怎么写。它不是直接写代码,而是先规划"做什么",再逐步执行。
  • /after-goal:目标执行完毕后的收尾环节——运行测试、检查 lint、确认变更范围、生成 commit message,最终完成代码合入。

三条命令不是独立工具,而是串联的流水线。前一条的输出是后一条的输入,人可以在每个节点介入修改,也可以选择全自动放行。

从一条需求到代码合入:完整走一遍

用一个真实场景说明:假设你的项目收到一条需求——"给用户列表页增加批量导出 CSV 功能"。

第一步:/prd 拆解需求

在 Claude Code 终端中输入:

# 在项目根目录下启动 Claude Code
claude

# 进入交互后,输入斜杠命令
/prd 给用户列表页增加批量导出CSV功能,支持勾选多条记录后点击导出按钮,导出文件包含用户名、邮箱、注册时间三列

Claude Code 会读取项目上下文(已有代码结构、路由、模型定义),输出一份结构化 PRD,大致包含:

  • 功能点:勾选交互、导出按钮、CSV 生成逻辑、文件命名规则
  • 边界条件:未勾选时按钮禁用、超过 1000 条时的分页导出策略、空数据集的提示
  • 验收标准:导出文件可用 Excel 正常打开、列顺序与需求一致、文件名含导出时间戳

你可以审阅这份 PRD,补充遗漏点,确认后进入下一阶段。

第二步:/goal 规划并执行开发目标

/goal

Claude Code 会基于刚才确认的 PRD,生成开发目标列表,然后逐步执行。典型输出类似:

Goal 1:  UserList 组件中增加勾选逻辑和导出按钮
  - 修改 src/components/UserList.tsx
  - 新增 checkbox 列和 export 按钮

Goal 2: 实现 CSV 生成服务
  - 新增 src/services/csvExport.ts
  - 处理数据转换和 Blob 生成

Goal 3: 编写导出功能的单元测试
  - 新增 src/services/csvExport.test.ts
  - 覆盖空数据、大数据量、列顺序验证

每完成一个 Goal,Claude Code 会展示变更摘要,你可以逐条确认或要求修改。

第三步:/after-goal 收尾合入

/after-goal

这一步自动执行:

  • 运行项目测试套件,确认无回归
  • 检查 lint 和类型检查
  • 生成 commit message(基于 PRD 和实际变更)
  • 执行 git commit,可选自动 push

实际落地:项目配置与注意事项

要让三条命令跑得顺畅,项目本身需要具备几个前提条件。下面是一份可直接改造的配置清单。

项目基础配置示例

假设是一个 TypeScript + React 项目,确保以下文件存在且配置合理:

// package.json — 关键字段
{
  "scripts": {
    "test": "vitest run",
    "lint": "eslint src/",
    "typecheck": "tsc --noEmit",
    "build": "vite build"
  }
}
# .claude/settings.yml — Claude Code 项目级配置
# 声明测试命令和代码规范,让 /after-goal 能自动跑检查
commands:
  test: "npm run test"
  lint: "npm run lint"
  typecheck: "npm run typecheck"

# 限制 AI 的文件操作范围,防止误改基础设施代码
file_restrictions:
  allow:
    - "src/**"
    - "tests/**"
  deny:
    - "infra/**"
    - ".github/workflows/**"
# .claude/PRD_TEMPLATE.md — 自定义 PRD 输出格式
## 功能概述
[一句话描述]

## 功能点清单
| # | 功能点 | 优先级 | 备注 |
|---|--------|--------|------|

## 边界条件
- [列出异常场景和处理方式]

## 验收标准
- [列出可验证的客观标准]

## 不包含
- [明确排除的范围,防止 AI 过度实现]

这份模板的作用是让 /prd 的输出符合你团队的评审习惯,而不是 AI 自由发挥的格式。"不包含"这一节尤其重要——AI 容易过度解读需求,比如你只要求导出 CSV,它可能顺手加上 PDF 导出和邮件发送,明确排除能省掉大量返工。

Git 工作流建议

# 建议在独立分支上跑全流程,而不是直接在 main 上操作
git checkout -b feat/user-csv-export

# /after-goal 执行完后,人工做一次最终审查再合入
git log --oneline -5          # 查看 AI 生成的 commit
git diff main                 # 确认变更范围没有越界
git merge main                # 先同步主分支,解决可能的冲突

# 合入方式按团队规范选择
git checkout main
git merge feat/user-csv-export
# 或者走 PR 流程:git push origin feat/user-csv-export

人的角色变了,但没消失

三条命令把"写代码"这件事大幅自动化了,但几个关键节点仍然需要人:

  • PRD 审阅:AI 拆解的需求可能遗漏业务约束(比如合规要求、权限限制),这一步不能跳过。
  • Goal 确认:AI 规划的文件变更范围可能超出预期,逐条过一遍比事后回滚成本低得多。
  • 合入前 diff 审查/after-goal 能跑测试和 lint,但它不会判断"这个改动是否影响了另一个团队的接口契约"。

实际使用中的另一个风险是上下文窗口限制:大型项目的全局结构可能超出 AI 的理解范围,导致 /goal 规划时遗漏跨模块依赖。应对方式是在 .claude/ 目录下维护一份项目架构摘要文件,让 AI 每次启动时先读取。

上手清单

如果你打算在团队中试跑这套流程,建议按以下顺序推进:

  1. 选一个小需求做首次全流程测试——比如加一个新字段、修一个边界条件,不要拿核心模块开刀。
  2. 配置 .claude/settings.yml——声明测试命令、文件限制,防止 AI 乱改。
  3. 定制 PRD 模板——加上"不包含"章节和团队特有的验收标准格式。
  4. 在独立分支上运行——每条命令执行后都做一次人工审阅,积累对 AI 输出风格的熟悉度。
  5. 逐步放宽自动化程度——前两三次全程手动确认,确认输出稳定后,可以让 /goal/after-goal 自动衔接,人只审阅最终 diff。

三条命令不会让 AI 替代工程师的判断力,但它确实把"从需求到代码"的机械衔接工作压缩到了几分钟。值得花一个下午试一次,哪怕只是在一个边缘功能上跑通全流程——你会对"AI 驱动研发"的边界有更具体的认识。


相关推荐