工作量拆分-Cosmic

Polar Sponsor
爱发电 赞助
.NET 9.0

基于 COSMIC 标准的工作量拆分工作流。将需求文档自动拆解为功能点与子过程明细(E/R/W/X 数据移动),生成拆解表格与 CSV 文件。当用户要求进行 COSMIC 拆分、功能点分析、COSMIC 工作量拆解时使用。

COSMIC 工作量拆分工作流

功能概述

COSMIC 工作量拆分工作流是一项面向实际任务的技能,主要用于基于 COSMIC 标准,将需求文档拆解为功能点与子过程明细;通过多步骤工作流(工作区准备 → 功能点摸底 → 用户确认 → 执行拆解 → CSV 导出)完成自动化拆分;

核心要点

  • 用户要求根据需求文档进行 COSMIC 工作量拆分;
  • 用户要求进行功能点分析或 CFP 度量;
  • 用户提到 COSMIC 拆分、COSMIC 功能点等关键词;

使用与执行

用户提供需求文档路。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

COSMIC 工作量拆分工作流

基于 COSMIC 标准,将需求文档拆解为功能点与子过程明细。通过多步骤工作流(工作区准备 → 功能点摸底 → 用户确认 → 执行拆解 → CSV 导出)完成自动化拆分。

何时调用

  • 用户要求根据需求文档进行 COSMIC 工作量拆分
  • 用户要求进行功能点分析或 CFP 度量
  • 用户提到 COSMIC 拆分、COSMIC 功能点等关键词

前置条件

  • 用户提供需求文档路径(支持 .md 或 .docx 格式)
  • 项目根目录下存在 results/ 文件夹

工作流概览

本工作流包含 5 个步骤,通过 TodoWrite 工具追踪进度:

  1. 工作区准备 — 创建产出文件夹、转换文档格式(Task 子代理)
  2. 模块与功能点摸底 — 梳理功能点清单(Task 子代理)
  3. 摸底结果确认 — 与用户沟通确认功能点清单(主 Skill 处理)
  4. 执行 COSMIC 拆解 — 将功能点拆解为子过程描述(Task 子代理)
  5. 拆解结果审阅与 CSV 导出 — 用户审阅、生成最终 CSV(主 Skill 处理)

启动流程

第一步:接收需求文档

从用户消息中获取需求文档的路径。如果用户未提供路径,询问用户提供需求文档。

第二步:确定产出路径

根据需求文档文件名(去掉后缀)确定产出路径:results/<需求文档名>/

例如:需求文档为 docs/ID-E004-客户管理需求.md,则产出路径为 results/ID-E004-客户管理需求/

第三步:推断当前工作进度

检查产出路径下的文件来推断当前处于哪个步骤:

文件状态 推断结论 进入步骤
产出文件夹不存在 全新工作 步骤 1
文件夹存在,无 需求摸底说明与拆分计划.md 工作区已准备,摸底未开始 步骤 2
需求摸底说明与拆分计划.md 存在,所有功能点均为 [ ](无 [x]) 摸底已完成,待用户确认 步骤 3
需求摸底说明与拆分计划.md 存在,部分为 [x]、部分为 [ ] 拆解进行中 步骤 4
所有功能点为 [x] 且 拆解明细.md 存在 拆解完成 步骤 5

第四步:生成 Todo 清单

使用 TodoWrite 工具生成待办事项,根据推断的进度设置各步骤状态:

id: cosmic-step-1, content: "工作区准备(创建文件夹、转换文档格式)"
id: cosmic-step-2, content: "模块与功能点摸底(梳理功能点清单)"
id: cosmic-step-3, content: "摸底结果确认(与用户沟通,确认功能点清单)"
id: cosmic-step-4, content: "执行 COSMIC 拆解(将功能点拆解为子过程描述)"
id: cosmic-step-5, content: "拆解结果审阅与 CSV 导出"

已完成的步骤标记为 completed,当前步骤标记为 in_progress,后续步骤标记为 pending。

第五步:告知用户当前进度

向用户报告推断的进度状态,例如:

  • 全新工作:"检测到这是一份新的需求文档,将从头开始 COSMIC 拆分工作。"
  • 续接工作:"检测到上次工作已进行到【功能点摸底】阶段,将从该步骤继续。"

然后按照对应步骤开始执行。

路径约定

本 Skill 中所有相对路径均相对于 SKILL.md 所在目录解析。例如 prompts/xxx.md 即与本文件同目录下的 prompts/xxx.md。执行 Shell 命令时,需将相对路径拼接为绝对路径后使用。

文件访问链接格式

当主 Skill 向用户汇报已生成或已更新的产出文件时,除了说明文件名称和用途,还必须在 AI 回复中提供可点击的文件访问超链接。

规则如下:

  1. 链接只出现在 AI 回复里,不要写入产出文件正文。
  2. 链接格式优先使用 Markdown 链接 + file:/// 绝对路径 URI。
  3. Windows 本地路径转链接时,将反斜杠 统一替换为正斜杠 /,例如:
- [需求摸底说明与拆分计划](file:///D:/workspace/14.cursor-workspaces/nesma-cosmic/results/xxx/需求摸底说明与拆分计划.md)
- [拆解明细](file:///D:/workspace/14.cursor-workspaces/nesma-cosmic/results/xxx/拆解明细.md)
- [拆解明细 CSV](file:///D:/workspace/14.cursor-workspaces/nesma-cosmic/results/xxx/拆解明细.csv)
  1. 如果平台对本地文件链接支持有限,仍应优先输出上述链接格式,必要时可同时附上绝对路径文本作为兜底。

子代理调度方式

重要:本工作流通过 Task 工具调度子代理,提示词模板存放在 prompts/ 目录下。调度步骤:

  1. 使用 Read 工具读取对应的提示词模板文件
  2. 在提示词前面拼接本次任务的具体参数(文件路径、运行模式等)
  3. 通过 Task 工具(subagent_type: generalPurpose)发起子代理执行

硬性执行约束

以下约束是强制要求,优先级高于"主 agent 自己把事情做完"的一般倾向:

  1. 步骤 1、步骤 2、步骤 4 必须通过 Task 工具执行。 主 agent 不得直接完成这些步骤的正文工作。
  2. 主 agent 在步骤 1、步骤 2、步骤 4 中,只允许做以下事情:
    • 推断当前工作进度
    • 读取提示词模板
    • 拼接运行参数
    • 发起 Task
    • 接收子代理结果
    • 更新 TodoWrite 状态
    • 向用户同步进度或请求确认
  3. 主 agent 在步骤 1、步骤 2、步骤 4 中,禁止做以下事情:
    • 直接读取需求正文后自行进行功能点摸底
    • 直接创建或修改 需求摸底说明与拆分计划.md
    • 直接创建或修改 拆解明细.md
    • 直接执行本应由子代理完成的文档复制、功能点识别、COSMIC 拆解工作
    • 把 prompts/*.md 中的内容当作主 Skill 的执行正文直接照做
  4. 如果 Task 没有成功发起,或者子代理返回失败 / 阻塞,主 agent 必须停止降级执行。 此时只能:
    • 向用户说明当前卡在哪一步
    • 报告已尝试的 Task 调度
    • 请求用户确认是否重试或调整策略
  5. 如果你发现自己已经开始"准备直接做步骤 1 / 2 / 4 的业务内容",说明你偏离了本 Skill 的约束,必须立刻停止并改为先发起 Task。

Task 调度标准模板

在步骤 1、步骤 2、步骤 4 中,统一使用下面的调度顺序:

  1. Read 对应的提示词模板文件
  2. 组装 Task prompt,格式如下:
【本次运行参数】
- 参数 1:...
- 参数 2:...

【执行要求】
- 你必须在本次子代理上下文中完成任务
- 完成后返回产出文件路径、执行结果、是否存在阻塞

【提示词模板正文】