在我使用使用 Claude Code 过程中,借鉴 Kiro,我逐渐习惯让 Claude Code 编写一个产品设计书放在 docs 文件夹下, 然后我会仔细地审查这一份产品设计文档, 修改其中的不明确的点, 或者是说 AI 理解错误的内容, 然后再让 Claude Code 通过这一个产品设计书来实现完整的代码。然而今天我看到的一个开源项目 Claude Code PM ,则是将我上面实现的这一套文档驱动的开发流程转变成了更专业的,更符合团队业务需求的流程,并且引入了敏捷开发,项目管理中的重要概念,及时是一个人的项目,通过 Claude Code PM 的流程约束,我发现 Claude Code 的智能程度也提升了不少。
并且项目通过和 GitHub Actions 进行集成,主要使用 GitHub Issues 以及 GitHub Actions 来管理项目整体的进度,通过任务的拆分使得我们可以并行地执行多个 Claude Code 实例,大大提升了 Claude Code 的使用效率。
痛点
在使用 Cloud Code 的过程当中,我们经常会遇到这样的问题
- 会话与会话之间的上下文消失, 这使得我们得不断提醒 AI 去重新查看相关文件
- 当多个 AI agent 开发同一段代码时, 修改同一段代码,并行工作可能会产生冲突
- 在工作当中,有一些决策都是口头规范,并没有约束在书面上,需求也会随之发生变化,AI 无法及时地了解。
- 追踪进度难,除非是 AI 执行到结束,否则我们无法看到执行的进度
面对上面的困境,Claude Code PM 将软件开发拆分成 PRD 文档、Epic 规划、任务拆解、GitHub 同步和并行执行五个阶段。通过 GitHub issues 和 Git worktree,通过 AI Agent 的并行工作,实现了从需求到代码的全链路可追踪。
我们可以通过以下的四个命令来了解一下整个交互执行过程,主要分成如下的几个步骤:
# Create a comprehensive PRD through guided brainstorming
/pm:prd-new memory-system
# Transform PRD into a technical epic with task breakdown
/pm:prd-parse memory-system
# Push to GitHub and start parallel execution
/pm:epic-oneshot memory-system
/pm:issue-start 1235
为什么要使用 Github?
大多数的 Claude Code 的工作流程都是独立运行的, 单个开发人员在其本地环境中与 AI 协作, 这带来了一个根本性的问题, AI 辅助开发变成了一个孤岛。 我们可以通过 GitHub Issues 作为我们的数据库, 这使得我们可以产生真正的团队协作。
- 多个 Claude 实例可以同时处理同一个项目。
- 开发人员可以通过评论实时查看进度。
- 团队的成员可以随时参与,上下文始终可见。
- 代码审查通过后,PR 自动发生。
虽然使用了 Vibe Coding,但严格遵守五阶段的纪律:
- 第一阶段:头脑风暴,在这个阶段,明确地梳理模糊的地方,定义好功能点。
- 第二阶段:文档,编写规范的文档,避免任何模糊的边界条件。
- 第三阶段:计划,具有明确的技术决策,通过专业的架构师角色完成。
- 第四阶段:执行,开始构建指定的内容。
- 第五阶段:追踪,每一步透明。
在每一个阶段当中,Claude Code PM 都设定了快捷命令。
RPD
PRD 是 Product Requirements Document 产品需求文档,是软件开发生命周期中的核心文档之一。
PRD 是一份全面的、结构化的文档,概述了正在开发的产品的目标、特性、功能和约束条件。它起到了以下的关键作用:
- 项目蓝图,为业务和技术团队提供指导,帮助他们打造、发布或推销产品。
- 沟通桥梁,确保所有相关者在产品的景愿和执行计划上保持一致。
- 规范化工具,将商业需求文档和市场需求文档用更加专业的语言进行描述。
PRD 核心组成部分包括:
- 问题陈述 明确产品要解决的问题或机会。
- 目标和目的 制定可衡量、可实现的短期和长期目标。
- 用户故事和用例 定义目标用户需求,以及用户与产品的交互方式。
- 功能需求 描述产品的具体功能和特性。
- 性能要求 定义产品的性能标准和约束条件。
Epic
Epic 是敏捷开发和项目管理中的一个重要概念,指大型功能需求和用户故事。
Epic 的定义是指一个非常大的功能特性,具有以下特征:
- 规模比较大,通常需要分解成更多的 User Story 才能实现。
- 跨迭代,一个 Epic 往往需要多个开发迭代 Sprint 才能完成。
- 业务价值高,通常对应重要的业务目标和用户价值。
在敏捷开发中,按照颗粒度从大到小分成四个层级。
- Epic 使用:最大颗粒度的需求,代表重要的产品功能。
- Feature 特性:Epic 的细分,具体的功能模块。
- Story 用户故事:可在一个迭代中完成的具体需求。
- Task:Story 的具体实现,具体的开发任务。
在 Claude Code PM 系统当中,PRD 和 Epic 形成了清晰的转换关系。在 PRD 创建阶段,可以通过深度的头脑风暴产生全面的产品需求。稳打在 Epic 规划阶段,可以将 PRD 转化为技术实施的计划,形成 Epic 任务分解。
在 Epic 任务分解阶段,可以将 Epic 进一步拆分为具体的开发任务。从价值来看,在 PRD 轻型的转换关系中,可以将 Epic 轻型的转换关系中,PRD 文档主要服务于产品规划,从业务角度描述要做什么和为什么做;Epic 主要服务于技术实施,从工程角度的规划如何做和分几步做。
这种文档体系确保了从业务需求到技术实现的完整可追溯性,避免了传统开发中的模糊驱动编程的问题,让每一行代码都能追溯到明确的规范说明。
项目结构
.claude/
├── CLAUDE.md # 全局指令与项目元信息
├── prds/ # 产品需求文档 (PRD)
├── epics/ # 实施规划与任务拆解
│ └── [epic-name]/
│ ├── epic.md # 技术方案与架构决策
│ ├── [task].md # 具体任务文件
│ └── updates/ # 子 Agent 进度更新
├── agents/ # 专用 AI Agent 执行环境
├── commands/ # pm: 系统命令定义
└── context/ # 上下文与规则文件
- PRD 阶段:通过
/pm:prd-new feature-name
,生成结构化需求文档,涵盖愿景、用户故事、验收标准等。 - 规划阶段:
/pm:prd-parse feature-name
自动将 PRD 转化为技术实施计划 (epic.md),明确架构决策和技术栈选择。 - 任务拆解:
/pm:epic-decompose feature-name
将 epic 拆分为可验收的子任务,并标注并行执行可能性。 - GitHub 同步:
/pm:epic-oneshot feature-name
或/pm:epic-sync feature-name
,将 Epic 与任务推送为 GitHub Issues,结合 gh-sub-issue 插件实现父子关系。 - 并行执行:通过
/pm:issue-start 1234
启动专用 Agent,多个 Agent 针对数据库、业务逻辑、API、UI、测试等独立并行工作,在各自工作树(worktree)中隔离上下文,最后同步合并,无冲突。
更多常用的命令参考
/pm:init 安装依赖 并配置 GitHub。
PRD Commands
# 针对新需求,开展头脑风暴。
/pm:prd-new memory-system
# Review and refine the PRD...
# 将需求文档变成可实施的计划。
/pm:prd-parse memory-system
# 列出所有的 PRD。
/pm:prd-list
# 编辑现有的 PRD。
/pm:prd-edit
# 显示 PRD
/pm:prd-status
Epic Commands
# 将设计拆分成任务
/pm:epic-decompose
# 将 Epic 推送到 GitHub
/pm:epic-sync
# 拆分任务并完成同步。 decompose and sync
/pm:epic-oneshot memory-system
# Creates issues: #1234 (epic), #1235, #1236 (tasks)
# 列出所有 Epic
/pm:epic-list
# 列出 Epic
/pm:epic-show
# 标记完成
/pm:epic-close
# 编辑
/pm:epic-edit
# 更新任务的进度
/pm:epic-refresh
Issue Commands
# Start development on a task
/pm:issue-start 1235
# Agent begins work, maintains local progress
# 将更新推送到 GitHub
/pm:issue-sync 1235
# Updates posted as issue comments
# 显示 Issue
/pm:issue-show
# 查看状态
/pm:issue-status
# 将 issue 标记为完成
/pm:issue-close
# 重新打开 issue
/pm:issue-reopen
# 编辑 Issue
/pm:issue-edit
Workflow Commands
/pm:next - Show next priority issue with epic context
/pm:status - Overall project dashboard
/pm:standup - Daily standup report
/pm:blocked - Show blocked tasks
/pm:in-progress - List work in progress
Sync Commands
/pm:sync - Full bidirectional sync with GitHub
/pm:import - Import existing GitHub issues
Maintenance Commands
/pm:validate - Check system integrity
/pm:clean - Archive completed work
/pm:search - Search across all content