| name | read-prd |
| description | 读取并分析 PRD 需求文档,提取要点和任务拆分。在 dev-flow 流程的第 1 步自动加载。 |
| version | 1.1.0 |
读 PRD · 方法论
你的任务
读取 PRD 目录中的所有文件(PDF、MD、HTML),提取需求要点,识别可独立交付的任务单元。
执行步骤
1. 文件扫描
用 Glob 扫描 PRD 目录:
**/*.pdf — PDF 需求文档
**/*.md — Markdown 需求文档
**/*.html、**/*.htm — HTML 需求文档
- 忽略隐藏文件和
.idea/ 等 IDE 目录
1.5 分配文件处理(向下兼容)
在 ben-workspace 的旧 PRD 结构中,批次目录下有 分配.md 作为索引文件,真实 PRD 在同项目上级的 all/ 目录。新结构已不使用 all/ 和 分配.md 索引,PRD 直接以 需求.md 存放在状态目录下:
Prd/
└── 项目名/
├── 初始化/ ← 状态目录
├── 进行中/
├── 已交付/
│ └── YYYYMMDD/ ← 日期目录
│ ├── 需求.md ← PRD 正文(标准文件名)
│ ├── 需求.forged.md ← forge-prd 产出(可选)
│ └── *.jpg ← 截图/原型
└── 待排期/
扫描时若命中 分配.md(或 分配*.md),按以下逻辑处理:
- 标记为分配文件:文件名匹配
分配*.md 时标记,不直接作为 PRD 读取。
- 解析内容,支持两种形态:
- 形态一(任务描述):自由文本描述要做什么
- 形态二(文件名列表):编号列出文件名
- 定位真实 PRD:
- 新结构优先:先在同目录下找
需求.md——有则直接读取,这就是 PRD。
- 旧结构兼容:若同目录无
需求.md,向上找同项目的 ../all/ 目录,在其中按文件名匹配。
- 都找不到 → 用 AskUserQuestion 让用户指认。
正常情况:日期目录下直接有 需求.md,走原有扫描逻辑,行为不变。
2. 逐文件阅读
MD 文件:直接 Read 全部内容
HTML 文件:直接 Read 全部内容(HTML 本质是纯文本)
- 读取时忽略标签、样式、脚本噪音,聚焦正文需求内容
- 无需转换或清洗工具,Read 原文即可
PDF 文件:使用 Read 工具的 pages 参数分页读取
- 先读第 1 页,判断是否相关
- 相关则继续读后续页
- 每次最多读 10 页
内嵌截图/原型是视觉规格的权威来源:PRD 里带标注的 UI 截图、原型图与散文正文同等重要,往往把「位置/文案」说得比正文更死。读到图不要略过,逐张逐元素提取以下视觉规格五要素(下游 skill 均引用此定义):
- 字段所在列:折进已有列(合并)还是独立新列
- 按钮/入口的精确文案:照抄图中原文,不自拟、不改写、不增减字
- 元素所在页签/区域:挂到已有页签,还是新建
- 筛选项位置:与哪些现有项并列
- 字段/筛选的排列顺序
凡图里已给出的位置/文案,即为已定死的规格,不得当作开放项。
3. 信息提取
对每个文件提取:
| 提取项 | 说明 |
|---|
| 任务名称 | 简短描述(10 字以内) |
| 任务 ID | 如 ID1019077(从文件名或内容中提取) |
| 核心需求 | 这个任务要做什么(1-3 句话) |
| 涉及页面/模块 | 前端页面、后端模型、数据库表 |
| 关键约束 | 边界条件、依赖关系、特殊规则 |
| 视觉规格 | 有截图/原型时必填:按视觉规格五要素逐元素照图记录(列归属/合并、按钮精确文案、所在页签、筛选位置、字段顺序),不自拟;无图则记「正文与图均未给出」 |
4. 需求摘要输出
按以下格式输出摘要,向用户确认:
## 需求摘要
共发现 N 个文件,识别 M 个可交付任务:
### 任务 1:<任务名>(IDxxxxxxx)
- **核心需求**:...
- **涉及模块**:...
- **关键约束**:...
- **视觉规格(据截图/原型)**:按五要素记录——列归属/合并、按钮精确文案、所在页签、筛选位置、字段顺序;无图则写「正文与图均未给出」
### 任务 2:<任务名>(IDxxxxxxx)
- **核心需求**:...
- **涉及模块**:...
- **关键约束**:...
- **视觉规格(据截图/原型)**:按五要素记录——列归属/合并、按钮精确文案、所在页签、筛选位置、字段顺序;无图则写「正文与图均未给出」
...
请确认以上理解是否正确,或补充遗漏的需求。
注意事项
- PDF/HTML 中的标注截图、原型不是配图噪音,而是视觉规格来源,须按第 2 步逐元素提取(Read 工具能处理大部分扫描图片)
- 如果 PDF 无法读取,提示用户转换为 MD 或手动粘贴内容
- HTML 可能夹带大量样式/脚本标签,读取时聚焦正文,忽略无关标记
- Word(.doc/.docx)等二进制格式不支持:Read 工具无法直接解析,遇到时提示用户先另存为 PDF/MD 再运行
- 不要遗漏任何文件,即使文件名看起来不相关
- 有些 MD 文件可能是总纲或索引,需要读完后关联到具体任务