analyze-tasklisted
Install: claude install-skill fitlab-ai/agent-infra
# 分析任务
## 行为边界 / 关键规则
- 本技能仅产出需求分析文档(`analysis.md` 或 `analysis-r{N}.md`)—— 不修改任何业务代码
- 严格基于 `task.md` 中已有的需求、上下文和来源信息展开分析
- 执行本技能后,你**必须**立即更新 task.md 中的任务状态
版本戳规则:创建或更新 `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.md` - 任务文件
注意:`{task-id}` 格式为 `TASK-{yyyyMMdd-HHmmss}`,例如 `TASK-20260306-143022`
如果缺少 `task.md`,提示用户先创建或导入任务。
### 2. 确定分析轮次
扫描 `.agents/workspace/active/{task-id}/` 目录中的分析产物文件:
- 如果不存在 `analysis.md` 且不存在 `analysis-r*.md` → 本轮为第 1 轮,产出 `analysis.md`
- 如果存在 `analysis.md` 且不存在 `analysis-r*.md` → 本轮为第 2 轮,产出 `analysis-r2.md`
- 如果存在 `analysis-r{N}.md` → 本轮为第 N+1 轮,产出 `analysis-r{N+1}.md`
记录:
- `{analysis-round}`:本轮分析轮次
- `{analysis-artifact}`:本轮分析产物文件名
### 3. 阅读任务上下文
仔细阅读 `task.md` 以理解:
- 任务标题、描述和需求列表
- 上下文信息(Issue、PR、分支、告警编号等)
- 当前已知的受影响文件和约束
如 `task.md` 包含以下来源字段,补充读取对应来源信息:
- `issue_number` - Issue
- `codescan_alert_number` - Code Scanning 告警
- `security_alert_number` - Dependabot 告警
### 4. 执行需求分析
开始分析前:若 frontmatter 的 `start_date` 为空,立即写入当日日期(命令 `date +%F`,格式 `YYYY-MM-DD`);已有值则保留。写入前先读取