← ClaudeAtlas

block-tasklisted

标记任务为阻塞状态并记录原因
fitlab-ai/agent-infra · ★ 57 · AI & Automation · score 79
Install: claude install-skill fitlab-ai/agent-infra
# 标记任务阻塞 ## 行为边界 / 关键规则 - 本命令更新任务元数据并物理移动任务目录 - 仅在确实无法继续时才阻塞 —— 如果是可以克服的困难,先尝试解决 ## 使用场景 - **技术问题**:无法解决的 Bug、缺少依赖、基础设施问题 - **需求问题**:需求不明确、规格冲突、待定决策 - **资源问题**:缺少访问权限、等待外部团队、被其他任务阻塞 - **需要决策**:待定的架构决策、需要利益相关者批准 版本戳规则:创建或更新 `task.md` frontmatter 时,先读取 `.agents/rules/version-stamp.md`,并写入或刷新 `agent_infra_version`。 ## 执行步骤 ### 1. 验证任务存在 检查任务是否存在于 `.agents/workspace/active/{task-id}/`。 注意:`{task-id}` 格式为 `TASK-{yyyyMMdd-HHmmss}`,例如 `TASK-20260306-143022` 如果未找到,检查其他目录并告知用户。 ### 2. 分析阻塞原因 阻塞之前,彻底分析: - [ ] 具体的问题是什么? - [ ] 根本原因是什么? - [ ] 已经尝试了哪些解决方案? - [ ] 需要什么帮助或信息才能解除阻塞? ### 3. 更新任务元数据 获取当前时间: ```bash date "+%Y-%m-%d %H:%M:%S%:z" ``` 更新 `.agents/workspace/active/{task-id}/task.md`: - `status`:blocked - `blocked_at`:{当前时间戳} - `updated_at`:{当前时间戳} - `agent_infra_version`:按 `.agents/rules/version-stamp.md` 取值 - **追加**到 `## Activity Log`(不要覆盖之前的记录): ``` - {YYYY-MM-DD HH:mm:ss±HH:MM} — **Blocked** by {agent} — {一行原因} ``` 在 task.md 中添加阻塞信息部分。 ### 4. 移动任务到 blocked 目录 ```bash mv .agents/workspace/active/{task-id} .agents/workspace/blocked/{task-id} ``` ### 5. 验证移动 ```bash ls .agents/workspace/blocked/{task-id}/task.md ``` ### 6. 同步到 Issue(可选) 检查 `task.md` 中是否存在有效的 `issue_number`。如果没有,跳过。 > Issue 同步的 status label 规则见 `.agents/rules/issue-sync.md`。执行同步前先读取该文件,完成 upstream 仓库检测和权限检测。 如果存在有效的 `issue_number`,按 issue-sync.md 设置 `status: blocked`。 ### 7. 完成校验 运行完成校验,确认任务产物和同步状态符合规范: ```bash node .agents/scripts/validate-artifact.js gate block-task .agents/workspac