name: managing-task-lifecycle description: 在开发工作流中启动、暂停、完成或转换任务状态时使用。
PairCoder 任务生命周期管理
决策树:使用哪个命令?
Trello 是否已连接? (检查: bpsai-pair trello status)
│
├── 是 → 使用 `ttask` 命令 (首选)
│ ├── 启动: bpsai-pair ttask start TRELLO-XX
│ ├── 完成: bpsai-pair ttask done TRELLO-XX --summary "..." --list "Deployed/Done"
│ └── 阻塞: bpsai-pair ttask block TRELLO-XX --reason "..."
│
└── 否 → 使用 `task update` 命令
├── 启动: bpsai-pair task update TASK-XXX --status in_progress
├── 完成: bpsai-pair task update TASK-XXX --status done
└── 阻塞: bpsai-pair task update TASK-XXX --status blocked
经验法则: 如果看到 TRELLO-XX 格式的 ID,使用 ttask。如果只有 TASK-XXX 格式的 ID,使用 task update。
关键:始终使用 CLI 命令
任务状态变更必须通过 CLI 命令执行,以触发钩子(Trello 同步、计时器、状态更新)。
切勿 直接编辑任务文件或仅口头说“标记为完成”——必须运行相应的命令。
自动钩子
通过 CLI 更改任务状态时,以下钩子会自动触发:
执行 task update --status in_progress 时:
start_timer- 开始时间追踪sync_trello- 将 Trello 卡片移至“进行中”列表update_state- 更新 state.md 中的当前焦点
执行 task update --status done 时:
stop_timer- 停止计时器,记录耗时record_metrics- 记录令牌使用情况和成本record_velocity- 追踪冲刺速度sync_trello- 将 Trello 卡片移至“已部署/完成”列表update_state- 更新 state.mdcheck_unblocked- 识别新解除阻塞的任务
执行 task update --status blocked 时:
sync_trello- 将 Trello 卡片移至“问题/技术债务”列表update_state- 更新 state.md
您无需手动更新 Trello、启动/停止计时器或刷新 state.md——钩子会自动处理。
启动任务
bpsai-pair task update TASK-XXX --status in_progress
这将:
- 更新任务文件状态
- 将 Trello 卡片移至“进行中”列表
- 启动计时器(当实现时)
- 更新 state.md 中的当前焦点
工作期间(进度更新)
bpsai-pair ttask comment TASK-XXX "已完成 API 端点,开始测试"
这将在不更改状态的情况下向 Trello 卡片添加评论。适用于:
- 里程碑更新
- 记录决策
- 为团队提供进度可见性
完成任务
对于 Trello 项目(推荐)
使用 ttask done——它在一个命令中处理所有事情:
bpsai-pair ttask done TRELLO-XX --summary "完成内容概述" --list "Deployed/Done"
这个单一命令将:
- ✓ 将 Trello 卡片移至“已部署/完成”列表
- ✓ 自动勾选所有验收标准项
- ✓ 向卡片添加完成摘要
- ✓ 更新本地任务文件状态
- ✓ 触发所有完成钩子(计时器、指标、state.md)
您不需要再运行 task update --status done——ttask done 已包含此操作。
对于非 Trello 项目
使用 task update:
bpsai-pair task update TASK-XXX --status done
这将:
- 更新任务文件状态
- 触发完成钩子(计时器、指标、state.md)
常见错误
| 错误 | 为何错误 | 正确方法 |
|---|---|---|
在 Trello 项目上仅使用 task update |
不会检查 Trello 卡片的验收标准 | 改用 ttask done |
| 在 Trello 项目上同时使用两个命令 | 不必要的重复 | 仅使用 ttask done |
在非 Trello 项目上使用 ttask |
命令将无法工作 | 使用 task update |
快速参考
本地任务命令 (task)
使用这些命令进行状态变更——它们会触发所有钩子。
| 操作 | 命令 |
|---|---|
| 启动任务 | bpsai-pair task update TASK-XXX --status in_progress |
| 完成任务 | bpsai-pair task update TASK-XXX --status done |
| 阻塞任务 | bpsai-pair task update TASK-XXX --status blocked |
| 显示下一个任务 | bpsai-pair task next |
| 自动分配下一个 | bpsai-pair task auto-next |
| 列出所有任务 | bpsai-pair task list |
| 显示任务详情 | bpsai-pair task show TASK-XXX |
Trello 卡片命令 (ttask)
使用这些命令进行直接的 Trello 操作。
| 操作 | 命令 |
|---|---|
| 列出 Trello 卡片 | bpsai-pair ttask list |
| 显示卡片详情 | bpsai-pair ttask show TRELLO-XX |
| 启动卡片 | bpsai-pair ttask start TRELLO-XX |
| 完成卡片 | bpsai-pair ttask done TRELLO-XX --summary "..." --list "Deployed/Done" |
| 勾选验收项 | bpsai-pair ttask check TRELLO-XX "项目文本" |
| 添加进度评论 | bpsai-pair ttask comment TRELLO-XX "消息" |
| 阻塞卡片 | bpsai-pair ttask block TRELLO-XX --reason "原因" |
| 将卡片移至列表 | bpsai-pair ttask move TRELLO-XX "列表名称" |
何时使用 task 与 ttask
对于 Trello 连接的项目(首选):
| 场景 | 命令 |
|---|---|
| 启动任务 | ttask start TRELLO-XX |
| 进度更新 | ttask comment TRELLO-XX "消息" |
| 完成任务 | ttask done TRELLO-XX --summary "..." --list "Deployed/Done" |
| 阻塞任务 | ttask block TRELLO-XX --reason "..." |
对于非 Trello 项目:
| 场景 | 命令 |
|---|---|
| 启动任务 | task update TASK-XXX --status in_progress |
| 完成任务 | task update TASK-XXX --status done |
| 阻塞任务 | task update TASK-XXX --status blocked |
关键洞察: ttask 命令同时处理 Trello 和本地状态。运行 ttask done 后,您不需要再运行 task update——它已处理所有事情。
任务状态值
| 状态 | 含义 | Trello 列表 |
|---|---|---|
pending |
未开始 | 待办事项 / 已计划 |
in_progress |
当前正在处理 | 进行中 |
blocked |
等待某些条件 | 问题 / 已阻塞 |
review |
准备就绪,待审查 | 审查 |
done |
已完成 | 已部署 / 完成 |
工作流检查清单
启动任务时
- 运行:
bpsai-pair task update TASK-XXX --status in_progress - 验证 Trello 卡片已移动
- 阅读任务文件以了解实施计划
- 开始工作
工作期间
- 添加进度评论:
bpsai-pair ttask comment TASK-XXX "状态更新" - 频繁提交,并在提交信息中包含任务 ID
完成任务时
对于 Trello 项目:
- 确保测试通过:
pytest -v - 查找卡片 ID:
bpsai-pair ttask list - 完成:
bpsai-pair ttask done TRELLO-XX --summary "..." --list "Deployed/Done" - 在 state.md 中更新完成内容
- 提交更改,并在提交信息中包含任务 ID
对于非 Trello 项目:
- 确保测试通过:
pytest -v - 完成:
bpsai-pair task update TASK-XXX --status done - 在 state.md 中更新完成内容
- 提交更改,并在提交信息中包含任务 ID
验证脚本
使用这些脚本在完成前进行验证:
验证任务文件格式
python .claude/skills/managing-task-lifecycle/scripts/validate_task_status.py TASK-XXX
检查:前置元数据、必填字段、有效状态、验收标准部分。
检查完成准备情况
python .claude/skills/managing-task-lifecycle/scripts/check_completion.py TASK-XXX
运行:任务文件验证、测试、代码检查、git 状态。
验证循环: 运行 → 修复问题 → 重新运行直到所有检查通过。
Trello 同步命令
# 检查 Trello 连接状态
bpsai-pair trello status
# 将计划同步到 Trello(创建/更新卡片)
bpsai-pair plan sync-trello PLAN-ID
# 强制从 Trello 刷新
bpsai-pair trello refresh
完整 CLI 参考
有关完整的命令文档,请参阅 reference/all-cli-commands.md。