Resources
6Install
npx skillscat add relunctance/task-split-skill Install via the SkillsCat registry.
SKILL.md
task-split-skill
Overview
Task Decomposition Methodology — AI Agent 将模糊需求变成可执行、可追踪、可验证的工作计划的系统化方法。
两种拆解模式:
- 快速拆解:无 PLAN.md 时,扁平任务列表
- 完整拆分:有 PLAN.md 时,在 milestone 下拆 sub-task
核心原则:复述 + 人工确认
所有关键信息必须经过「复述 + 用户确认」流程,LLM 自己理解的不算数。
触发条件
| 触发词 | 说明 |
|---|---|
任务拆解 / 拆解任务 |
核心触发 |
拆解成 / 分解成 |
带目标句式 |
工作分解 / WBS |
专业术语 |
开始执行 / 执行计划 |
触发完整拆分 |
不触发:
| 不触发 | 原因 |
|---|---|
制定计划 / 写 PLAN |
→ PLAN skill |
评审计划 / review PLAN |
→ plan-review-skill |
追踪目标 / track goal |
→ target-skill |
两种拆解模式
模式判断
拆解前检查 docs/PLAN.md 是否存在:
├── 存在 → 进入「完整拆分」模式
└── 不存在 → 进入「快速拆解」模式快速拆解模式(无 PLAN.md)
Step 0:项目上下文感知(拆解前必做)
如果项目目录已有内容,先理解项目再拆解:
## 🔍 项目上下文感知
正在分析项目结构...
**检测到的信息**:
- 技术栈:{package.json → React, requirements.txt → Python/FastAPI, go.mod → Go...}
- 项目结构:{src/, lib/, api/, docs/...}
- 现有代码模式:{existing patterns if readable}
**问题**:
1. 这个项目是 {技术栈} 的 {webapi/前端/CLI/库} 吗?
2. 现有代码有什么值得注意的模式?
3. 这次任务会影响哪些现有模块?
请告诉我以上信息是否准确,或纠正我的理解。项目上下文检测清单:
| 检测项 | 命令/方法 | 说明 |
|---|---|---|
| 技术栈 | package.json / requirements.txt / go.mod / Cargo.toml / pom.xml |
识别主要技术栈 |
| 项目结构 | ls 根目录 |
识别 src/, lib/, api/, docs/ 等 |
| 框架 | 读 package.json 的 dependencies |
React/Vue/Express 等 |
| 代码模式 | 抽检 2-3 个现有文件 | 了解项目规范 |
| 配置 | .env.example / config/ |
了解配置模式 |
如果项目为空(新目录):
## 🔍 项目上下文感知
这是一个新项目。请告诉我:
1. 主要技术栈是什么?(Python/FastAPI, Node/Express, Go, etc.)
2. 项目类型?(Web API, CLI 工具, 前端应用, 库/SDK...)
3. 有特殊项目规范吗?Step 1:澄清问题
## 澄清问题(必须先问)
基于对项目的理解,请回答:
1. 最终交付物是什么?
2. 成功标准是什么?
3. 限制条件有哪些?
4. MVP vs 完整版?Step 2:识别交付物
每个子任务必须有验收标准。
Step 3:分解排序
按依赖关系排序,识别并行分支。
Step 4:风险预判
识别最可能的失败点。
Step 5:输出任务列表
## 拆解结果
**项目**:{目标}
**模式**:快速拆解
### 任务列表
| ID | 任务 | 验收标准 | 优先级 | 依赖 |
|----|------|---------|--------|------|
| 1 | {任务} | {标准} | P0 | — |
| 2 | {任务} | {标准} | P1 | #1 |完整拆分模式(有 PLAN.md)
Step 0:项目上下文感知(与快速模式相同)
在读取 PLAN.md 前,先了解项目当前状态:
## 🔍 项目上下文感知
正在分析项目结构...
**检测到的信息**:
- 技术栈:{package.json → React, requirements.txt → Python/FastAPI...}
- 项目结构:{src/, lib/, api/, docs/...}
**问题**:
1. 这个项目是 {技术栈} 的 {webapi/前端/CLI/库} 吗?
2. 现有代码有什么值得注意的模式?
请告诉我以上信息是否准确。Step 1:读取 PLAN.md + 复述确认
## 我对 PLAN.md 的理解
**目标**:{LLM 理解的目标}
**里程碑**:
- M1:{标题} — 验收标准:{标准}
- M2:{标题} — 验收标准:{标准}
**交付物**:{交付物列表}
请确认以上理解是否正确,如有出入请告诉我。Step 2:在 milestone 下拆 sub-task
### M1:{标题}
| ID | sub-task | 验收标准 | 优先级 |
|----|---------|---------|--------|
| M1-1 | {任务} | {标准} | P0 |
| M1-2 | {任务} | {标准} | P1 |Step 3:输出 milestone + subTask
## 拆解结果
**项目**:{目标}
**模式**:完整拆分(基于 PLAN.md)
### Milestone + Sub-task
**M1:{标题}**
| ID | sub-task | 验收标准 | 优先级 | 状态 |
|----|---------|---------|--------|------|
| M1-1 | {任务} | {标准} | P0 | pending |
| M1-2 | {任务} | {标准} | P1 | pending |
**M2:{标题}**
| ID | sub-task | 验收标准 | 优先级 | 状态 |
|----|---------|---------|--------|------|
| M2-1 | {任务} | {标准} | P0 | pending |Step 4:后续选项
### 下一步
1. **开始执行** — 使用 [target-skill](https://github.com/relunctance/target-skill) 追踪
2. **修改拆解** — 告诉我需要调整哪些任务
3. **添加任务** — 告诉我需要在哪个 milestone 下添加用户选择「开始执行」后:
- 写
.task-split.json:将 milestone + subTask 写入项目根目录 - 提示用户:可以输入「开始执行」触发 target-skill
## ✅ 拆解结果已保存
**文件**:`{项目根目录}/.task-split.json`
**下一步**:
1. 输入「开始执行」— 触发 target-skill 追踪
2. 输入「修改拆解」— 调整任务.task-split.json 格式
{
"version": "1.0",
"goal": "{项目目标}",
"source": "PLAN.md",
"createdAt": "YYYY-MM-DDTHH:mm:ss+08:00",
"milestones": [
{
"id": "M1",
"title": "{标题}",
"status": "pending",
"subTasks": [
{
"id": "M1-1",
"title": "{任务}",
"status": "pending",
"priority": "P0",
"acceptanceCriteria": "{验收标准}"
}
]
}
]
}注意:.task-split.json 是 task-split-skill 的输出,target-skill 读取后可转换为 .target-state.json。两个文件可以共存。
与其他 Skill 的关系
与 PLAN skill 的关系
PLAN skill 生成 docs/PLAN.md
↓
task-split-skill 读取 docs/PLAN.md
↓
拆解任务与 plan-review-skill 的关系
plan-review-skill 评审通过
↓
task-split-skill 拆解任务与 target-skill 的关系
task-split-skill 拆解完成
↓
用户说「开始执行」
↓
target-skill 追踪 milestone + sub-task边界情况处理
常见错误与处理
| 边界情况 | 识别方法 | 处理方式 |
|---|---|---|
| PLAN.md 表格损坏 | 解析失败 | 提示用户「PLAN.md 格式有误,请检查表格」 |
| .task-split.json 被手动修改 | JSON 无效 | 提示用户「.task-split.json 格式错误,请重新拆解」 |
| milestone ID 重复 | 解析时发现重复 | 重命名为 M1a, M1b |
| subTask ID 缺少 milestone 前缀 | ID 不匹配 | 自动补充前缀(如 1 → M1-1) |
| 用户跳过 Step 0 直接拆解 | 未执行上下文感知 | 提示「建议先执行 Step 0 了解项目」 |
错误提示模板
## ⚠️ PLAN.md 解析失败
**问题**:无法解析里程碑表格
**原因**:表格格式不正确或缺少必需列
**修复**:请检查 docs/PLAN.md 中的里程碑表格:
- 必须包含列:ID, 里程碑, 验收标准
- 每行必须有 ID(如 M1, M2)
请修正后重新执行「拆解任务」。## ⚠️ .task-split.json 格式错误
**问题**:JSON 解析失败
**原因**:文件内容不是有效的 JSON
**修复**:
1. 输入「修改拆解」重新生成
2. 或手动修正 JSON 格式
请修正后重新执行「开始执行」。## ⚠️ 缺少项目上下文
**问题**:未执行 Step 0 项目上下文感知
**建议**:建议先了解项目再拆解,这样任务更准确。
输入「继续拆解」跳过此步骤,
或告诉我项目的基本信息。依赖检测
## 🔍 依赖检测
拆解前检查以下文件是否存在:
| 文件 | 需要性 | 状态 |
|------|--------|------|
| docs/PLAN.md | 可选 | ✅ 存在 / ❌ 不存在 |
| package.json | 可选 | ✅ 存在 / ❌ 不存在 |
| requirements.txt | 可选 | ✅ 存在 / ❌ 不存在 |
**下一步**:
1. 如果有 PLAN.md → 进入「完整拆分」模式
2. 如果无 PLAN.md 但有其他文件 → 执行 Step 0 后进入「快速拆解」模式
3. 如果无任何文件 → 新项目,执行 Step 0 后进入「快速拆解」模式版本字段
| 文件 | 版本字段 | 位置 |
|---|---|---|
docs/PLAN.md |
version |
frontmatter |
安装
git clone https://github.com/relunctance/task-split-skill.git ~/repos/task-split-skill