원클릭으로
分析任务并输出需求分析文档
npx skills add https://github.com/fitlab-ai/agent-infra --skill analyze-task이 명령을 Claude Code에 복사하여 붙여넣어 스킬을 설치하세요
分析任务并输出需求分析文档
npx skills add https://github.com/fitlab-ai/agent-infra --skill analyze-task이 명령을 Claude Code에 복사하여 붙여넣어 스킬을 설치하세요
| name | analyze-task |
| description | 分析任务并输出需求分析文档 |
analysis.md 或 analysis-r{N}.md)—— 不修改任何业务代码task.md 中已有的需求、上下文和来源信息展开分析版本戳规则:创建或更新 task.md frontmatter 时,先读取 .agents/rules/version-stamp.md,并写入或刷新 agent_infra_version。
在加载 workflow / skill / rules 指令之后、做任何任务状态判断或用户可见结论之前,必须先执行状态核对。指令类文件读取不算对外动作或结论。
运行以下命令,并把原文粘贴到回复正文和本轮产物的 ## 状态核对 段:
git status -s
ls -la .agents/workspace/active/{task-id}/
tail .agents/workspace/active/{task-id}/task.md
状态核对完成前,禁止任何关于外部状态的断言(例如“代码没变”“测试已通过”“没有其他引用”),包括思考阶段。本门禁只提供结构下限;逐条证据配对和真实性仍需按报告模板与审查要求核对。
检查必要文件:
.agents/workspace/active/{task-id}/task.md - 任务文件注意:{task-id} 格式为 TASK-{yyyyMMdd-HHmmss},例如 TASK-20260306-143022
如果缺少 task.md,提示用户先创建或导入任务。
扫描 .agents/workspace/active/{task-id}/ 目录中的分析产物文件:
analysis.md 且不存在 analysis-r*.md → 本轮为第 1 轮,产出 analysis.mdanalysis.md 且不存在 analysis-r*.md → 本轮为第 2 轮,产出 analysis-r2.mdanalysis-r{N}.md → 本轮为第 N+1 轮,产出 analysis-r{N+1}.md记录:
{analysis-round}:本轮分析轮次{analysis-artifact}:本轮分析产物文件名仔细阅读 task.md 以理解:
如 task.md 包含以下来源字段,补充读取对应来源信息:
issue_number - Issuecodescan_alert_number - Code Scanning 告警security_alert_number - Dependabot 告警开始分析前:若 frontmatter 的 start_date 为空,立即写入当日日期(命令 date +%F,格式 YYYY-MM-DD);已有值则保留。写入前先读取 .agents/rules/version-stamp.md,并同步刷新 updated_at / agent_infra_version。
遵循 .agents/workflows/feature-development.yaml 中的 analysis 步骤:
必要任务(仅分析,不编写业务代码):
创建 .agents/workspace/active/{task-id}/{analysis-artifact}。
# 需求分析报告
- **分析轮次**:Round {analysis-round}
- **产物文件**:`{analysis-artifact}`
## 状态核对
> 粘贴第 0 步状态核对命令原文;每条命令以 `$ ` 开头。
## 需求来源
**来源类型**:{用户描述 / Issue / Code Scanning / Dependabot / 其他}
**来源摘要**:
> {任务来源或关键上下文}
## 需求理解
{用自己的话重述需求以确认理解}
## 相关文件
- `{file-path}:{line-number}` - {描述}
## 影响评估
**直接影响**:
- {受影响的模块和文件}
**间接影响**:
- {可能受影响的其他部分}
## 技术风险
- {风险描述和缓解思路}
## 依赖关系
- {需要的依赖和与其他模块的协调}
## 工作量和复杂度评估
- 复杂度:{高/中/低}
- 风险等级:{高/中/低}
获取当前时间:
date "+%Y-%m-%d %H:%M:%S%:z"
更新 .agents/workspace/active/{task-id}/task.md:
current_step:requirement-analysisassigned_to:{当前 AI 代理}updated_at:{当前时间}agent_infra_version:按 .agents/rules/version-stamp.md 取值{analysis-artifact}(Round {analysis-round})## 分析 段落,更新为指向 {analysis-artifact} 的链接priority。若重估值与 task.md 当前值不一致:
priority 字段Requirement Analysis (Round N) 条目之前追加一条转移记录:
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Analysis Re-estimate** by {agent} — priority {old} → {new} (rationale: {基于本轮分析的简短依据})
## Activity Log(不要覆盖之前的记录):
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Requirement Analysis (Round {N})** by {agent} — Analysis completed → {analysis-artifact}
如果 task.md 中存在有效的 issue_number,执行以下同步操作(任一失败则跳过并继续):
.agents/rules/issue-sync.md,完成 upstream 仓库检测和权限检测status: pending-design-work.agents/rules/issue-sync.md 中定义的 task 评论标记(按 issue-sync.md 的 task.md 评论同步规则){analysis-artifact} 评论.agents/rules/issue-fields.md,按流程 A 把 task.md 中所有非空的 Issue 字段(priority/effort/start_date/target_date)同步到 Issue(幂等;has_push=false 或取数/写入失败时跳过,不阻断)运行完成校验,确认任务产物和同步状态符合规范:
node .agents/scripts/validate-artifact.js gate analyze-task .agents/workspace/active/{task-id} {analysis-artifact} --format text
处理结果:
将校验输出保留在回复中作为当次验证输出。没有当次校验输出,不得声明完成。
仅在校验通过后执行本步骤。
重要:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果
.agents/.airc.json中配置了自定义 TUI(customTUIs),读取每个工具的name和invoke,按同样格式补充对应命令行(${skillName}替换为技能名,${projectName}替换为项目名)。
输出格式:
任务 {task-id} 分析完成。
摘要:
- 分析轮次:Round {analysis-round}
- 相关文件:{数量}
- 风险等级:{评估}
产出文件:
- 分析报告:.agents/workspace/active/{task-id}/{analysis-artifact}
下一步 - 设计技术方案:
- Claude Code / OpenCode:/plan-task {task-id}
- Gemini CLI:/agent-infra:plan-task {task-id}
- Codex CLI:$plan-task {task-id}
.agents/workspace/active/{task-id}/{analysis-artifact}current_step 为 requirement-analysisupdated_at 为当前时间assigned_to完成检查清单后,立即停止。等待用户审查分析结果并手动调用 plan-task 技能。
task.mdanalysis-r{N}.md标记任务完成并归档
根据技术方案实施任务并输出报告
为任务设计技术方案和实施计划
处理代码审查反馈并修复问题
审查任务实现并输出代码审查报告
执行版本发布后的后处理工作