원클릭으로
analyze-task
分析任务并输出需求分析文档。 当需要在动手设计前厘清某个任务的需求、影响范围与风险时使用。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
分析任务并输出需求分析文档。 当需要在动手设计前厘清某个任务的需求、影响范围与风险时使用。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| 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
状态核对完成前,禁止任何关于外部状态的断言(例如“代码没变”“测试已通过”“没有其他引用”),包括思考阶段。本门禁只提供结构下限;逐条证据配对和真实性仍需按报告模板与审查要求核对。
如果
{task-id}入参匹配^[#]?[0-9]+$(裸数字或带#前缀),先读取.agents/rules/task-short-id.md的「SKILL 入参解析」段执行解析;后续命令视{task-id}为解析后的全长TASK-YYYYMMDD-HHMMSS形式。
确认前置条件和轮次后、本轮第一个产出动作之前执行:
agent-infra-internal task-event {task-id} analyze.started --agent {agent}
检查必要文件:
.agents/workspace/active/{task-id}/task.md - 任务文件注意:{task-id} 格式为 TASK-{yyyyMMdd-HHmmss},例如 TASK-20260306-143022
如果缺少 task.md,提示用户先创建或导入任务。
运行 agent-infra-internal task-artifact {task-id} inspect --family analysis。仅当结果为 ready 时继续;从 next.round / next.name 记录 {analysis-round} / {analysis-artifact},从 inputs 读取修订上下文。不得自行扫描轮次或拼装文件名。随后执行 started 事件,并以事件返回的 artifactContext 复核同一身份。
仔细阅读 task.md 以理解:
如 task.md 包含以下来源字段,补充读取对应来源信息:
issue_number - Issuecodescan_alert_number - Code Scanning 告警security_alert_number - Dependabot 告警Round ≥ 2:响应上一轮审查(仅当存在审查产物时):若任务目录存在 review-analysis.md / review-analysis-r{N}.md,读取最高轮次的审查报告;在本轮分析产物中新增 ## 对上一轮审查的响应 段,对每条发现先 Read/Grep 核实,再按 .agents/rules/review-handshake.md 的四态(accepted / adjusted / refuted / cannot-judge)处置——每态都要附相称证据,不默认顺从;并把处置回写 task.md ## 审查分歧账本 对应行(stage=analysis,round +1)。未决分歧写入 ## 未决问题。Round 1 无审查,跳过本段。
本步骤的发问受
.agents/rules/no-mid-flow-questions.md「例外 3:入口式需求充分性澄清」授权:仅在 analyze-task 入口、仅用于判断并补齐需求充分性,一次只问一个问题,绝不借此征求实现 / 技术选型偏好。
排在第 0 步状态核对与步骤 3 之后执行(提问属对外动作,须在状态核对硬闸门之后;判定与状态读写需先读到 task.md)。
4.1 读取跨轮状态:读取 task.md 的 ## Brainstorming 段(不存在则视为首次,question_count=0)。段格式:
## Brainstorming
- status: asking | done
- question_count: <int>
- pending_question: <文本,可空>
- answered:
- Q: … / A: …
4.2 接收上一问的答案:若存在 pending_question:
## 描述 / ## 需求,把该 Q/A 追加进 answered,清空 pending_question(question_count 不变)。pending_question,按下文场景 B 提问早退(不增加 question_count)。4.3 充分性判定(客观清单,命中任一缺口即判为不足):
4.4 分流:
question_count 达上限(≤5)。置 ## Brainstorming 的 status: done,继续步骤 5 起的正常流程;未补齐的缺口写入分析产物 ## 假设 / ## 未决问题。pending_question(上一问尚未得到答案)→ 复述该 pending_question,不修改它、不增加 question_count;## Brainstorming:status: asking、pending_question: <问题>、question_count += 1。start_date 为空,写入当日日期(date +%F);随后执行 agent-infra-internal task-event {task-id} analyze.awaiting-input --agent {agent} --question {question_count},由核心统一更新基础 frontmatter 和 Activity Log。issue_number 时,任一失败跳过):先读 .agents/rules/issue-sync.md 完成 upstream / 权限检测;仅按 task.md 评论同步规则更新 task 评论;status label 维持 pending-design-work;不发布分析产物评论。node .agents/scripts/validate-artifact.js check task-meta .agents/workspace/active/{task-id} --skill analyze-task --format text(早退已置 current_step: requirement-analysis 且已写入 start_date,预期通过);并保留 rg -n 'Analyze Task \(Brainstorming\)' .agents/workspace/active/{task-id}/task.md 与 task 评论同步证据。不跑 artifact gate,也不跑 check activity-log / check platform-sync(二者绑定分析产物路径)。analyze-task {task-ref} 并附答案),并按 .agents/rules/next-step-output.md 在末行追加 Completed at。开始分析前:若 frontmatter 的 start_date 为空,立即写入当日日期(命令 date +%F,格式 YYYY-MM-DD);已有值则保留。写入前先读取 .agents/rules/version-stamp.md,并同步刷新 updated_at / agent_infra_version。
遵循 .agents/workflows/feature-development.yaml 中的 analysis 步骤:
必要任务(仅分析,不编写业务代码):
步骤 6–9 属**场景 A(正常产出)**路径。**场景 B(提问早退)**已在步骤 4 内完成状态更新、task 评论同步与校验并 STOP,不进入这些步骤。
创建 .agents/workspace/active/{task-id}/{analysis-artifact}。
# 需求分析报告
- **分析轮次**:Round {analysis-round}
- **产物文件**:`{analysis-artifact}`
## 状态核对
> 粘贴第 0 步状态核对命令原文;每条命令以 `$ ` 开头。
## 需求来源
**来源类型**:{用户描述 / Issue / Code Scanning / Dependabot / 其他}
**来源摘要**:
> {任务来源或关键上下文}
## 需求理解
{用自己的话重述需求以确认理解}
## 相关文件
- `{file-path}:{line-number}` - {描述}
## 影响评估
**直接影响**:
- {受影响的模块和文件}
**间接影响**:
- {可能受影响的其他部分}
## 技术风险
- {风险描述和缓解思路}
## 依赖关系
- {需要的依赖和与其他模块的协调}
## 假设
> 如本次分析依赖某些假设,列在此处;没有则可省略本段。
- {本轮分析所依赖的假设}
## 未决问题
> 如有需要人工裁定的未决问题,列在此处;没有则可省略本段。
> 普通未决问题列在本段;属关键设计决策的(按 `.agents/rules/no-mid-flow-questions.md` 判据),详情块改写入下方 `## 人工裁决待办` 的 `### HD-N`,本段仅保留一行指针。
- {未决问题}
## 人工裁决待办
> 仅当本轮升级了 `[needs-human-decision]` 关键设计决策时写本段;没有则省略。
> 每项按 `.agents/rules/human-decision-context.md` 写一个自足的 `### HD-N` 块(`HD-N` 全局唯一,见 `.agents/rules/review-handshake.md`),并在 task.md `## 审查分歧账本` upsert 对应 `HD-` 行(evidence 指向 `{analysis-artifact}#HD-N`)。
## 工作量和复杂度评估
- 复杂度:{高/中/低}
- 风险等级:{高/中/低}
更新 .agents/workspace/active/{task-id}/task.md:
priority。若重估值与 task.md 当前值不一致:
priority 字段{analysis-artifact} 中追加 ## 优先级重估 段,记录一条:priority {old} → {new} (rationale: {基于本轮分析的简短依据})
若重估值与当前值一致,跳过:不写入 ## 优先级重估 段。后续 Flow A 同步会读取可能更新过的 frontmatter,并自动把新值同步到 Issue。agent-infra-internal task-event {task-id} analyze.completed --agent {agent} --artifact {analysis-artifact},由核心原子登记链接、阶段、代理、时间、版本和 Activity Log。如果 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 或取数/写入失败时跳过,不阻断)本步骤的 artifact gate 仅用于场景 A;场景 B 的校验见步骤 4(
check task-meta+ 显式证据),不在此跑 artifact gate。
运行完成校验,确认任务产物和同步状态符合规范:
node .agents/scripts/validate-artifact.js gate analyze-task .agents/workspace/active/{task-id} {analysis-artifact} --format text
处理结果:
将校验输出保留在回复中作为当次验证输出。没有当次校验输出,不得声明完成。
本步骤为场景 A 正常完成输出;场景 B 的单问输出见步骤 4。
仅在校验通过后执行本步骤。
重要:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果
.agents/.airc.json中配置了自定义 TUI(customTUIs),读取每个工具的name和invoke,按同样格式补充对应命令行(${skillName}替换为技能名,${projectName}替换为项目名)。 渲染最终输出前,先读取.agents/rules/next-step-output.md并落实其两类规则:(1) 「下一步」命令把{task-ref}渲染为短号#NN(未分配/已释放时回退完整 TASK-id);(2) 在面向用户输出的绝对最后一行追加Completed at收尾行(成功、错误、早退等任何面向用户输出都适用,不限于校验通过的成功态)。
输出格式:
任务 {task-id} 分析完成。
摘要:
- 分析轮次:Round {analysis-round}
- 相关文件:{数量}
- 风险等级:{评估}
产出文件:
- 分析报告:.agents/workspace/active/{task-id}/{analysis-artifact}
下一步 - 审查需求分析:
- Claude Code / OpenCode:/review-analysis {task-ref}
- Gemini CLI:/agent-infra:review-analysis {task-ref}
- Codex CLI:$review-analysis {task-ref}
.agents/workspace/active/{task-id}/{analysis-artifact}current_step 为 requirement-analysisupdated_at 为当前时间assigned_to完成检查清单后,立即停止。等待用户审查分析结果并手动调用 plan-task 技能。
task.mdanalysis-r{N}.md标记任务为阻塞状态并记录原因。 当任务因外部阻塞无法推进、需要挂起并记录原因时使用。
取消不再需要的任务并转移。 当某个任务不再需要、应从 active 工作中撤下时使用。
关闭 Code Scanning 告警并记录理由。 当某条 Code Scanning 告警已处理或需按理由关闭时使用。
关闭 Dependabot 安全告警并记录理由。 当某条 Dependabot 安全告警已处理或需按理由关闭时使用。
标记任务完成并归档。 当任务工作已完成并验证、需要收尾归档时使用。
从平台 Issue 评论还原本地任务文件。 当本地任务文件缺失、需要从平台 Issue 评论还原时使用。