<< All versions
Skill v1.0.3
currentAutomated scan95/100lync-cyber/cataforge/task-decomp
2 files
──Details
PublishedJuly 9, 2026 at 02:06 PM
Content Hashsha256:f474f5a985f3c351...
Git SHA51e18bb199dd
Bump Typepatch
──Files
Files (1 file, 4.8 KB)
SKILL.md4.8 KBactive
SKILL.md · 65 lines · 4.8 KB
version: "1.0.3" name: task-decomp description: "任务拆分 — 功能到任务的分解,确保粒度单一可控。当 ARCH 完成、需要拆解任务卡、划分 Sprint 或定义 TDD 验收标准时使用。" argument-hint: "<ARCH文档路径或模块列表>" suggested-tools: file_read, file_write, file_edit, file_grep depends: [context, task-dep-analysis] disable-model-invocation: false user-invocable: true
任务拆分 (task-decomp)
能力边界
- 能做: 功能→任务分解、复杂度评级、Sprint 初步划分、TDD 验收标准定义
- 不做: 架构决策、代码实现、测试执行、最终 Sprint 分组判定(依赖关系由 task-dep-analysis 计算并给出权威建议)
输入规范
- ARCH模块划分(M-{NNN}) + 接口契约(API-{NNN})
- UI-SPEC组件(UC-{NNN}) + 页面(P-{NNN})
输出规范
- 任务卡(T-{NNN}),每个包含:
- 目标、模块、接口、复杂度(S/M/L/XL)
- tdd_acceptance: 验收标准映射(GWT 格式,见执行流程 3)
- deliverables: 交付物文件清单
- context_load: context加载清单
- 实现提示(仅在必要时)
- Sprint划分表
- 依赖图 + 关键路径
- 集成/E2E测试规划: 按Sprint标注需验证的模块间交互和端到端用户流程
执行流程
- 从ARCH模块和接口推导任务
- 评估每个任务复杂度:跨越多个模块、或 context_load > 5 个章节、或步骤无法在单次 Agent 调用中枚举完整时,继续拆分
- 定义tdd_acceptance(映射AC)。每条 AC 采用 Given-When-Then 格式:
- Given: 前置条件(输入数据、系统状态)
- When: 触发动作(调用方法、发送请求、用户操作)
- Then: 可观测结果(具体返回值/字段、状态变化、错误类型+消息)
- Then 子句必须包含可断言的具体值或约束,禁止"实现 X"、"支持 Y"等无行为描述
- 契约完整性对账: AC 引用某
arch#§N.API-xxx契约时,把契约声明的全部响应码 / 安全路径 / 集成点逐一与派生 AC 交叉核验;每项须有对应 AC,无对应的须显式标[ASSUMPTION]豁免并附理由
- 定义deliverables(明确交付文件)
- 定义context_load(context引用)
- 建立依赖图: 调用 task-dep-analysis skill 计算拓扑/关键路径/环检测,再用
cataforge viz tasks --format mermaid产出 Mermaid 依赖图并写入 dev-plan#§2 - 按依赖关系划分Sprint(参考 task-dep-analysis 输出的 sprint_groups),遵循 Sprint 切分原则:
- 每个 Sprint 的产出应包含至少一个用户可感知的完整功能
- 优先安排用户核心路径(
user_facing_critical_path: true)的任务到前几个 Sprint - Sprint 1 例外: 基础设施任务允许集中在首个 Sprint,不要求用户可感知功能
- 纯后端服务项目无此约束
- 插入验证任务: 每个包含
user_facing_critical_path: true任务的 Sprint 末尾,追加一个task_kind: validation的验证任务。验证任务不产出代码,orchestrator 遇到时暂停并向用户展示验证清单
Anti-Patterns
- 禁止: 单任务预估 LOC >
TASK_SPLIT_LOC或 AC > 6 条而不拆 —— 超此尺寸任务粒度不再单一,应在 task-decomp 阶段先拆 - 禁止: 把"重构 X"作为独立任务 —— 重构是 TDD REFACTOR 阶段的自然产物,独立 T-xxx 会让重构脱离测试安全网
- 禁止: deliverables 仅写 "实现 X 功能" 而不具体到文件路径 —— sprint-review 无法验证 AC 是否落到声明文件,验收形同虚设
- 避免: 任务横跨 ≥3 个
arch#§2.M-xxx—— 跨模块任务在 task-dep-analysis 输出中容易触发环依赖 - 禁止: AC 仅描述"实现 X 功能"/"支持 Y 格式" —— 模糊 AC 导致 test-writer 退化为存在性检查,无法推导断言期望值
- 禁止: AC 只覆盖被引用
arch#§N.API-xxx契约的正常路径 —— 如契约声明401 E_AUTH+403 E_PERMISSION_DENIED两条安全路径,AC 只测正常返回,缺口要到下游 code-review 标 HIGH 或 pre-wiring 审计才暴露 - 禁止: arch 模块为有序管线(stage 序列)时遗漏某 stage 的承载任务 —— 模块管线含 A→B→C 三 stage 而只为 A、C 建任务卡,B 接线无任务、以空返回满足下游字面 AC,运行时管线在 B 静默断裂;每个 stage 的接线须有任务卡 deliverables 承载
- 禁止: Sprint 内全部为后端任务而无任何用户可感知的功能交付(Sprint 1 例外),除非项目为纯后端服务
- 禁止: task-dep-analysis 报环依赖或无法计算拓扑序时仍输出任务计划 —— 环路使 Sprint 排期失真,应返回 blocked 附环路 task_id 链请人工拆环(COMMON-RULES §通用 Error Handling),不静默降级为无序计划
效率策略
- 先拆后排: 先拆任务再排依赖
- context_load精确到章节,避免全文加载