TAPD 需求澄清技能。从 TAPD 提取"规划中"状态的需求,按照研发最佳实践对需求进行 多维度澄清(业务逻辑、外部系统交互、上下文),整合项目背景知识,输出符合需求文档 规范的标准化 Markdown 需求文档,并回写 TAPD。 Use this skill whenever the user mentions 需求澄清, 澄清需求, clarify story, clarify requirement, 需求细化, 需求整理, 需求规范化, 补充需求, 完善需求描述, story clarification, requirement clarification, 需求文档整理, or any workflow involving TAPD story description refinement and standardization.
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
本技能从 TAPD 提取处于"规划中"状态的需求,采用研发最佳实践(5W1H 结构化提问、 BDD 验收标准、流程可视化)对需求进行多维度澄清,结合项目背景知识生成标准化需求 文档,最终回写到 TAPD 需求描述字段并推进状态。
project.json 读取| 参数 | 来源 | 必需 | 说明 |
|---|---|---|---|
| 需求 ID | 用户输入 | 是 | 一个或多个 TAPD 需求短 ID |
| workspace_id | 用户输入 > project.json | 是 | TAPD 工作空间 ID |
| 背景知识 | 用户指定 > AGENTS.md 自动查找 | 否 | 架构文档、模块文档、安全规范等路径 |
按以下优先级确定:
project.json 中的 workspace_id → 使用 read_file 读取并解析按以下优先级确定:
AGENTS.md,从中识别项目的架构文档、模块文档、
规范文档、API 文档等(具体路径因项目而异,按 AGENTS.md 中的描述定位)只读取实际存在的文档,不存在的跳过。将收集到的背景知识作为后续澄清的参考上下文。
从用户输入中提取所有需求 ID,构建待处理列表。如果 ID 长度小于 19 位,后续调用 TAPD MCP 时会自动转换。
对每个需求 ID 执行以下流程(顺序执行,完成一个再处理下一个):
使用 TAPD MCP stories_get 提取需求信息:
调用参数:
workspace_id: <workspace_id>
id: <需求ID>
with_v_status: "1"
v_status: backlog如果查询结果为空:
提取成功后记录需求的关键信息:
id(完整 19 位 ID)name(需求名称)description(原始需求描述)priority_label(优先级)owner(处理人)parent_id(父需求 ID,用于判断是否子需求)detail_link(TAPD 详情链接)整合背景知识与需求原始描述,按照 references/clarification-guide.md 中的最佳
实践进行多维度澄清。
执行前必读
references/clarification-guide.md,其中定义了完整的澄清维度 (业务价值、用户故事、验收标准、外部系统交互、数据模型、非功能需求、边界条件) 和各维度的具体检查项。按需求复杂度选择需要覆盖的维度子集。
以下方法按条件触发,简单需求可全部跳过;触发时详见 clarification-guide.md:
Skip 只跳过交互式追问,不跳过质量门禁——references/dor-checklist.md 与
"假设与未决问题"章节的填写始终必须完成。
完全放行的快速通道仅限:纯文案 / 配置变更,且原始需求描述中已明确给出验收标准。
其它场景(用户口头表示"很清楚"、提供了完善文档等),可以简化交互,但仍必须:
即使跳过交互,也要在文档中标注"用户确认需求描述充分,无额外澄清交互"。
整合原始需求信息和澄清内容,按照 references/requirement-doc-template.md 中的
文档模板生成标准化 Markdown 需求文档。
生成需求文档后,将文档保存为本地 Markdown 文件,存放在项目根目录的 docs/reqs/
下。
文件命名规则:
从需求名称中提炼核心关键词作为文件名,要求:
.md用户权限管理_12345.md)命名示例:
| 需求名称 | 提炼后文件名 |
|---|---|
| 新增用户权限管理模块 | 用户权限管理.md |
| 优化首页加载性能提升用户体验 | 首页性能优化.md |
| 对接第三方支付系统完成订单结算 | 三方支付对接.md |
| Add OAuth2 login support | OAuth2登录.md |
保存流程:
docs/reqs/ 目录存在,不存在则创建在向用户展示文档并请求确认之前,按 references/dor-checklist.md 中 8 项二值判断项
逐条自检:
approvedv_status: backlog,不允许推进为 approved自检结果需在最终汇总输出(§3)中体现,便于下一流程接收方判断需求成熟度。
将生成的需求文档展示给用户,请求确认:
如果用户提出修改意见,修改文档后再次确认,直到用户满意。
⚠️ 前置操作:调用
stories_update前,必须先通过读取 §2.3 保存的本地文件(docs/reqs/<文件名>.md)获取完整文档内容,将读取结果作为description参数值传入,禁止将上下文中的文档内容直接 inline 到调用参数。
使用 TAPD MCP stories_update 将最终需求文档以 markdown 格式全量更新至 TAPD
(无需精简信息)。
状态字段(v_status)由 §2.4 DoR 门禁结果决定:
v_status: approvedv_status: backlog(描述照常更新,状态不推进)调用参数:
workspace_id: <workspace_id>
id: <需求完整19位ID>
description: <读取本地文件 docs/reqs/<文件名>.md 所得的完整内容>
v_status: <approved 或 backlog,取决于 DoR 门禁结果>回写成功后记录:
回写失败时:
所有需求处理完毕后,简短总结输出处理内容:
## 需求澄清完成
| 需求 ID | 需求名称 | 处理结果 | DoR | 状态 | 本地文件 |
|---------|---------|---------|-----|------|---------|
| xxx | xxx | ✅ 已澄清并回写 | 8/8 通过 | approved | docs/reqs/xxx.md |
| yyy | yyy | ⚠️ DoR 未过(第 1、6 项) | 6/8 | backlog | docs/reqs/yyy.md |
| zzz | zzz | ⚠️ 回写失败,文档已输出 | - | backlog | docs/reqs/zzz.md |
共处理 N 个需求,DoR 通过 M 个,未通过 K 个(详见各自本地文件)。| 错误场景 | 处理方式 |
|---|---|
| TAPD MCP 不可用 | 终止执行,提示用户检查 MCP 配置 |
| 需求 ID 不存在 | 跳过该需求,继续处理下一个 |
| 需求状态不是"backlog" | 提示用户,询问是否仍要澄清(可能已被处理过) |
| 回写 TAPD 失败 | 重试一次,仍失败则输出文档供手动更新 |
| DoR 门禁未通过 | 回写描述,保持 backlog 状态;在汇总输出中标注未过项 |
| 用户中断澄清 | 保存当前内容,标注"澄清未完成" |
| 文件 | 用途 | 何时读取 |
|---|---|---|
references/clarification-guide.md | 需求澄清最佳实践指南(含 Example Mapping / BDD 反模式 / 两轮制) | 执行澄清时 |
references/requirement-doc-template.md | 标准化需求文档模板 | 生成文档时 |
references/dor-checklist.md | 回写前门禁清单(8 项二值判断) | §2.4 DoR 自检时 |
docs/reqs/<提炼文件名>.md(4-10 字精简文件名)description 字段更新为规范化需求文档approved;否则保持 backlog9544047
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.