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,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "skill-batch-task-creator",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"description": "批量任务创建 Skill - 批量创建工作包定义(仅定义不实现),支持跨任务依赖声明和全局依赖图生成",
|
|
6
|
+
"triggers": ["批量创建任务", "批量新建任务", "batch-task-creator", "batch create tasks", "create multiple tasks"],
|
|
7
|
+
"dependencies": ["provider:state-store"],
|
|
8
|
+
"provides": ["skill:batch-task-creator"],
|
|
9
|
+
"metadata": {
|
|
10
|
+
"gatedByCode": true
|
|
11
|
+
},
|
|
12
|
+
"config": {}
|
|
13
|
+
}
|
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: batch-task-creator
|
|
3
|
+
description: Use when user says "批量创建任务", "批量新建任务", "一次创建多个任务", or provides a list of tasks to create as work packages. This skill creates task definitions ONLY - it does NOT implement them.
|
|
4
|
+
plan_mode_required: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<SUBAGENT-STOP>
|
|
8
|
+
If you were dispatched as a subagent to execute a specific task, skip this skill.
|
|
9
|
+
</SUBAGENT-STOP>
|
|
10
|
+
|
|
11
|
+
<STOP>
|
|
12
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
13
|
+
║ 🛑 MANDATORY STOP POINT - 文档优先模式 ║
|
|
14
|
+
║ ║
|
|
15
|
+
║ Plan 确认后,自动执行以下步骤: ║
|
|
16
|
+
║ Step 6: 写入 docs/wp/WP-XXX.md (批量) ║
|
|
17
|
+
║ Step 7: 更新 task.md(追加概览表行) ║
|
|
18
|
+
║ Step 8: 输出汇总报告 → 🛑 停止 ║
|
|
19
|
+
║ ║
|
|
20
|
+
║ ⚠️ 这是自动流程,不需要用户再次确认 ║
|
|
21
|
+
║ ⚠️ bypassPermission 不影响此流程 ║
|
|
22
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
23
|
+
</STOP>
|
|
24
|
+
|
|
25
|
+
<HARD-GATE>
|
|
26
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
27
|
+
║ 📝 文档优先模式 - Plan 确认后自动执行 ║
|
|
28
|
+
║ ║
|
|
29
|
+
║ Plan 确认后,你必须**立即**执行以下步骤: ║
|
|
30
|
+
║ ║
|
|
31
|
+
║ Step 6: 写入 docs/wp/WP-XXX.md(批量创建工作包文档) ║
|
|
32
|
+
║ Step 7: 更新 task.md(追加概览表行) ║
|
|
33
|
+
║ Step 8: 输出汇总报告 → 🛑 停止 ║
|
|
34
|
+
║ ║
|
|
35
|
+
║ ⚠️ 这是自动流程,不需要用户再次确认 ║
|
|
36
|
+
║ ⚠️ bypassPermission 不影响此流程 ║
|
|
37
|
+
║ ║
|
|
38
|
+
║ DO NOT: ║
|
|
39
|
+
║ ❌ Write any code files (.gd, .js, etc.) ║
|
|
40
|
+
║ ❌ Modify any scene files (.tscn) except documentation ║
|
|
41
|
+
║ ❌ Call human-checkpoint(Plan 确认已是人介入点) ║
|
|
42
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
43
|
+
</HARD-GATE>
|
|
44
|
+
|
|
45
|
+
# Batch Task Creator (批量任务创建器)
|
|
46
|
+
|
|
47
|
+
批量创建工作包定义 - **仅创建定义,不实现代码**。
|
|
48
|
+
|
|
49
|
+
## 核心原则
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
53
|
+
│ "批量创建任务" ≠ "批量执行任务" │
|
|
54
|
+
│ │
|
|
55
|
+
│ 用户说 "批量创建任务" = 只写文档,不写代码 │
|
|
56
|
+
│ 用户说 "执行" = 开始写代码实现 │
|
|
57
|
+
│ │
|
|
58
|
+
│ 这是两个完全独立的阶段,中间必须有人工确认! │
|
|
59
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 批量任务中的简单任务处理
|
|
63
|
+
|
|
64
|
+
| 任务复杂度 | 处理方式 |
|
|
65
|
+
|------------|----------|
|
|
66
|
+
| 所有任务都简单 | 仍需为每个任务创建工作包 |
|
|
67
|
+
| 部分任务简单 | 简单任务也单独创建工作包 |
|
|
68
|
+
| 全部是 5min 任务 | 批量创建,但每个都要有 WP ID |
|
|
69
|
+
|
|
70
|
+
**核心规则**:批量创建时,不跳过任何任务,无论多简单。执行由 `agent-dispatcher` 负责。
|
|
71
|
+
|
|
72
|
+
## When to Use
|
|
73
|
+
|
|
74
|
+
- 用户说 "批量创建任务" / "批量新建任务"
|
|
75
|
+
- 用户说 "一次创建多个任务"
|
|
76
|
+
- 用户提供任务列表要求拆分
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 🎯 快速模式 vs 深度模式
|
|
81
|
+
|
|
82
|
+
根据用户提示词自动选择模式:
|
|
83
|
+
|
|
84
|
+
| 用户提示词特征 | 模式 | Plan 阶段行为 |
|
|
85
|
+
|----------------|------|---------------|
|
|
86
|
+
| 包含"只写文档"、"不要执行"、"不具体执行" | **快速模式** | 只定义任务,不分析代码 |
|
|
87
|
+
| 无上述关键词 | **深度模式** | 可自由分析代码、评估复杂度 |
|
|
88
|
+
|
|
89
|
+
### 快速模式(用户明确说"不要执行"时)
|
|
90
|
+
|
|
91
|
+
在 Plan 模式中,你只能:
|
|
92
|
+
- ✅ 确定工作包编号
|
|
93
|
+
- ✅ 写任务标题和目标(1-2句话)
|
|
94
|
+
- ✅ 写子任务列表(可选)
|
|
95
|
+
- ✅ 写验收标准(可选)
|
|
96
|
+
|
|
97
|
+
在 Plan 模式中,你**禁止**:
|
|
98
|
+
- ❌ 读取代码文件分析实现
|
|
99
|
+
- ❌ 检查代码是否存在
|
|
100
|
+
- ❌ 运行任何代码审计
|
|
101
|
+
- ❌ 做任何"执行阶段"才该做的工作
|
|
102
|
+
|
|
103
|
+
**规则**: 快速模式下,Plan 阶段只定义"做什么",不分析"怎么做"或"是否已做"
|
|
104
|
+
|
|
105
|
+
### 深度模式(默认)
|
|
106
|
+
|
|
107
|
+
Plan 阶段可以自由进行:
|
|
108
|
+
- ✅ 读取代码分析依赖
|
|
109
|
+
- ✅ 评估任务复杂度
|
|
110
|
+
- ✅ 检查现有实现
|
|
111
|
+
- ✅ 设计拆分方案
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 🆕 智能批量拆分系统
|
|
116
|
+
|
|
117
|
+
### 批量复杂度评估
|
|
118
|
+
|
|
119
|
+
对每个任务独立评估复杂度,然后生成全局执行计划:
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
┌───────────────────────────────────────────────────────────────┐
|
|
123
|
+
│ 批量任务处理流程 │
|
|
124
|
+
│ │
|
|
125
|
+
│ 任务A (简单) ──► WP-XXX (不拆分) │
|
|
126
|
+
│ │
|
|
127
|
+
│ 任务B (中等) ──► WP-YYY (父) │
|
|
128
|
+
│ ├── WP-YYY-1-impl │
|
|
129
|
+
│ ├── WP-YYY-2-test │
|
|
130
|
+
│ ├── WP-YYY-3-verify │
|
|
131
|
+
│ └── WP-YYY-4-review │
|
|
132
|
+
│ │
|
|
133
|
+
│ 任务C (复杂) ──► WP-ZZZ (父) │
|
|
134
|
+
│ ├── WP-ZZZ-1-impl-a │
|
|
135
|
+
│ ├── WP-ZZZ-1-impl-b │
|
|
136
|
+
│ ├── WP-ZZZ-2-test-a │
|
|
137
|
+
│ ├── WP-ZZZ-2-test-b │
|
|
138
|
+
│ ├── WP-ZZZ-3-verify │
|
|
139
|
+
│ └── WP-ZZZ-4-review │
|
|
140
|
+
│ │
|
|
141
|
+
└───────────────────────────────────────────────────────────────┘
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 跨任务依赖声明
|
|
145
|
+
|
|
146
|
+
支持在批量创建时声明任务间的依赖关系:
|
|
147
|
+
|
|
148
|
+
**语法**:
|
|
149
|
+
```
|
|
150
|
+
1. 实现用户认证 (无依赖)
|
|
151
|
+
2. 实现权限系统 (依赖: 1)
|
|
152
|
+
3. 实现审计日志 (依赖: 1, 2)
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**解析后**:
|
|
156
|
+
- WP-XXX: 实现用户认证 (无依赖)
|
|
157
|
+
- WP-YYY: 实现权限系统 (依赖: WP-XXX)
|
|
158
|
+
- WP-ZZZ: 实现审计日志 (依赖: WP-XXX, WP-YYY)
|
|
159
|
+
|
|
160
|
+
### 全局依赖图生成
|
|
161
|
+
|
|
162
|
+
批量创建完成后,生成全局依赖图:
|
|
163
|
+
|
|
164
|
+
```mermaid
|
|
165
|
+
graph TB
|
|
166
|
+
WP-XXX[WP-XXX: 用户认证]
|
|
167
|
+
WP-YYY[WP-YYY: 权限系统]
|
|
168
|
+
WP-ZZZ[WP-ZZZ: 审计日志]
|
|
169
|
+
|
|
170
|
+
WP-XXX --> WP-YYY
|
|
171
|
+
WP-XXX --> WP-ZZZ
|
|
172
|
+
WP-YYY --> WP-ZZZ
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### 拆分模式继承
|
|
176
|
+
|
|
177
|
+
| 任务复杂度 | 拆分模式 | 子工作包数量 |
|
|
178
|
+
|------------|----------|--------------|
|
|
179
|
+
| ≤6 分 | simple | 1 (不拆分) |
|
|
180
|
+
| 7-12 分 | standard | 4 (impl+test+verify+review) |
|
|
181
|
+
| >12 分 | fine-grained | 6+ (按模块细分) |
|
|
182
|
+
|
|
183
|
+
## Forbidden Thoughts
|
|
184
|
+
|
|
185
|
+
| Thought | Reality |
|
|
186
|
+
|---------|---------|
|
|
187
|
+
| "批量创建后可以直接执行" | ❌ 创建≠执行,必须等待 |
|
|
188
|
+
| "Plan 确认后可以继续执行" | ❌ Plan 确认只允许文档更新,然后必须停止 |
|
|
189
|
+
| "用户想让我立即执行" | ❌ 不要假设,必须确认 |
|
|
190
|
+
| "用户选择了 bypassPermission" | ❌ bypassPermission 不影响停止点 |
|
|
191
|
+
| "用户清除了上下文" | ❌ 清除上下文 ≠ 授权执行代码 |
|
|
192
|
+
| "Plan 已经确认了" | ❌ Plan 确认只允许文档更新,然后必须停止 |
|
|
193
|
+
| "用户选了 bypass,可以跳过文档更新" | ❌ bypass 只跳过权限确认,不跳过文档更新步骤 |
|
|
194
|
+
| "这些任务都很简单,不用创建工作包" | ❌ 任何任务都要创建工作包 |
|
|
195
|
+
| "这个任务只有一行代码,跳过" | ❌ 一行代码也要创建工作包 |
|
|
196
|
+
| "批量创建太慢,直接做" | ❌ 必须先创建工作包 |
|
|
197
|
+
| "简单任务不需要工作包" | ❌ 简单任务也要创建工作包 |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 上下文窗口管理
|
|
202
|
+
|
|
203
|
+
仅在深度模式下生效。快速模式不读取文件,无需分块。
|
|
204
|
+
|
|
205
|
+
### 预读估算协议
|
|
206
|
+
|
|
207
|
+
1. 查看文件顶部的 `<!-- CONTEXT-CONFIG -->` 获取限制参数
|
|
208
|
+
2. 先用 Glob 发现文件,用 Bash `wc -l` 估算行数
|
|
209
|
+
3. 估算公式: 每行代码 ≈ 10 tokens,每行文本 ≈ 5 tokens
|
|
210
|
+
4. 可用预算 = max_tokens - safety_margin
|
|
211
|
+
|
|
212
|
+
### 读取策略决策树
|
|
213
|
+
|
|
214
|
+
| 文件估算行数 | 策略 |
|
|
215
|
+
|-------------|------|
|
|
216
|
+
| ≤ thresholds.small (200行) | 直接用 Read 工具读取整个文件 |
|
|
217
|
+
| thresholds.small ~ thresholds.medium (200-800行) | 分块读取: Read(offset, limit=chunk_lines) |
|
|
218
|
+
| > thresholds.medium (800行) | Grep 扫描关键模式 → 定位行范围 → Read 目标段 |
|
|
219
|
+
| 多文件合计超预算 | 排序优先级 → 读高优 → 低优用 Grep |
|
|
220
|
+
|
|
221
|
+
### 分块读取协议
|
|
222
|
+
|
|
223
|
+
1. **首块**(1 ~ chunk_lines): 建立"结构地图"(类/函数/节标题位置)
|
|
224
|
+
2. **后续块**: 根据结构地图判断是否包含相关内容
|
|
225
|
+
3. **提前终止**: 已获得足够信息时停止读取,不读完整文件
|
|
226
|
+
4. **跨块引用**: 记录依赖但不回读
|
|
227
|
+
|
|
228
|
+
### 语义边界规则(优先级从高到低)
|
|
229
|
+
|
|
230
|
+
1. 函数/方法边界 - 不在函数体中间断开
|
|
231
|
+
2. 类边界 - 不在类定义中间断开
|
|
232
|
+
3. Markdown 节标题 - 在 `##`/`###` 处断开
|
|
233
|
+
4. 代码块边界 - 在 `{ }` 之间断开
|
|
234
|
+
5. 行边界 - 最后手段
|
|
235
|
+
|
|
236
|
+
### 部分分析的合并
|
|
237
|
+
|
|
238
|
+
置信度标注:
|
|
239
|
+
- **[HIGH]** 基于完整直接读取
|
|
240
|
+
- **[MEDIUM]** 基于部分读取 + 结构推断
|
|
241
|
+
- **[LOW]** 仅基于 Grep 结果
|
|
242
|
+
|
|
243
|
+
在 Plan 中包含"上下文缺口"子节:
|
|
244
|
+
```
|
|
245
|
+
## 上下文缺口
|
|
246
|
+
| 文件 | 未读部分 | 影响 | 建议 |
|
|
247
|
+
|------|----------|------|------|
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### 批量创建专属规则
|
|
251
|
+
|
|
252
|
+
1. **跨任务去重**: 先列出所有任务引用的文件,去重后再读取
|
|
253
|
+
2. **全局预算分配**: 高复杂度任务优先获得读取额度
|
|
254
|
+
3. **简单任务跳过**: 简单模式任务(score≤6)跳过文件分析
|
|
255
|
+
4. **每任务限额**: 每个任务最多读取 chunk_lines × 2 行
|
|
256
|
+
5. **覆盖度报告**: 完成报告增加"上下文覆盖度"列
|
|
257
|
+
```
|
|
258
|
+
| 任务 | 已分析文件 | 跳过文件 | 覆盖度 |
|
|
259
|
+
|------|-----------|----------|--------|
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## 核心流程
|
|
265
|
+
|
|
266
|
+
**触发**: 用户说 "批量创建任务"
|
|
267
|
+
|
|
268
|
+
**允许的操作**:
|
|
269
|
+
- ✅ 读取项目文件(分析依赖)
|
|
270
|
+
- ✅ 写入 `docs/wp/WP-XXX.md`
|
|
271
|
+
- ✅ 更新 `task.md`
|
|
272
|
+
|
|
273
|
+
**禁止的操作**:
|
|
274
|
+
- ❌ 创建/修改任何 `.gd` 文件
|
|
275
|
+
- ❌ 创建/修改任何 `.tscn` 场景文件
|
|
276
|
+
- ❌ 创建/修改任何资源文件 `.tres`
|
|
277
|
+
- ❌ 执行任何代码实现
|
|
278
|
+
- ❌ 调用 human-checkpoint(Plan 确认已是人介入点)
|
|
279
|
+
|
|
280
|
+
**结束标志**: 输出完成报告 → 🛑 停止
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Flow Diagram
|
|
285
|
+
|
|
286
|
+
```dot
|
|
287
|
+
digraph batch_creator_v4 {
|
|
288
|
+
rankdir=TB;
|
|
289
|
+
node [shape=box];
|
|
290
|
+
|
|
291
|
+
"用户说'批量创建任务'" [shape=ellipse, style=filled, fillcolor=lightblue];
|
|
292
|
+
"进入 Plan 模式" [shape=box, style=filled, fillcolor=yellow];
|
|
293
|
+
"解析任务列表" [shape=box];
|
|
294
|
+
"获取起始 WP 编号" [shape=box];
|
|
295
|
+
"批量复杂度评估" [shape=box];
|
|
296
|
+
"解析跨任务依赖" [shape=box];
|
|
297
|
+
"循环生成工作包计划" [shape=box];
|
|
298
|
+
"写入 plan.md" [shape=box];
|
|
299
|
+
"用户审核 Plan" [shape=diamond, style=filled, fillcolor=lightyellow];
|
|
300
|
+
|
|
301
|
+
subgraph cluster_phase1 {
|
|
302
|
+
label="文档优先模式:Plan 确认后自动执行";
|
|
303
|
+
style=dashed;
|
|
304
|
+
color=blue;
|
|
305
|
+
|
|
306
|
+
"写入 WP-XXX.md (批量)" [shape=box];
|
|
307
|
+
"更新 task.md" [shape=box];
|
|
308
|
+
"输出汇总报告" [shape=box];
|
|
309
|
+
"🛑 停止" [shape=box, style=filled, fillcolor=red];
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
"用户说'批量创建任务'" -> "进入 Plan 模式";
|
|
313
|
+
"进入 Plan 模式" -> "解析任务列表";
|
|
314
|
+
"解析任务列表" -> "获取起始 WP 编号";
|
|
315
|
+
"获取起始 WP 编号" -> "批量复杂度评估";
|
|
316
|
+
"批量复杂度评估" -> "解析跨任务依赖";
|
|
317
|
+
"解析跨任务依赖" -> "循环生成工作包计划";
|
|
318
|
+
"循环生成工作包计划" -> "写入 plan.md";
|
|
319
|
+
"写入 plan.md" -> "用户审核 Plan";
|
|
320
|
+
"用户审核 Plan" -> "写入 WP-XXX.md (批量)" [label="确认"];
|
|
321
|
+
"用户审核 Plan" -> "修改计划" [label="修改", style=dashed];
|
|
322
|
+
|
|
323
|
+
"写入 WP-XXX.md (批量)" -> "更新 task.md";
|
|
324
|
+
"更新 task.md" -> "输出汇总报告";
|
|
325
|
+
"输出汇总报告" -> "🛑 停止";
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Execution Steps
|
|
332
|
+
|
|
333
|
+
### Step 0: 进入 Plan 模式(必须首先执行)
|
|
334
|
+
|
|
335
|
+
**⚠️ 立即调用 `EnterPlanMode` 工具进入 Plan 模式!**
|
|
336
|
+
|
|
337
|
+
不要跳过这一步。不要直接开始解析。必须先进入 Plan 模式。
|
|
338
|
+
|
|
339
|
+
### Phase 1: Plan Mode 阶段
|
|
340
|
+
|
|
341
|
+
1. **解析任务列表** - 识别用户提供的每个任务
|
|
342
|
+
2. **获取起始编号** - 读取 `task.md` 获取下一个可用 WP 编号
|
|
343
|
+
3. **🆕 批量复杂度评估** - 对每个任务独立评估,决定拆分模式
|
|
344
|
+
4. **🆕 解析跨任务依赖** - 识别任务间的依赖声明
|
|
345
|
+
5. **逐个生成工作包计划** - 根据拆分模式生成父/子工作包
|
|
346
|
+
6. **写入 plan.md** - 完整计划 + 全局依赖图
|
|
347
|
+
|
|
348
|
+
### Step 6.5: 请求用户确认 Plan
|
|
349
|
+
|
|
350
|
+
**⚠️ 必须使用 `AskUserQuestion` 工具请求用户确认!**
|
|
351
|
+
|
|
352
|
+
提供以下选项:
|
|
353
|
+
- **确认创建** - 批准计划,开始写入文档
|
|
354
|
+
- **需要修改** - 计划需要调整(请在备注中说明)
|
|
355
|
+
- **自由输入** - 提供额外的反馈或要求
|
|
356
|
+
|
|
357
|
+
❌ 不要调用 ExitPlanMode 工具(这会触发简化界面,不提供选项)
|
|
358
|
+
✅ 用户确认后,继续执行 Step 7-8 文档写入
|
|
359
|
+
|
|
360
|
+
### Step 2.5: 批量复杂度评估(详细)
|
|
361
|
+
|
|
362
|
+
对每个任务独立评估,使用与 task-creator 相同的评估矩阵:
|
|
363
|
+
|
|
364
|
+
| 维度 | 简单 (1分) | 中等 (2分) | 复杂 (3分) |
|
|
365
|
+
|------|-----------|-----------|-----------|
|
|
366
|
+
| 文件数 | ≤2 | 3-5 | >5 |
|
|
367
|
+
| 模块数 | 1 | 2-3 | >3 |
|
|
368
|
+
| 接口变更 | 无 | 有 | 新增接口 |
|
|
369
|
+
| 测试用例 | ≤5 | 6-15 | >15 |
|
|
370
|
+
| 预估AI时间 | ≤5min | 5-30min | >30min |
|
|
371
|
+
|
|
372
|
+
**批量评估输出示例**:
|
|
373
|
+
```
|
|
374
|
+
┌────────────────────────────────────────────────────────────┐
|
|
375
|
+
│ 批量复杂度评估结果 │
|
|
376
|
+
├────────────────────────────────────────────────────────────┤
|
|
377
|
+
│ 任务1: 用户认证 │
|
|
378
|
+
│ - 文件: 4 (2分) │
|
|
379
|
+
│ - 模块: 2 (2分) │
|
|
380
|
+
│ - 接口: 新增 (3分) │
|
|
381
|
+
│ - 测试: 10 (2分) │
|
|
382
|
+
│ - AI时间: 15min (2分) │
|
|
383
|
+
│ - 总分: 11 → standard 模式 │
|
|
384
|
+
│ │
|
|
385
|
+
│ 任务2: 修复登录Bug │
|
|
386
|
+
│ - 文件: 2 (1分) │
|
|
387
|
+
│ - 模块: 1 (1分) │
|
|
388
|
+
│ - 接口: 无 (1分) │
|
|
389
|
+
│ - 测试: 3 (1分) │
|
|
390
|
+
│ - AI时间: 3min (1分) │
|
|
391
|
+
│ - 总分: 5 → simple 模式 │
|
|
392
|
+
└────────────────────────────────────────────────────────────┘
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### Step 3.5: 跨任务依赖解析
|
|
396
|
+
|
|
397
|
+
**依赖声明语法**:
|
|
398
|
+
```
|
|
399
|
+
方式1: 行内标注
|
|
400
|
+
- 任务A (依赖: 无)
|
|
401
|
+
- 任务B (依赖: 任务A)
|
|
402
|
+
- 任务C (依赖: 任务A, 任务B)
|
|
403
|
+
|
|
404
|
+
方式2: 编号引用
|
|
405
|
+
1. 任务A
|
|
406
|
+
2. 任务B (依赖: 1)
|
|
407
|
+
3. 任务C (依赖: 1, 2)
|
|
408
|
+
|
|
409
|
+
方式3: 自然语言
|
|
410
|
+
- 首先实现用户认证
|
|
411
|
+
- 然后基于认证实现权限系统
|
|
412
|
+
- 最后在权限基础上添加审计日志
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**解析规则**:
|
|
416
|
+
1. 提取任务名称和依赖声明
|
|
417
|
+
2. 将任务名称转换为 WP 编号
|
|
418
|
+
3. 生成依赖映射表
|
|
419
|
+
4. 检测循环依赖
|
|
420
|
+
|
|
421
|
+
### Phase 2: 文档输出阶段(Plan 确认后,自动执行)
|
|
422
|
+
|
|
423
|
+
<POST-PLAN-MANDATORY>
|
|
424
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
425
|
+
║ 📝 文档优先模式 - Plan 确认后自动执行 ║
|
|
426
|
+
║ ║
|
|
427
|
+
║ Plan 确认后,你必须**立即**执行以下步骤: ║
|
|
428
|
+
║ ║
|
|
429
|
+
║ Step 6: 写入 docs/wp/WP-XXX.md(批量创建工作包文档) ║
|
|
430
|
+
║ Step 7: 更新 task.md(追加概览表行) ║
|
|
431
|
+
║ Step 8: 输出汇总报告 → 🛑 停止 ║
|
|
432
|
+
║ ║
|
|
433
|
+
║ ⚠️ 这是自动流程,不需要用户再次确认 ║
|
|
434
|
+
║ ⚠️ bypassPermission 不影响此流程 ║
|
|
435
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
436
|
+
</POST-PLAN-MANDATORY>
|
|
437
|
+
|
|
438
|
+
**⚠️ 此阶段只允许更新文档!**
|
|
439
|
+
|
|
440
|
+
6. **写入工作包文档** - 批量创建 `docs/wp/WP-XXX.md`
|
|
441
|
+
7. **更新任务清单** - 在 `task.md` 概览表添加所有新行
|
|
442
|
+
8. **输出汇总报告** - 使用下方格式,然后 **🛑 停止**
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## Input Format
|
|
447
|
+
|
|
448
|
+
**格式1: 编号列表**
|
|
449
|
+
```
|
|
450
|
+
1. 实现成就系统
|
|
451
|
+
2. 添加排行榜功能
|
|
452
|
+
3. 优化加载速度
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**格式2: 符号列表**
|
|
456
|
+
```
|
|
457
|
+
- 实现成就系统
|
|
458
|
+
- 添加排行榜功能
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**格式3: 自然语言**
|
|
462
|
+
```
|
|
463
|
+
批量创建以下任务:成就系统、排行榜、加载优化
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## Completion Report Format
|
|
469
|
+
|
|
470
|
+
### 简单批量报告(无拆分)
|
|
471
|
+
|
|
472
|
+
```markdown
|
|
473
|
+
✅ 批量任务创建完成
|
|
474
|
+
|
|
475
|
+
| 工作包ID | 名称 | 优先级 | 子任务 | 测试 | AI时间 | 模式 |
|
|
476
|
+
|----------|------|--------|--------|------|--------|------|
|
|
477
|
+
| WP-XXX | 名称1 | P1 | 4 | 20 | 30min | simple |
|
|
478
|
+
| WP-XXX | 名称2 | P2 | 3 | 15 | 20min | simple |
|
|
479
|
+
|
|
480
|
+
📊 **总计**: X 个工作包,X 个子任务,X 个测试用例,Xmin
|
|
481
|
+
|
|
482
|
+
📁 **已更新文档**:
|
|
483
|
+
- docs/wp/WP-XXX.md, WP-XXX.md, ...
|
|
484
|
+
- task.md
|
|
485
|
+
|
|
486
|
+
🛑 **任务创建完成,等待您的下一步指示**
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
### 智能拆分批量报告(含子工作包)
|
|
490
|
+
|
|
491
|
+
```markdown
|
|
492
|
+
✅ 批量任务创建完成(含智能拆分)
|
|
493
|
+
|
|
494
|
+
## 工作包总览
|
|
495
|
+
|
|
496
|
+
| 父工作包 | 名称 | 复杂度 | 拆分模式 | 子包数 | 依赖 |
|
|
497
|
+
|----------|------|--------|----------|--------|------|
|
|
498
|
+
| WP-XXX | 任务A | 11分 | standard | 4 | - |
|
|
499
|
+
| WP-YYY | 任务B | 5分 | simple | 1 | WP-XXX |
|
|
500
|
+
| WP-ZZZ | 任务C | 15分 | fine-grained | 7 | WP-XXX, WP-YYY |
|
|
501
|
+
|
|
502
|
+
## 子工作包详情
|
|
503
|
+
|
|
504
|
+
### WP-XXX: 任务A (standard模式)
|
|
505
|
+
| ID | 类型 | 职责 | 依赖 |
|
|
506
|
+
|----|------|------|------|
|
|
507
|
+
| WP-XXX-1-impl | 实现 | 核心代码 | - |
|
|
508
|
+
| WP-XXX-2-test | 测试 | 单元测试 | WP-XXX-1-impl |
|
|
509
|
+
| WP-XXX-3-verify | 验证 | 测试验证 | WP-XXX-2-test |
|
|
510
|
+
| WP-XXX-4-review | 审查 | 代码审查 | WP-XXX-3-verify |
|
|
511
|
+
|
|
512
|
+
### WP-YYY: 任务B (simple模式)
|
|
513
|
+
- 单工作包,无拆分
|
|
514
|
+
|
|
515
|
+
### WP-ZZZ: 任务C (fine-grained模式)
|
|
516
|
+
| ID | 类型 | 职责 | 依赖 |
|
|
517
|
+
|----|------|------|------|
|
|
518
|
+
| WP-ZZZ-1-impl-a | 实现A | 模块A | WP-XXX-4-review |
|
|
519
|
+
| WP-ZZZ-1-impl-b | 实现B | 模块B | WP-ZZZ-1-impl-a |
|
|
520
|
+
| ... | ... | ... | ... |
|
|
521
|
+
|
|
522
|
+
## 全局依赖图
|
|
523
|
+
|
|
524
|
+
```mermaid
|
|
525
|
+
graph TB
|
|
526
|
+
WP-XXX[WP-XXX: 任务A]
|
|
527
|
+
WP-YYY[WP-YYY: 任务B]
|
|
528
|
+
WP-ZZZ[WP-ZZZ: 任务C]
|
|
529
|
+
|
|
530
|
+
WP-XXX --> WP-YYY
|
|
531
|
+
WP-XXX --> WP-ZZZ
|
|
532
|
+
WP-YYY --> WP-ZZZ
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
📊 **总计**:
|
|
536
|
+
- 父工作包: 3 个
|
|
537
|
+
- 子工作包: 12 个
|
|
538
|
+
- 总测试用例: 45 个
|
|
539
|
+
- 总预估AI时间: 60min
|
|
540
|
+
|
|
541
|
+
📁 **已更新文档**:
|
|
542
|
+
- docs/wp/WP-XXX.md, WP-XXX-1-impl.md, ...
|
|
543
|
+
- task.md
|
|
544
|
+
|
|
545
|
+
🛑 **任务创建完成,等待您的下一步指示**
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
**输出报告后,直接 🛑 停止**
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
## 🛑 MANDATORY STOP BEHAVIOR
|
|
553
|
+
|
|
554
|
+
**文档优先模式:Plan 确认后自动写文档,然后停止。**
|
|
555
|
+
|
|
556
|
+
```
|
|
557
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
558
|
+
║ 📝 文档优先模式 ║
|
|
559
|
+
║ ║
|
|
560
|
+
║ Plan 确认后: ║
|
|
561
|
+
║ ✅ 自动写入 docs/wp/WP-XXX.md (批量) ║
|
|
562
|
+
║ ✅ 自动更新 task.md ║
|
|
563
|
+
║ ✅ 输出简洁报告 ║
|
|
564
|
+
║ ✅ 🛑 停止等待用户下一步指示 ║
|
|
565
|
+
║ ║
|
|
566
|
+
║ DO NOT (绝对禁止): ║
|
|
567
|
+
║ ❌ 调用 human-checkpoint(Plan 确认已是人介入点) ║
|
|
568
|
+
║ ❌ 自动开始代码实现 ║
|
|
569
|
+
║ ❌ 开始写任何代码文件 ║
|
|
570
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
## 文件路径约定
|
|
576
|
+
|
|
577
|
+
| 文件类型 | 允许在本 Skill 中修改 |
|
|
578
|
+
|----------|----------------------|
|
|
579
|
+
| `docs/wp/WP-XXX.md` | ✅ 允许 |
|
|
580
|
+
| `task.md` | ✅ 允许 |
|
|
581
|
+
| `.claude/plan.md` | ✅ 允许 |
|
|
582
|
+
| `scripts/**/*.gd` | ❌ 禁止 |
|
|
583
|
+
| `scenes/**/*.tscn` | ❌ 禁止 |
|
|
584
|
+
| 其他任何代码文件 | ❌ 禁止 |
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
## Related Skills
|
|
589
|
+
|
|
590
|
+
- **task-creator**: 单任务创建
|
|
591
|
+
- **split-work-package**: 工作包拆分
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
## Example
|
|
596
|
+
|
|
597
|
+
**输入**:
|
|
598
|
+
```
|
|
599
|
+
批量创建任务:
|
|
600
|
+
1. 实现成就系统
|
|
601
|
+
2. 添加排行榜功能
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
**正确执行**:
|
|
605
|
+
|
|
606
|
+
**Plan 确认后**:
|
|
607
|
+
```
|
|
608
|
+
AI: [写入 WP-040.md, WP-041.md]
|
|
609
|
+
[更新 task.md]
|
|
610
|
+
[输出报告]
|
|
611
|
+
🛑 停止
|
|
612
|
+
|
|
613
|
+
✅ 批量任务创建完成
|
|
614
|
+
...
|
|
615
|
+
🛑 任务创建完成,等待您的下一步指示
|
|
616
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "skill-checklist",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"description": "开发完成质量检查 Skill - 执行检查清单验证代码质量、测试、文档、Git 和经验记录",
|
|
6
|
+
"triggers": ["运行检查", "执行清单", "检查清单", "checklist", "run checklist", "execute checklist"],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"provides": ["skill:checklist"],
|
|
9
|
+
"config": {}
|
|
10
|
+
}
|