complete-tasklisted
Install: claude install-skill fitlab-ai/agent-infra
# 完成任务
## 行为边界 / 关键规则
- 本命令更新任务元数据并物理移动任务目录
- 除非强制执行,不要转移有未完成工作流步骤的任务
版本戳规则:创建或更新 `task.md` frontmatter 时,先读取 `.agents/rules/version-stamp.md`,并写入或刷新 `agent_infra_version`。
## 第 0 步:状态核对(执行前硬约束)
在加载 workflow / skill / rules 指令之后、做任何任务状态判断或用户可见结论之前,必须先执行状态核对。指令类文件读取不算对外动作或结论。
运行以下命令,并把原文粘贴到回复正文和本轮产物的 `## 状态核对` 段:
```bash
git status -s
ls -la .agents/workspace/active/{task-id}/
tail .agents/workspace/active/{task-id}/task.md
```
状态核对完成前,禁止任何关于外部状态的断言(例如“代码没变”“测试已通过”“没有其他引用”),包括思考阶段。本门禁只提供结构下限;逐条证据配对和真实性仍需按报告模板与审查要求核对。
## 执行步骤
### 1. 验证任务存在
检查任务是否存在于 `.agents/workspace/active/{task-id}/`。
注意:`{task-id}` 格式为 `TASK-{yyyyMMdd-HHmmss}`,例如 `TASK-20260306-143022`
如果在 `active/` 中未找到,检查 `blocked/` 和 `completed/`:
- 如果在 `completed/`:告知用户任务已完成
- 如果在 `blocked/`:告知用户任务被阻塞;建议先解除阻塞
### 2. 验证完成前置条件(未满足则必须停止)
**门控读取(项目级 PR 流程策略)**:在执行本步骤前,读取 `.agents/.airc.json` 的 `requiresPullRequest` 字段;当字段缺失或为 `true` 时视为「启用 PR 流程」(默认),仅当显式为 `false` 时视为「关闭 PR 流程」。下面的工作流步骤完成判定按此规则裁剪。
标记完成之前,验证以下所有条件:
- [ ] 所有工作流步骤已完成(检查 task.md 中的工作流进度;**对 yaml 中 commit 步骤的 `pr_tasks` 列表,仅在 `.agents/.airc.json:requiresPullRequest !== false` 时计入未完成判定**)
- [ ] 代码已审查(`review-code.md` 或 `review-code-r{N}.md` 存在,且最新审查结论为 Approved;或已在外部完成审查)
- [ ] 代码已提交(没有与此任务相关的未提交变更)
- [ ] 测试通过
> **⚠️ 前置条件分支判断 — 你必须先判断“继续”还是“停止”:**
>
> - 如果以上所有条件都满足 → 继续步骤 3
> - 如果任意一个条件不满足 → **默认停止**,输出前置条件未满足的警告
> - 只有用户明确要求 `--force` 时,才可以在前置条件未满足时继续
>
> **禁止在前置条件未满足时继续执行步骤 3-7,也不要输出「任务 {task-id} 已完成,任务目录已转移到 completed/。」**
如果任何前置条件未满足,警告用户:
`