| name | requirement-doc-writer |
| description | 把零散的输入(聊天记录 / TAPD 摘要 / 用户描述)写成符合模板的 requirement.md。是 requirement-input-normalizer Agent 的核心子能力。 |
| allowed-tools | Read, Write, Edit, Glob |
Skill: requirement-doc-writer
原文 §8.3 文档撰写类。只产文档,不做判断——判断由 requirement-quality-reviewer Agent 负责。
模板锚定
严格按 context/harness-framework/templates/requirement.md 的结构:
1. 背景
2. 目标(带可衡量指标)
3. 非目标
4. 验收标准(REQ-*)
5. 影响面
6. 风险与权衡
7. Rollback 思路(如需)
8. 评审记录(自动填)
写作准则
| 章节 | 准则 |
|---|
| 背景 | 3-5 句话,含现状 + 痛点 + 触发事件,不写"为了完成 XX 任务" |
| 目标 | 每条带 KPI/SLA/数值;模糊措辞如"提升体验"必须替换 |
| 非目标 | 至少 1 条,避免后续无限扩张 |
| 验收 | REQ-001 起编号,每条必须可被一条测试用例覆盖 |
| 影响面 | 服务名严格匹配 .service-matrix/dependencies.yaml,不存在就提示 onboard |
| Rollback | 涉及数据迁移时强制 3-4 步骤 |
协议
- 用户给的原始输入贴在
notes/{date}.md 而非 requirement.md(保留原文与结构化产物的对应关系)
- 写之前 diff 已有 requirement.md,避免覆盖人工编辑
反模式
- ❌ 自己加目标(除非用户明确同意)
- ❌ 把"待用户确认"内容当作已确认信息写入
- ❌ 用 emoji / 装饰性符号(保持机读友好)