with one click
requirements-write
// Manager 起草需求文档 needs/requirements.md 的 skill。当 requirements_guide 判定 coverage_complete=true 且用户 approve 时**一定**加载本 skill。按 5 节模板从对话历史里提炼产出 needs/requirements.md。任何'需求已清、可以落文档'的时刻都走此 skill。
// Manager 起草需求文档 needs/requirements.md 的 skill。当 requirements_guide 判定 coverage_complete=true 且用户 approve 时**一定**加载本 skill。按 5 节模板从对话历史里提炼产出 needs/requirements.md。任何'需求已清、可以落文档'的时刻都走此 skill。
Manager 扫描并列出已有 SOP 集合的 skill。当用户问'有哪些 SOP / 流程'或 Manager 自检是否需新建 SOP 时**一定**加载本 skill。扫 workspace/manager/skills/sop_* 目录,读每个 SKILL.md frontmatter 的 description,组装成列表。所有'列一下现有流程'触发都走此 skill。
团队邮箱操作(读自己 inbox 或给其他角色发邮件)。**必须通过 sandbox_execute_bash 工具调用 CLI**,不要使用 sandbox_file_operations 手写 json
任务自评 5 维打分。每次在发 task_done 前无条件调用;按 completeness/self_review/hard_constraints/clarity/timeliness 5 维各打 0-1 分,加权得总分。输出 JSON 给 task_callback 解析写 L2 日志
Manager 主 SOP:小功能开发 6 阶段主流程(需求澄清→产品设计→RD 实现→QA 测试→交付→复盘)。当收到用户'帮我做 X / 做一个 / 新功能'类新需求时**一定**加载本 skill。指导 Manager 在 6 阶段中选当前阶段 + 推进下一步 + 判断是否插入团队评审。所有 feature 类开发项目都走此 SOP。
Manager 把共创后的 SOP 落盘成一个新的 reference skill。当 sop_cocreate_guide 判定 coverage_complete + 用户 approve 时**一定**加载本 skill。产出带阶段表 + 推进规则 + 复盘触发的 SKILL.md,存入 needs/sop_draft.md(v0)或 workspace/manager/skills/sop_{name}/(v1)。所有'把对话沉淀成可复用流程'的时刻走此 skill。
PM 产品设计 skill。当 PM 收到 type=task_assign 且 subject 含'产品设计'的邮件时,**一定**加载本 skill。读 needs/requirements.md → 按 6 节模板产出完整 design/product_spec.md → 发 task_done 回 Manager。任何新的产品需求到来时都用此 skill 作为第一道工序。
| name | requirements_write |
| description | Manager 起草需求文档 needs/requirements.md 的 skill。当 requirements_guide 判定 coverage_complete=true 且用户 approve 时**一定**加载本 skill。按 5 节模板从对话历史里提炼产出 needs/requirements.md。任何'需求已清、可以落文档'的时刻都走此 skill。 |
| type | reference |
从 requirements_guide 四维对话历史整理关键决定。
# {产品名} 需求文档
## 1. 目标(Goal)
- 核心痛点:...
- 目标用户:...
- MVP 功能清单:
1. ...
2. ...
3. ...
## 2. 边界(Boundary)
- **做**:...
- **不做**:...(3 条起)
- 时间预算:...
## 3. 约束(Constraint)
- 技术栈:...
- 部署:...
- 安全/合规:...
## 4. 风险(Risk)
| 风险 | 影响 | 缓解 |
|------|------|------|
## 5. 接受标准(Acceptance,每条可机械测)
- [ ] POST /diary 能创建日记并返回 201 + id
- [ ] GET /diary?limit=200 返回 422
- [ ] ...
write_shared(project_id, "needs/requirements.md", content)。
append_event(project_id, "requirements_drafted", {"sections": 5, "acceptance_count": N})
send_to_human(routing_key, message=摘要 + "请回复 同意/修改建议", kind="checkpoint_request", project_id=..., checkpoint_id=...);配合 CheckpointStore.register。
{
"status": "success",
"artifacts": [{"path": "needs/requirements.md", "kind": "doc"}],
"metrics": {"sections": 5, "acceptance_count": 8, "mvp_features": 5}
}