Install
openclaw skills install @mahingbun-dev/sdd-writing-plans当有规格说明或需要多步骤任务的需求时,在编写代码之前使用。根据 spec-design.md 生成可执行的 spec-plan.md。
openclaw skills install @mahingbun-dev/sdd-writing-plans读取 spec-design.md 文档,生成单一交付物:
spec-plan.md — 逐步执行计划。每个 Task 包含执行步骤和对应的验证检查清单。
计划保存到源 spec-design.md 所在的同一目录。
原则:DRY, YAGNI。保持计划简洁——描述意图和关键逻辑,而非样板代码。
启动时声明: "我正在使用 sdd-writing-plans 技能来创建执行和验证计划。"
.sdd-workspace 配置文件中 workspace_path 指定的根目录{workspace}/spec/ 下在任何操作之前,必须读取工作区配置:
.sdd-workspaceworkspace_path 作为工作区根目录 {workspace}/sdd-global-init 初始化工作区。" 并停止验证工作区目录存在,如果不存在提示用户重新初始化。
检查当前模型是否为 Opus。如果不是 Opus,输出以下纯文本消息并继续(非阻塞):
⚠️ 当前模型不是 Opus,建议切换到 Opus 以获得最佳计划生成质量。输入 /model 切换模型。
此技能运行前必须存在 spec-design.md 文件。
/sdd-writing-plans {workspace}/spec/feature_xxx/spec-design.md),直接使用。{workspace}/spec/ 中所有匹配 feature_*/spec-design.md 的目录。按修改时间排序(最新优先),向用户展示最新的 3 个通过 AskUserQuestion 选择(用户也可以通过 "Other" 输入自定义路径)。spec-design.md 作为输入上下文。spec-design.md(参见启动与 Feature 发现)。AskUserQuestion 提供两个选项(确认/请求修改)。只有用户确认后,才继续写入文件。spec-plan.md 保存到与 spec-design.md 相同的目录。# [功能名称] 执行计划
**目标:** [一句话描述]
**技术栈:** [关键技术/库]
**设计文档:** [spec-design.md 的相对路径]
---
### Task N: [组件/模块名称]
**涉及文件:**
- 新建: `exact/path/to/file.ts`
- 修改: `exact/path/to/existing.ts`
**执行步骤:**
- [ ] [描述意图:做什么,为什么]
- 关键代码或逻辑说明
- [ ] [下一步意图]
- ...
**检查步骤:**
- [ ] 检查描述
- `可执行的验证命令`
- 预期: 预期输出描述
- [ ] 另一个检查
- `curl/grep/script 命令`
- 预期: 一句话描述预期输出
---
### Task [last]: [Feature Name] Acceptance
**前置条件:**
- 启动命令: `exact start command`
- 测试数据准备: `setup command or steps`
- 其他环境准备...
**端到端验证:**
1. [场景描述]
- `curl/script 验证命令`
- Expected: expected result description
- On failure: check Task N [related module name]
2. [另一个场景]
- `curl/script 验证命令`
- Expected: expected result description
- On failure: check Task N [related module name]
3. [Next scenario]
- ...
所有检查步骤必须是可通过 CLI/curl/脚本自动执行的命令。
不要使用 [HUMAN] 标签 — 需要人工验证的场景由 sdd-plan-human-verify 技能单独处理。
每个检查步骤必须包含可执行命令和预期结果:
- [ ] 检查描述
- `可执行的验证命令`
- 预期: 预期输出描述
示例:
- [ ] 验证 API 返回正确的用户信息
- `curl -s http://localhost:3001/api/auth/me -H 'Authorization: Bearer TOKEN' | jq .userCode`
- 预期: 返回 "chenwx57"
- [ ] 验证前端构建无错误
- `cd key-portal/web && npm run build 2>&1 | tail -5`
- 预期: 输出包含 "built in" 且无 error
写入文件前,输出以下两个 Markdown 表供用户审核。
汇总表(单行):
| 功能 | Task 数量 | 新增文件数 | 修改文件数 |
|---|---|---|---|
| [spec title] | N | X | Y |
文件数必须去重 — 一个文件被多个 Task 触碰只计算一次。
Task 列表表:
| Task | 名称 | 执行概要 | 验收概要 |
|---|---|---|---|
| 1 | [name] | ≤30 char summary | ≤30 char summary |
| 2 | ... | ... | ... |
| N | [Feature Name] Acceptance | End-to-end verification | N scenarios |
输出表格后,使用 AskUserQuestion 提供两个选项:
spec-plan.mdspec-design.md 派生- [ ] 复选框格式(不是编号列表)所有 Task 确认并文件写入后:
spec-plan.md 路径。{workspace}/spec/.../spec-plan.md,共 N 个 Task。\n\n建议下一步: 运行 /sdd-executing-plans 自动执行计划。"