tackle-harness 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.en.md +259 -0
- package/README.md +261 -0
- package/bin/tackle.js +150 -0
- package/package.json +29 -0
- package/plugins/contracts/plugin-interface.js +244 -0
- package/plugins/core/hook-skill-gate/index.js +437 -0
- package/plugins/core/hook-skill-gate/plugin.json +12 -0
- package/plugins/core/provider-memory-store/index.js +403 -0
- package/plugins/core/provider-memory-store/plugin.json +9 -0
- package/plugins/core/provider-role-registry/index.js +477 -0
- package/plugins/core/provider-role-registry/plugin.json +9 -0
- package/plugins/core/provider-state-store/index.js +244 -0
- package/plugins/core/provider-state-store/plugin.json +9 -0
- package/plugins/core/skill-agent-dispatcher/plugin.json +13 -0
- package/plugins/core/skill-agent-dispatcher/skill.md +912 -0
- package/plugins/core/skill-batch-task-creator/plugin.json +13 -0
- package/plugins/core/skill-batch-task-creator/skill.md +616 -0
- package/plugins/core/skill-checklist/plugin.json +10 -0
- package/plugins/core/skill-checklist/skill.md +115 -0
- package/plugins/core/skill-completion-report/plugin.json +10 -0
- package/plugins/core/skill-completion-report/skill.md +331 -0
- package/plugins/core/skill-experience-logger/plugin.json +10 -0
- package/plugins/core/skill-experience-logger/skill.md +235 -0
- package/plugins/core/skill-human-checkpoint/plugin.json +10 -0
- package/plugins/core/skill-human-checkpoint/skill.md +194 -0
- package/plugins/core/skill-progress-tracker/plugin.json +10 -0
- package/plugins/core/skill-progress-tracker/skill.md +204 -0
- package/plugins/core/skill-role-manager/plugin.json +10 -0
- package/plugins/core/skill-role-manager/skill.md +252 -0
- package/plugins/core/skill-split-work-package/plugin.json +13 -0
- package/plugins/core/skill-split-work-package/skill.md +446 -0
- package/plugins/core/skill-task-creator/plugin.json +13 -0
- package/plugins/core/skill-task-creator/skill.md +744 -0
- package/plugins/core/skill-team-cleanup/plugin.json +10 -0
- package/plugins/core/skill-team-cleanup/skill.md +266 -0
- package/plugins/core/skill-workflow-orchestrator/plugin.json +13 -0
- package/plugins/core/skill-workflow-orchestrator/skill.md +274 -0
- package/plugins/core/validator-doc-sync/index.js +248 -0
- package/plugins/core/validator-doc-sync/plugin.json +9 -0
- package/plugins/core/validator-work-package/index.js +300 -0
- package/plugins/core/validator-work-package/plugin.json +9 -0
- package/plugins/plugin-registry.json +118 -0
- package/plugins/runtime/config-manager.js +306 -0
- package/plugins/runtime/event-bus.js +187 -0
- package/plugins/runtime/harness-build.js +1019 -0
- package/plugins/runtime/logger.js +174 -0
- package/plugins/runtime/plugin-loader.js +339 -0
- package/plugins/runtime/state-store.js +277 -0
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: split-work-package
|
|
3
|
+
description: Use when user says "拆分工作包", "创建工作包", or needs to break down a task into structured work packages with IDs, estimates, and test cases. This skill creates task definitions ONLY - it does NOT implement them.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<SUBAGENT-STOP>
|
|
7
|
+
If you were dispatched as a subagent to execute a specific task, skip this skill.
|
|
8
|
+
</SUBAGENT-STOP>
|
|
9
|
+
|
|
10
|
+
<STOP>
|
|
11
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
12
|
+
║ 🛑 MANDATORY STOP POINT - 文档优先模式 ║
|
|
13
|
+
║ ║
|
|
14
|
+
║ Plan 确认后,自动执行以下步骤: ║
|
|
15
|
+
║ Step 7: 写入 docs/wp/WP-XXX.md ║
|
|
16
|
+
║ Step 8: 更新 docs/core/12_工作包清单.md ║
|
|
17
|
+
║ Step 9: 更新 task.md ║
|
|
18
|
+
║ Step 10: 输出简洁报告 → 🛑 停止 ║
|
|
19
|
+
║ ║
|
|
20
|
+
║ ⚠️ 这是自动流程,不需要用户再次确认 ║
|
|
21
|
+
║ ⚠️ bypassPermission 不影响此流程 ║
|
|
22
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
23
|
+
</STOP>
|
|
24
|
+
|
|
25
|
+
<HARD-GATE>
|
|
26
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
27
|
+
║ 📝 文档优先模式 - Plan 确认后自动执行 ║
|
|
28
|
+
║ ║
|
|
29
|
+
║ Plan 确认后,你必须**立即**执行以下步骤: ║
|
|
30
|
+
║ ║
|
|
31
|
+
║ Step 7: 写入 docs/wp/WP-XXX.md(完整工作包文档) ║
|
|
32
|
+
║ Step 8: 更新 docs/core/12_工作包清单.md(追加摘要) ║
|
|
33
|
+
║ Step 9: 更新 task.md(追加概览表行) ║
|
|
34
|
+
║ Step 10: 输出简洁报告 → 🛑 停止 ║
|
|
35
|
+
║ ║
|
|
36
|
+
║ ⚠️ 这是自动流程,不需要用户再次确认 ║
|
|
37
|
+
║ ⚠️ bypassPermission 不影响此流程 ║
|
|
38
|
+
║ ║
|
|
39
|
+
║ DO NOT: ║
|
|
40
|
+
║ ❌ Write any code files (.gd, .js, etc.) ║
|
|
41
|
+
║ ❌ Modify any scene files (.tscn) except documentation ║
|
|
42
|
+
║ ❌ Call human-checkpoint(Plan 确认已是人介入点) ║
|
|
43
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
44
|
+
</HARD-GATE>
|
|
45
|
+
|
|
46
|
+
# Split Work Package (工作包拆分器)
|
|
47
|
+
|
|
48
|
+
将任务拆分成结构化工作包 - **仅创建定义,不实现代码**。
|
|
49
|
+
|
|
50
|
+
## 核心原则
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
54
|
+
│ "拆分工作包" ≠ "执行工作包" │
|
|
55
|
+
│ │
|
|
56
|
+
│ 用户说 "拆分工作包" = 只写文档,不写代码 │
|
|
57
|
+
│ 用户说 "执行" = 开始写代码实现 │
|
|
58
|
+
│ │
|
|
59
|
+
│ 这是两个完全独立的阶段,中间必须有人工确认! │
|
|
60
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## When to Use
|
|
64
|
+
|
|
65
|
+
- 用户说 "拆分工作包" / "创建工作包"
|
|
66
|
+
- 需要将大任务分解成可执行子任务
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 🎯 快速模式 vs 深度模式
|
|
71
|
+
|
|
72
|
+
根据用户提示词自动选择模式:
|
|
73
|
+
|
|
74
|
+
| 用户提示词特征 | 模式 | Plan 阶段行为 |
|
|
75
|
+
|----------------|------|---------------|
|
|
76
|
+
| 包含"只写文档"、"不要执行"、"不具体执行" | **快速模式** | 只定义任务,不分析代码 |
|
|
77
|
+
| 无上述关键词 | **深度模式** | 可自由分析代码、评估复杂度 |
|
|
78
|
+
|
|
79
|
+
### 快速模式(用户明确说"不要执行"时)
|
|
80
|
+
|
|
81
|
+
在 Plan 模式中,你只能:
|
|
82
|
+
- ✅ 确定工作包编号
|
|
83
|
+
- ✅ 写任务标题和目标(1-2句话)
|
|
84
|
+
- ✅ 写子任务列表(可选)
|
|
85
|
+
- ✅ 写验收标准(可选)
|
|
86
|
+
|
|
87
|
+
在 Plan 模式中,你**禁止**:
|
|
88
|
+
- ❌ 读取代码文件分析实现
|
|
89
|
+
- ❌ 检查代码是否存在
|
|
90
|
+
- ❌ 运行任何代码审计
|
|
91
|
+
- ❌ 做任何"执行阶段"才该做的工作
|
|
92
|
+
|
|
93
|
+
**规则**: 快速模式下,Plan 阶段只定义"做什么",不分析"怎么做"或"是否已做"
|
|
94
|
+
|
|
95
|
+
### 深度模式(默认)
|
|
96
|
+
|
|
97
|
+
Plan 阶段可以自由进行:
|
|
98
|
+
- ✅ 读取代码分析依赖
|
|
99
|
+
- ✅ 评估任务复杂度
|
|
100
|
+
- ✅ 检查现有实现
|
|
101
|
+
- ✅ 设计拆分方案
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Forbidden Thoughts
|
|
106
|
+
|
|
107
|
+
| Thought | Reality |
|
|
108
|
+
|---------|---------|
|
|
109
|
+
| "拆分后可以直接开始执行" | ❌ 拆分≠执行,必须等待 |
|
|
110
|
+
| "Plan 确认后可以继续执行" | ❌ Plan 确认只允许文档更新,然后必须停止 |
|
|
111
|
+
| "工作包太简单,不需要验证" | ❌ 任何工作包都必须验证 |
|
|
112
|
+
| "用户想让我立即执行" | ❌ 不要假设,必须确认 |
|
|
113
|
+
| "用户选择了 bypassPermission" | ❌ bypassPermission 不影响停止点 |
|
|
114
|
+
| "用户清除了上下文" | ❌ 清除上下文 ≠ 授权执行代码 |
|
|
115
|
+
| "Plan 已经确认了" | ❌ Plan 确认只允许文档更新,然后必须停止 |
|
|
116
|
+
| "用户选了 bypass,可以跳过文档更新" | ❌ bypass 只跳过权限确认,不跳过文档更新步骤 |
|
|
117
|
+
| "调用 ExitPlanMode 工具" | ❌ 不要调用 ExitPlanMode,让用户在 Plan 界面确认即可 |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 上下文窗口管理
|
|
122
|
+
|
|
123
|
+
仅在深度模式下生效。快速模式不读取文件,无需分块。
|
|
124
|
+
|
|
125
|
+
### 预读估算协议
|
|
126
|
+
|
|
127
|
+
1. 查看文件顶部的 `<!-- CONTEXT-CONFIG -->` 获取限制参数
|
|
128
|
+
2. 先用 Glob 发现文件,用 Bash `wc -l` 估算行数
|
|
129
|
+
3. 估算公式: 每行代码 ≈ 10 tokens,每行文本 ≈ 5 tokens
|
|
130
|
+
4. 可用预算 = max_tokens - safety_margin
|
|
131
|
+
|
|
132
|
+
### 读取策略决策树
|
|
133
|
+
|
|
134
|
+
| 文件估算行数 | 策略 |
|
|
135
|
+
|-------------|------|
|
|
136
|
+
| ≤ thresholds.small (200行) | 直接用 Read 工具读取整个文件 |
|
|
137
|
+
| thresholds.small ~ thresholds.medium (200-800行) | 分块读取: Read(offset, limit=chunk_lines) |
|
|
138
|
+
| > thresholds.medium (800行) | Grep 扫描关键模式 → 定位行范围 → Read 目标段 |
|
|
139
|
+
| 多文件合计超预算 | 排序优先级 → 读高优 → 低优用 Grep |
|
|
140
|
+
|
|
141
|
+
### 分块读取协议
|
|
142
|
+
|
|
143
|
+
1. **首块**(1 ~ chunk_lines): 建立"结构地图"(类/函数/节标题位置)
|
|
144
|
+
2. **后续块**: 根据结构地图判断是否包含相关内容
|
|
145
|
+
3. **提前终止**: 已获得足够信息时停止读取,不读完整文件
|
|
146
|
+
4. **跨块引用**: 记录依赖但不回读
|
|
147
|
+
|
|
148
|
+
### 语义边界规则(优先级从高到低)
|
|
149
|
+
|
|
150
|
+
1. 函数/方法边界 - 不在函数体中间断开
|
|
151
|
+
2. 类边界 - 不在类定义中间断开
|
|
152
|
+
3. Markdown 节标题 - 在 `##`/`###` 处断开
|
|
153
|
+
4. 代码块边界 - 在 `{ }` 之间断开
|
|
154
|
+
5. 行边界 - 最后手段
|
|
155
|
+
|
|
156
|
+
### 部分分析的合并
|
|
157
|
+
|
|
158
|
+
置信度标注:
|
|
159
|
+
- **[HIGH]** 基于完整直接读取
|
|
160
|
+
- **[MEDIUM]** 基于部分读取 + 结构推断
|
|
161
|
+
- **[LOW]** 仅基于 Grep 结果
|
|
162
|
+
|
|
163
|
+
在 Plan 中包含"上下文缺口"子节:
|
|
164
|
+
```
|
|
165
|
+
## 上下文缺口
|
|
166
|
+
| 文件 | 未读部分 | 影响 | 建议 |
|
|
167
|
+
|------|----------|------|------|
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 工作包拆分专属规则
|
|
171
|
+
|
|
172
|
+
1. **范围优先**: 先用 Glob 映射完整文件范围
|
|
173
|
+
2. **依赖扫描**: 用 Grep 扫描跨文件依赖(import/require)而非全文读取
|
|
174
|
+
3. **定向读取**: 只 Read 需要直接修改的主文件
|
|
175
|
+
4. **接口提取**: 依赖文件用 Grep 提取接口签名
|
|
176
|
+
5. **粗粒度偏好**: 分析不完整时,偏向更大粒度的拆分,避免基于不完整信息的细粒度拆分
|
|
177
|
+
6. **重分析标记**: 在工作包中标记"需要实现阶段重新分析"的文件
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Two-Phase Architecture
|
|
182
|
+
|
|
183
|
+
### Phase 1: CREATE WORK PACKAGE (本 Skill 的职责)
|
|
184
|
+
|
|
185
|
+
**触发**: 用户说 "拆分工作包"
|
|
186
|
+
|
|
187
|
+
**允许的操作**:
|
|
188
|
+
- ✅ 读取项目文件(分析依赖)
|
|
189
|
+
- ✅ 写入 `docs/wp/WP-XXX.md`
|
|
190
|
+
- ✅ 更新 `docs/core/12_工作包清单.md`
|
|
191
|
+
- ✅ 更新 `task.md`
|
|
192
|
+
|
|
193
|
+
**禁止的操作**:
|
|
194
|
+
- ❌ 创建/修改任何 `.gd` 文件
|
|
195
|
+
- ❌ 创建/修改任何 `.tscn` 场景文件
|
|
196
|
+
- ❌ 创建/修改任何资源文件 `.tres`
|
|
197
|
+
- ❌ 执行任何代码实现
|
|
198
|
+
- ❌ 调用 human-checkpoint(Plan 确认已是人介入点)
|
|
199
|
+
|
|
200
|
+
**结束标志**: 输出完成报告 → 🛑 停止
|
|
201
|
+
|
|
202
|
+
### Phase 2: IMPLEMENT WORK PACKAGE (需要用户明确触发)
|
|
203
|
+
|
|
204
|
+
**触发**: 用户明确说 "执行" / "开始"
|
|
205
|
+
|
|
206
|
+
**允许的操作**:
|
|
207
|
+
- ✅ 所有代码实现操作
|
|
208
|
+
- ✅ 创建/修改场景文件
|
|
209
|
+
- ✅ 写测试代码
|
|
210
|
+
|
|
211
|
+
**如何进入**: 只有当用户在 Phase 1 完成后,**在新的一轮对话中**明确说 "执行" 时才能进入
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Flow Diagram
|
|
216
|
+
|
|
217
|
+
```dot
|
|
218
|
+
digraph split_wp_v4 {
|
|
219
|
+
rankdir=TB;
|
|
220
|
+
node [shape=box];
|
|
221
|
+
|
|
222
|
+
"用户说'拆分工作包'" [shape=ellipse, style=filled, fillcolor=lightblue];
|
|
223
|
+
"进入 Plan 模式" [shape=box, style=filled, fillcolor=yellow];
|
|
224
|
+
"分析任务需求" [shape=box];
|
|
225
|
+
"拆分子任务" [shape=box];
|
|
226
|
+
"生成工作包结构" [shape=box];
|
|
227
|
+
"分配 WP ID" [shape=box];
|
|
228
|
+
"写入 plan.md" [shape=box];
|
|
229
|
+
"用户审核 Plan" [shape=diamond, style=filled, fillcolor=lightyellow];
|
|
230
|
+
|
|
231
|
+
subgraph cluster_phase1 {
|
|
232
|
+
label="文档优先模式:Plan 确认后自动执行";
|
|
233
|
+
style=dashed;
|
|
234
|
+
color=blue;
|
|
235
|
+
|
|
236
|
+
"写入 WP-XXX.md" [shape=box];
|
|
237
|
+
"更新 12_工作包清单.md" [shape=box];
|
|
238
|
+
"更新 task.md" [shape=box];
|
|
239
|
+
"输出完成报告" [shape=box];
|
|
240
|
+
"🛑 停止" [shape=box, style=filled, fillcolor=red];
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
"用户说'拆分工作包'" -> "进入 Plan 模式";
|
|
244
|
+
"进入 Plan 模式" -> "分析任务需求";
|
|
245
|
+
"分析任务需求" -> "拆分子任务";
|
|
246
|
+
"拆分子任务" -> "生成工作包结构";
|
|
247
|
+
"生成工作包结构" -> "分配 WP ID";
|
|
248
|
+
"分配 WP ID" -> "写入 plan.md";
|
|
249
|
+
"写入 plan.md" -> "用户审核 Plan";
|
|
250
|
+
"用户审核 Plan" -> "写入 WP-XXX.md" [label="确认"];
|
|
251
|
+
"用户审核 Plan" -> "修改计划" [label="修改", style=dashed];
|
|
252
|
+
|
|
253
|
+
"写入 WP-XXX.md" -> "更新 12_工作包清单.md";
|
|
254
|
+
"更新 12_工作包清单.md" -> "更新 task.md";
|
|
255
|
+
"更新 task.md" -> "输出完成报告";
|
|
256
|
+
"输出完成报告" -> "🛑 停止";
|
|
257
|
+
}
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Execution Steps
|
|
263
|
+
|
|
264
|
+
### Step 0: 进入 Plan 模式(必须首先执行)
|
|
265
|
+
|
|
266
|
+
**⚠️ 立即调用 `EnterPlanMode` 工具进入 Plan 模式!**
|
|
267
|
+
|
|
268
|
+
不要跳过这一步。不要直接开始分析。必须先进入 Plan 模式。
|
|
269
|
+
|
|
270
|
+
### Phase 1: Plan Mode 阶段
|
|
271
|
+
|
|
272
|
+
在 Plan 模式中完成以下工作:
|
|
273
|
+
|
|
274
|
+
1. **识别任务** - 确定用户指定的任务
|
|
275
|
+
2. **分析范围** - 理解技术要求、依赖关系、涉及文件
|
|
276
|
+
3. **生成工作包结构** - 创建唯一 ID、预估AI时间、测试用例
|
|
277
|
+
4. **写入 plan.md** - 将完整计划写入 `.claude/plan.md`
|
|
278
|
+
5. **等待用户确认** - 在 Plan 界面等待用户审核确认
|
|
279
|
+
|
|
280
|
+
**⚠️ Plan 完成后,等待用户在 Plan 界面确认,然后自动进入文档输出阶段。不要调用 ExitPlanMode 工具!**
|
|
281
|
+
|
|
282
|
+
### Phase 2: 文档输出阶段(Plan 确认后,自动执行)
|
|
283
|
+
|
|
284
|
+
<POST-PLAN-MANDATORY>
|
|
285
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
286
|
+
║ 📝 文档优先模式 - Plan 确认后自动执行 ║
|
|
287
|
+
║ ║
|
|
288
|
+
║ Plan 确认后,你必须**立即**执行以下步骤: ║
|
|
289
|
+
║ ║
|
|
290
|
+
║ Step 1: 识别任务范围 ║
|
|
291
|
+
║ Step 2: 分析依赖关系 ║
|
|
292
|
+
║ Step 3: 生成工作包结构 ║
|
|
293
|
+
║ Step 4: 写入 docs/wp/WP-XXX.md ║
|
|
294
|
+
║ Step 5: 更新 docs/core/12_工作包清单.md ║
|
|
295
|
+
║ Step 6: 更新 task.md ║
|
|
296
|
+
║ Step 7: 输出简洁报告 → 🛑 停止 ║
|
|
297
|
+
║ ║
|
|
298
|
+
║ ⚠️ 这是自动流程,不需要用户再次确认 ║
|
|
299
|
+
║ ⚠️ bypassPermission 不影响此流程 ║
|
|
300
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
301
|
+
</POST-PLAN-MANDATORY>
|
|
302
|
+
|
|
303
|
+
**⚠️ 此阶段只允许更新文档!**
|
|
304
|
+
|
|
305
|
+
1. **识别任务** - 确定用户指定的任务
|
|
306
|
+
2. **分析范围** - 理解技术要求、依赖关系、涉及文件
|
|
307
|
+
3. **生成工作包** - 创建唯一 ID、预估AI时间、测试用例
|
|
308
|
+
4. **写入工作包文档** - 创建 `docs/wp/WP-XXX.md`
|
|
309
|
+
5. **更新清单** - 追加到 `docs/core/12_工作包清单.md`
|
|
310
|
+
6. **同步 task.md** - 在工作包概览表添加新行
|
|
311
|
+
7. **输出简洁报告** - 向用户报告新增的 WP ID,然后 **🛑 停止**
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Completion Report Format
|
|
316
|
+
|
|
317
|
+
```markdown
|
|
318
|
+
✅ 工作包创建完成
|
|
319
|
+
|
|
320
|
+
📦 **工作包**: WP-XXX - 工作包名称
|
|
321
|
+
📊 **优先级**: P0/P1/P2
|
|
322
|
+
⏱️ **预估AI时间**: Xmin
|
|
323
|
+
📋 **子任务数**: X 个
|
|
324
|
+
🧪 **测试用例**: X 个
|
|
325
|
+
|
|
326
|
+
📁 **已更新文档**:
|
|
327
|
+
- docs/wp/WP-XXX.md
|
|
328
|
+
- docs/core/12_工作包清单.md
|
|
329
|
+
- task.md
|
|
330
|
+
|
|
331
|
+
🛑 **任务创建完成,等待您的下一步指示**
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
**输出报告后,直接 🛑 停止**
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## 🛑 MANDATORY STOP BEHAVIOR
|
|
339
|
+
|
|
340
|
+
**文档优先模式:Plan 确认后自动写文档,然后停止。**
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
344
|
+
║ 📝 文档优先模式 ║
|
|
345
|
+
║ ║
|
|
346
|
+
║ Plan 确认后: ║
|
|
347
|
+
║ ✅ 自动写入 docs/wp/WP-XXX.md ║
|
|
348
|
+
║ ✅ 自动更新 docs/core/12_工作包清单.md ║
|
|
349
|
+
║ ✅ 自动更新 task.md ║
|
|
350
|
+
║ ✅ 输出简洁报告 ║
|
|
351
|
+
║ ✅ 🛑 停止等待用户下一步指示 ║
|
|
352
|
+
║ ║
|
|
353
|
+
║ DO NOT (绝对禁止): ║
|
|
354
|
+
║ ❌ 调用 human-checkpoint(Plan 确认已是人介入点) ║
|
|
355
|
+
║ ❌ 自动开始代码实现 ║
|
|
356
|
+
║ ❌ 开始写任何代码文件 ║
|
|
357
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## Work Package ID Rules
|
|
363
|
+
|
|
364
|
+
| 规则 | 示例 |
|
|
365
|
+
|------|------|
|
|
366
|
+
| 工作包 ID | `WP-XXX` (三位数字) |
|
|
367
|
+
| 顺序递增 | WP-001 → WP-002 → WP-003 |
|
|
368
|
+
| 子任务 ID | `模块前缀-序号` (如 GAZE-001, SHOP-002) |
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Work Package Template
|
|
373
|
+
|
|
374
|
+
```markdown
|
|
375
|
+
## WP-XXX: 工作包名称 (优先级) 📋
|
|
376
|
+
|
|
377
|
+
### 状态
|
|
378
|
+
- **代码状态**: 📋 待开始
|
|
379
|
+
- **测试状态**: 📋 待开始
|
|
380
|
+
- **依赖**: 无 / WP-XXX
|
|
381
|
+
|
|
382
|
+
### 任务列表
|
|
383
|
+
| 任务ID | 任务名称 | 预估 | 测试数 | 状态 |
|
|
384
|
+
|--------|----------|------|--------|------|
|
|
385
|
+
| XXX-001 | 任务描述 | Xmin | X | 📋 待开始 |
|
|
386
|
+
|
|
387
|
+
### XXX-001: 任务名称
|
|
388
|
+
|
|
389
|
+
#### 实现内容
|
|
390
|
+
- [ ] 具体实现项1
|
|
391
|
+
- [ ] 具体实现项2
|
|
392
|
+
|
|
393
|
+
#### 涉及文件
|
|
394
|
+
```
|
|
395
|
+
scripts/path/to/file.gd
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
#### 验收标准
|
|
399
|
+
- [ ] XXX-001-A1: 验收项1
|
|
400
|
+
|
|
401
|
+
#### 测试用例
|
|
402
|
+
| 测试ID | 测试内容 | 预期结果 |
|
|
403
|
+
|--------|----------|----------|
|
|
404
|
+
| XXX-001-T1 | 测试描述 | 预期结果 |
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## 文件路径约定
|
|
410
|
+
|
|
411
|
+
| 文件类型 | 允许在本 Skill 中修改 |
|
|
412
|
+
|----------|----------------------|
|
|
413
|
+
| `docs/wp/WP-XXX.md` | ✅ 允许 |
|
|
414
|
+
| `docs/core/12_工作包清单.md` | ✅ 允许 |
|
|
415
|
+
| `task.md` | ✅ 允许 |
|
|
416
|
+
| `scripts/**/*.gd` | ❌ 禁止 |
|
|
417
|
+
| `scenes/**/*.tscn` | ❌ 禁止 |
|
|
418
|
+
| 其他任何代码文件 | ❌ 禁止 |
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
## Split Principles
|
|
423
|
+
|
|
424
|
+
| 原则 | 说明 |
|
|
425
|
+
|------|------|
|
|
426
|
+
| 单一聚焦 | 每个工作包聚焦单一模块/功能 |
|
|
427
|
+
| 粒度控制 | 子任务 5-30 分钟(AI执行) |
|
|
428
|
+
| 测试覆盖 | 每个子任务至少 3 个测试用例 |
|
|
429
|
+
| 依赖标注 | 明确标注前置依赖 |
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## Priority Definition
|
|
434
|
+
|
|
435
|
+
| 优先级 | 含义 |
|
|
436
|
+
|--------|------|
|
|
437
|
+
| P0 | 阻塞性问题,必须立即处理 |
|
|
438
|
+
| P1 | 重要功能,当前迭代需要 |
|
|
439
|
+
| P2 | 优化改进,可延后处理 |
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## Related Skills
|
|
444
|
+
|
|
445
|
+
- **task-creator**: 单任务创建(推荐使用)
|
|
446
|
+
- **batch-task-creator**: 批量任务创建
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "skill-task-creator",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"description": "任务创建 Skill - 创建工作包定义(仅定义不实现),包含复杂度评估、智能拆分模式和 Plan 模式流程",
|
|
6
|
+
"triggers": ["创建任务", "新建任务", "添加任务", "task-creator", "create task", "new task", "add task"],
|
|
7
|
+
"dependencies": ["provider:state-store"],
|
|
8
|
+
"provides": ["skill:task-creator"],
|
|
9
|
+
"metadata": {
|
|
10
|
+
"gatedByCode": true
|
|
11
|
+
},
|
|
12
|
+
"config": {}
|
|
13
|
+
}
|