create-task-batch - 交互式任务列表创建器(v2.88)
交互式向导,用于创建针对/task-batch执行优化的prd文档和任务列表。通过引导式提问来提取精确的需求、优先级和依赖关系。
快速开始
# 启动交互式向导
/create-task-batch
# 带初始描述
/create-task-batch "用户认证功能"
# 针对特定项目区域
/create-task-batch "API重构项目"
工作流程
+------------------------------------------------------------------+
| CREATE-TASK-BATCH 工作流程 |
+------------------------------------------------------------------+
| |
| +----------+ +-----------+ +---------------+ |
| | 收集 |--->| 分解 |--->| 优先级 | |
| | 上下文 | | 为任务 | | & 依赖关系 | |
| +----------+ +-----------+ +-------+-------+ |
| | |
| +--------------------------------------------v---------------+ |
| | 验证 | |
| | - 每个任务都有验收标准 | |
| | - 依赖关系可解析 | |
| | - 已分配优先级 | |
| +---------------------------+-------------------------------+ |
| | |
| +---------------------------v-------------------------------+ |
| | 输出 | |
| | - PRD文件(.prq.md) | |
| | - 任务列表(tasks.md) | |
| | - JSON配置(可选) | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+
提问阶段
第1阶段:项目上下文
AskUserQuestion:
questions:
- question: "这个批次的主要目标是什么?"
header: "目标"
options:
- label: "新功能"
description: "实现一个完整的新功能"
- label: "错误修复"
description: "修复多个相关错误"
- label: "重构"
description: "重构现有代码"
- label: "文档"
description: "创建或更新文档"
- question: "项目区域是什么?"
header: "区域"
options:
- label: "后端API"
- label: "前端UI"
- label: "数据库"
- label: "基础设施"
- label: "全栈"
- question: "目标时间框架是什么?"
header: "时间框架"
options:
- label: "单次会话"
- label: "1-2天"
- label: "1周"
- label: "冲刺(2周)"
第2阶段:功能细节
AskUserQuestion:
questions:
- question: "详细描述主要功能/功能"
header: "描述"
multiSelect: false
# 用户提供自由形式描述
- question: "必须有的组件是什么?"
header: "必须有"
multiSelect: true
options:
- label: "认证"
- label: "数据验证"
- label: "错误处理"
- label: "日志记录"
- label: "测试"
- label: "文档"
- question: "想要有的组件是什么?"
header: "想要有"
multiSelect: true
options:
- label: "性能优化"
- label: "缓存"
- label: "速率限制"
- label: "监控"
- label: "CI/CD集成"
第3阶段:任务分解
# 基于响应自动分解
任务分解规则:
- 后端功能:
1. 创建数据模型/模式
2. 实现业务逻辑
3. 创建API端点
4. 添加验证
5. 编写测试
6. 更新文档
- 前端功能:
1. 创建UI组件
2. 实现状态管理
3. 连接到API
4. 添加错误处理
5. 编写测试
6. 更新文档
- 重构:
1. 分析当前实现
2. 设计新结构
3. 创建新模块
4. 迁移现有代码
5. 更新测试
6. 移除弃用代码
第4阶段:优先级和依赖关系
AskUserQuestion:
questions:
- question: "任务应如何优先排序?"
header: "优先级"
options:
- label: "自动(按依赖关系)"
- label: "手动(我将指定)"
- label: "按工作量(从易到难)"
- label: "按重要性(关键优先)"
- question: "首次失败时是否应停止执行?"
header: "停止失败"
options:
- label: "是 - 停止整个批次"
- label: "否 - 继续剩余的"
第5阶段:验收标准(每个任务必须)
关键:每个任务都必须有明确的完成验证标准。 没有定义验收标准,不能执行任何任务。
# 每个生成的任务,询问完成标准
FOR EACH task IN task_list:
AskUserQuestion:
questions:
- question: "为'[TASK_NAME]'定义必须的完成标准:"
header: "标准"
# 必须 - 没有答案不能继续
- question: "我们如何验证这个任务已完成?"
header: "验证"
options:
- label: "测试通过"
description: "单元/集成测试必须通过"
- label: "文件存在"
description: "特定文件创建/修改"
- label: "命令成功"
description: "特定命令无错误运行"
- label: "手动审核"
description: "人工审核并批准"
- question: "哪些文件/模块受'[TASK_NAME]'影响?"
header: "文件"
# 可选但推荐
# 验证检查
IF any_task_missing_criteria:
BLOCK: "不能创建批次 - 所有任务必须有完成标准"
ASK: 请求缺失的标准,然后继续
任务完成标准模板
每个输出中的任务必须包括:
task:
id: "task-001"
description: "创建OAuth2服务模块"
priority: 1
completion_criteria: # 必须
- criteria: "文件src/auth/oauth2.service.ts存在"
verification: "file_exists"
- criteria: "Google OAuth客户端配置"
verification: "code_contains"
pattern: "GoogleAuthProvider"
- criteria: "单元测试通过"
verification: "command"
command: "npm test -- oauth2.service.spec.ts"
- criteria: "无TypeScript错误"
verification: "command"
command: "tsc --noEmit"
dependencies: []
输出模板
模板1:prd格式(.prq.md)
# 功能:{FEATURE_NAME}
**创建**:{TIMESTAMP}
**版本**:2.88
**时间框架**:{TIMEFRAME}
## 优先级:{PRIORITY}
## 概览
{DESCRIPTION}
## 任务
{#for task in tasks}
- [ ] {task.priority}: {task.description}
{#endfor}
## 依赖关系
{#for dep in dependencies}
- {dep.task}依赖于{dep.depends_on}
{#endfor}
## 验收标准
{#for task in tasks}
### {task.name}
{#for criteria in task.criteria}
- {criteria}
{#endfor}
{#endfor}
## 技术说明
{TECHNICAL_NOTES}
## 风险
{#for risk in risks}
- {risk}
{#endfor}
模板2:任务列表格式(tasks.md)
# 批次:{BATCH_NAME}
**创建**:{TIMESTAMP}
**配置**:stop_on_failure={STOP_ON_FAILURE}, auto_commit=true
## 任务
{#for task in tasks}
{task.number}. [{task.priority}] {task.description}
- 文件:{task.files}
- 标准:{task.criteria}
{#endfor}
## 执行顺序
{EXECUTION_ORDER}
模板3:JSON格式
{
"batch_name": "{BATCH_NAME}",
"created": "{TIMESTAMP}",
"config": {
"stop_on_failure": {STOP_ON_FAILURE},
"auto_commit": true,
"teammates": ["coder", "reviewer"]
},
"tasks": [
{
"id": "task-001",
"description": "{description}",
"priority": 1,
"dependencies": [],
"acceptance_criteria": ["{criteria}"],
"files": ["{files}"]
}
]
}
CLI使用
# 交互模式(所有问题)
ralph create-batch
# 带初始描述
ralph create-batch "实现用户认证"
# 快速模式(最少问题)
ralph create-batch --quick "添加API速率限制"
# 输出格式选择
ralph create-batch --format json
ralph create-batch --format prd
ralph create-batch --format tasks
# 保存到特定位置
ralph create-batch --output docs/prd/auth.prq.md
集成/任务批次
创建任务列表后:
# 第1步:创建批次
/create-task-batch "用户认证"
# 第2步:审查生成的prd
# 文件保存到:docs/prd/user-authentication.prq.md
# 第3步:执行批次
/task-batch docs/prd/user-authentication.prq.md
# 或者带选项
/task-batch docs/prd/user-authentication.prq.md --priority
示例会话
用户:/create-task-batch "用户配置文件功能"
助手:我将帮助您为"用户配置文件功能"创建任务批次。
[第1阶段:项目上下文]
Q:这个批次的主要目标是什么?
A:新功能
Q:项目区域是什么?
A:全栈
Q:目标时间框架是什么?
A:1-2天
[第2阶段:功能细节]
Q:详细描述主要功能:
A:用户应该能够查看和编辑他们的配置文件,上传头像,并设置偏好
Q:必须有的组件是什么?
A:认证,数据验证,测试
[第3阶段:任务分解]
根据您的输入,我将功能分解为以下任务:
1. [P1] 创建用户配置文件数据模型
2. [P1] 实现配置文件API端点(GET,PUT)
3. [P2] 创建配置文件UI页面
4. [P2] 添加头像上传功能
5. [P3] 实现用户偏好
6. [P3] 编写单元和集成测试
[第4阶段:优先级和依赖关系]
Q:任务应如何优先排序?
A:自动(按依赖关系)
Q:首次失败时是否应停止执行?
A:否 - 继续剩余的
[第5阶段:验收标准]
Q:"创建用户配置文件数据模型"的验收标准:
A:模式存在,迁移运行,验证工作
[输出]
创建:docs/prd/user-profile-feature.prq.md
准备执行:
/task-batch docs/prd/user-profile-feature.prq.md
反模式
- 永不在没有验收标准的情况下创建任务
- 永不跳过依赖关系检查
- 永不创建循环依赖
- 永不使任务过大(最大1-2小时)
- 永不忘记在执行前验证输出
相关技能
/task-batch- 执行创建的任务列表/clarify- 内部用于需求收集/orchestrator- 基础编排工作流/retrospective- 批次后分析
动作报告(v2.93.0)
此技能生成完整的自动报告用于可追溯性:
自动报告
当此技能完成后,会自动生成:
- 在Claude的对话中:可见结果
- 在仓库中:
docs/actions/create-task-batch/{timestamp}.md - JSON元数据:
.claude/metadata/actions/create-task-batch/{timestamp}.json
报告内容
每个报告包括:
- ✅ 摘要:执行的任务描述
- ✅ 执行细节:持续时间,迭代次数,修改的文件
- ✅ 结果:发现的错误,建议
- ✅ 后续步骤:建议的后续行动
查看先前报告
# 列出此技能的所有报告
ls -lt docs/actions/create-task-batch/
# 查看最新的报告
cat $(ls -t docs/actions/create-task-batch/*.md | head -1)
# 搜索失败的报告
grep -l "Status: FAILED" docs/actions/create-task-batch/*.md
手动生成(可选)
source .claude/lib/action-report-lib.sh
start_action_report "create-task-batch" "任务描述"
# ...执行...
complete_action_report "success" "摘要" "建议"