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,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: human-checkpoint
|
|
3
|
+
description: Use when reaching critical decision points in the workflow - forces pause for user review before proceeding. Triggers automatically after document creation, work package planning, or before batch execution.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<HARD-GATE>
|
|
7
|
+
You MUST stop and wait for user confirmation at this checkpoint.
|
|
8
|
+
Do NOT proceed to the next phase until user explicitly says "继续", "确认", "执行", or similar approval.
|
|
9
|
+
This is not negotiable.
|
|
10
|
+
</HARD-GATE>
|
|
11
|
+
|
|
12
|
+
# Human Checkpoint
|
|
13
|
+
|
|
14
|
+
工作流关键节点的人介入审核机制。
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
|
|
18
|
+
**自动触发场景**:
|
|
19
|
+
- 完成需求/架构/设计文档编写后
|
|
20
|
+
- 工作包创建完成,准备执行前
|
|
21
|
+
- 批量执行计划制定后
|
|
22
|
+
- 重大技术决策确定前
|
|
23
|
+
|
|
24
|
+
**手动触发词**:
|
|
25
|
+
- "等待审核" / "暂停确认"
|
|
26
|
+
- "人介入" / "需要确认"
|
|
27
|
+
- "checkpoint" / "暂停"
|
|
28
|
+
|
|
29
|
+
## Red Flags - STOP
|
|
30
|
+
|
|
31
|
+
| Thought | Reality |
|
|
32
|
+
|---------|---------|
|
|
33
|
+
| "用户应该想让我继续" | 必须等待明确指令 |
|
|
34
|
+
| "文档看起来没问题" | 用户审核才算数 |
|
|
35
|
+
| "这个很简单,不用等" | 任何决策点都要暂停 |
|
|
36
|
+
| "我已经问了,没回复就继续" | 必须收到回复才能继续 |
|
|
37
|
+
|
|
38
|
+
## Flow
|
|
39
|
+
|
|
40
|
+
```dot
|
|
41
|
+
digraph checkpoint {
|
|
42
|
+
rankdir=TB;
|
|
43
|
+
|
|
44
|
+
"到达关键节点" [shape=box];
|
|
45
|
+
"输出审核清单" [shape=box];
|
|
46
|
+
"🛑 暂停等待" [shape=box, style=filled, fillcolor=red];
|
|
47
|
+
"用户回复?" [shape=diamond];
|
|
48
|
+
"继续下一步" [shape=box];
|
|
49
|
+
"处理修改意见" [shape=box];
|
|
50
|
+
|
|
51
|
+
"到达关键节点" -> "输出审核清单";
|
|
52
|
+
"输出审核清单" -> "🛑 暂停等待";
|
|
53
|
+
"🛑 暂停等待" -> "用户回复?";
|
|
54
|
+
"用户回复?" -> "继续下一步" [label="确认/继续"];
|
|
55
|
+
"用户回复?" -> "处理修改意见" [label="修改"];
|
|
56
|
+
"处理修改意见" -> "输出审核清单";
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Checkpoint Types
|
|
61
|
+
|
|
62
|
+
### 1. 文档审核检查点
|
|
63
|
+
|
|
64
|
+
触发时机: 完成文档编写后
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
帅哥,文档已准备好,请审核:
|
|
68
|
+
|
|
69
|
+
📋 文档清单:
|
|
70
|
+
- [ ] docs/XX_需求分析.md - 需求概述
|
|
71
|
+
- [ ] docs/XX_架构设计.md - 技术方案
|
|
72
|
+
- [ ] docs/XX_开发计划.md - 实施步骤
|
|
73
|
+
|
|
74
|
+
🔍 重点关注:
|
|
75
|
+
- 需求范围是否正确?
|
|
76
|
+
- 技术方案是否合理?
|
|
77
|
+
- 预估工时是否准确?
|
|
78
|
+
|
|
79
|
+
🔴 确认后回复"继续",修改则指出需要调整的内容。
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 2. 工作包审核检查点
|
|
83
|
+
|
|
84
|
+
触发时机: 工作包创建完成后
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
帅哥,工作包已创建,请审核:
|
|
88
|
+
|
|
89
|
+
📦 工作包概览:
|
|
90
|
+
| 工作包ID | 名称 | 优先级 | 预估工时 | 子任务数 |
|
|
91
|
+
|----------|------|--------|----------|----------|
|
|
92
|
+
| WP-XXX | ... | P1 | Xh | X |
|
|
93
|
+
|
|
94
|
+
🔗 依赖关系:
|
|
95
|
+
- WP-XXX → WP-YYY (前置依赖)
|
|
96
|
+
|
|
97
|
+
🔍 重点关注:
|
|
98
|
+
- 任务拆分是否合理?
|
|
99
|
+
- 优先级是否正确?
|
|
100
|
+
- 依赖关系是否准确?
|
|
101
|
+
|
|
102
|
+
🔴 确认后回复"执行"开始实现,或提出修改意见。
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 3. 批量执行检查点
|
|
106
|
+
|
|
107
|
+
触发时机: 批量执行计划制定后
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
帅哥,批量执行计划已制定,请确认:
|
|
111
|
+
|
|
112
|
+
📊 执行计划:
|
|
113
|
+
| 阶段 | 工作包 | 执行方式 | 预估时间 |
|
|
114
|
+
|------|--------|----------|----------|
|
|
115
|
+
| 1 | WP-XXX, WP-YYY | 并行 | Xh |
|
|
116
|
+
| 2 | WP-ZZZ | 串行 | Xh |
|
|
117
|
+
|
|
118
|
+
⚠️ 注意事项:
|
|
119
|
+
- [注意事项1]
|
|
120
|
+
- [注意事项2]
|
|
121
|
+
|
|
122
|
+
🔍 确认要点:
|
|
123
|
+
- 执行顺序是否正确?
|
|
124
|
+
- 是否有遗漏的工作包?
|
|
125
|
+
|
|
126
|
+
🔴 确认后回复"开始执行",或调整执行计划。
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 4. 结果确认检查点
|
|
130
|
+
|
|
131
|
+
触发时机: 批次工作包完成后
|
|
132
|
+
|
|
133
|
+
```markdown
|
|
134
|
+
帅哥,本批次工作包执行完成!
|
|
135
|
+
|
|
136
|
+
## 执行结果
|
|
137
|
+
| 工作包 | 状态 | 说明 |
|
|
138
|
+
|--------|------|------|
|
|
139
|
+
| WP-XXX | ✅ 完成 | ... |
|
|
140
|
+
| WP-YYY | ✅ 完成 | ... |
|
|
141
|
+
|
|
142
|
+
## 未完成项
|
|
143
|
+
- (如有)
|
|
144
|
+
|
|
145
|
+
## 下一步建议
|
|
146
|
+
1. [建议1]
|
|
147
|
+
2. [建议2]
|
|
148
|
+
|
|
149
|
+
🔴 下一步安排是什么?
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## User Response Handling
|
|
153
|
+
|
|
154
|
+
### 确认类回复 → 继续执行
|
|
155
|
+
- "继续" / "确认" / "OK" / "好的"
|
|
156
|
+
- "执行" / "开始" / "做吧"
|
|
157
|
+
- "没问题" / "可以"
|
|
158
|
+
|
|
159
|
+
### 修改类回复 → 处理修改
|
|
160
|
+
- "修改一下..." / "调整..."
|
|
161
|
+
- "XXX 不对" / "YYY 需要改"
|
|
162
|
+
- 处理完成后 → 重新输出审核清单 → 再次暂停
|
|
163
|
+
|
|
164
|
+
### 等待类回复 → 保持暂停
|
|
165
|
+
- "等等" / "我看看" / "稍等"
|
|
166
|
+
- 保持暂停状态,不执行任何操作
|
|
167
|
+
|
|
168
|
+
## Forbidden Actions at Checkpoint
|
|
169
|
+
|
|
170
|
+
- ❌ 不要假设用户会同意而提前执行
|
|
171
|
+
- ❌ 不要在用户未回复时自动继续
|
|
172
|
+
- ❌ 不要跳过审核清单直接开始工作
|
|
173
|
+
- ❌ 不要忽略用户的修改意见
|
|
174
|
+
|
|
175
|
+
## Integration with Other Skills
|
|
176
|
+
|
|
177
|
+
| Skill | 集成点 |
|
|
178
|
+
|-------|--------|
|
|
179
|
+
| `task-creator` | 工作包创建后触发检查点 |
|
|
180
|
+
| `split-work-package` | 拆分完成后触发检查点 |
|
|
181
|
+
| `completion-report` | 完成后触发结果确认检查点 |
|
|
182
|
+
| `agent-dispatcher` | 批量执行前触发检查点 |
|
|
183
|
+
|
|
184
|
+
## Report Format
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
帅哥,[检查点类型]已准备好,请审核:
|
|
188
|
+
|
|
189
|
+
[审核内容]
|
|
190
|
+
|
|
191
|
+
🔴 确认后回复"[确认词]",修改则指出需要调整的内容。
|
|
192
|
+
|
|
193
|
+
🛑 等待您的指令...
|
|
194
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "skill-progress-tracker",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"description": "项目进度追踪与记录 - 合并 progress-manager(读取进度)和 record-progress(记录进度),统一进度管理接口",
|
|
6
|
+
"triggers": ["记录进度", "保存进度", "读取进度", "查看进度", "增加授权", "record progress", "check progress", "view progress"],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"provides": ["skill:progress-tracker"],
|
|
9
|
+
"config": {}
|
|
10
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: progress-tracker
|
|
3
|
+
description: Use when user says "记录进度", "保存进度", "读取进度", "查看进度", "增加授权", or needs to manage project progress tracking and recording
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Progress Tracker
|
|
7
|
+
|
|
8
|
+
项目进度追踪与记录的统一技能,合并了进度读取(原 progress-manager)和进度记录(原 record-progress)功能。
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- 用户说 "记录进度" / "保存进度"
|
|
13
|
+
- 用户说 "读取进度" / "查看进度"
|
|
14
|
+
- 需要恢复上次工作上下文
|
|
15
|
+
- 用户说 "增加授权"
|
|
16
|
+
- 完成重要功能开发后
|
|
17
|
+
- 会话结束前需要保存工作上下文
|
|
18
|
+
|
|
19
|
+
## Quick Reference
|
|
20
|
+
|
|
21
|
+
| 触发词 | 动作 |
|
|
22
|
+
|--------|------|
|
|
23
|
+
| 记录进度 / 保存进度 | 执行记录进度流程 |
|
|
24
|
+
| 读取进度 / 查看进度 | 执行读取进度流程 |
|
|
25
|
+
| 拆分工作包 / 创建工作包 | 调用 `split-work-package` skill |
|
|
26
|
+
| 增加授权 | 执行授权流程 |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Part 1: 读取进度 (Read Progress)
|
|
31
|
+
|
|
32
|
+
### Read Progress Flow
|
|
33
|
+
|
|
34
|
+
```dot
|
|
35
|
+
digraph read_progress {
|
|
36
|
+
"用户请求读取进度" [shape=box];
|
|
37
|
+
"读取 PROGRESS.md" [shape=diamond];
|
|
38
|
+
"文档是否过大?" [shape=diamond];
|
|
39
|
+
"分段读取" [shape=box];
|
|
40
|
+
"完整读取" [shape=box];
|
|
41
|
+
"读取 task.md" [shape=diamond];
|
|
42
|
+
"文档是否过大?" [shape=diamond];
|
|
43
|
+
"分段读取" [shape=box];
|
|
44
|
+
"完整读取" [shape=box];
|
|
45
|
+
"汇报最近工作" [shape=box];
|
|
46
|
+
"询问是否继续" [shape=box];
|
|
47
|
+
|
|
48
|
+
"用户请求读取进度" -> "读取 PROGRESS.md";
|
|
49
|
+
"读取 PROGRESS.md" -> "文档是否过大?";
|
|
50
|
+
"文档是否过大?" -> "分段读取" [label="是(>2000行)"];
|
|
51
|
+
"文档是否过大?" -> "完整读取" [label="否"];
|
|
52
|
+
"分段读取" -> "读取 task.md";
|
|
53
|
+
"完整读取" -> "读取 task.md";
|
|
54
|
+
"读取 task.md" -> "文档是否过大?";
|
|
55
|
+
"文档是否过大?" -> "分段读取" [label="是(>2000行)"];
|
|
56
|
+
"文档是否过大?" -> "完整读取" [label="否"];
|
|
57
|
+
"分段读取" -> "汇报最近工作";
|
|
58
|
+
"完整读取" -> "汇报最近工作";
|
|
59
|
+
"汇报最近工作" -> "询问是否继续";
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 分段读取规则
|
|
64
|
+
|
|
65
|
+
当文档超过 **2000 行** 时,使用以下分段策略:
|
|
66
|
+
|
|
67
|
+
| 文件 | 分段策略 | 优先读取 |
|
|
68
|
+
|------|----------|----------|
|
|
69
|
+
| `PROGRESS.md` | 读取最近 2000 行(从尾部开始) | 最新进度记录 |
|
|
70
|
+
| `task.md` | 先读前 500 行概览,再按需读取 | 工作包概览表 |
|
|
71
|
+
| `docs/wp/WP-XXX.md` | 按需读取具体工作包详情 | 单个工作包信息 |
|
|
72
|
+
|
|
73
|
+
> ⚠️ `docs/core/12_工作包清单.md` 已废弃 (2026-03-17),请使用 `task.md` 作为主索引
|
|
74
|
+
|
|
75
|
+
### 分段读取实现
|
|
76
|
+
|
|
77
|
+
使用 Read 工具的 `offset` 和 `limit` 参数:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
# 读取大文件尾部(最近内容)
|
|
81
|
+
Read(file_path="...", offset=总行数-2000, limit=2000)
|
|
82
|
+
|
|
83
|
+
# 分批读取大文件
|
|
84
|
+
Read(file_path="...", offset=1, limit=1000) # 第1批
|
|
85
|
+
Read(file_path="...", offset=1001, limit=1000) # 第2批
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Part 2: 记录进度 (Record Progress)
|
|
91
|
+
|
|
92
|
+
### Checklist
|
|
93
|
+
|
|
94
|
+
1. **识别记录类型** - 工作包完成 vs 轻量级活动
|
|
95
|
+
2. **更新 task.md 对应区域** - 根据类型更新不同区域
|
|
96
|
+
3. **检查归档触发** - 是否需要归档
|
|
97
|
+
4. **确认完成** - 向用户报告 "进度已记录"
|
|
98
|
+
|
|
99
|
+
### 记录类型
|
|
100
|
+
|
|
101
|
+
| 类型 | 更新区域 | 示例 |
|
|
102
|
+
|------|----------|------|
|
|
103
|
+
| **工作包完成** | `✅ 最近完成` + 工作包状态 | WP-109 架构问题分析文档完成 |
|
|
104
|
+
| **轻量级活动** | `📝 最近活动` | 讨论文档记录机制优化方案 |
|
|
105
|
+
|
|
106
|
+
### task.md 更新逻辑
|
|
107
|
+
|
|
108
|
+
#### 工作包完成时
|
|
109
|
+
|
|
110
|
+
1. **更新 `🔥 待办工作包`** - 移除已完成的工作包
|
|
111
|
+
2. **更新 `✅ 最近完成`** - 在表格顶部添加新行
|
|
112
|
+
3. **更新 `📊 快速概览`** - 进度统计 +1
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## ✅ 最近完成(最新10个)
|
|
116
|
+
|
|
117
|
+
| 完成日期 | 工作包ID | 模块名称 | 说明 |
|
|
118
|
+
|----------|----------|----------|------|
|
|
119
|
+
| 2026-03-18 | WP-109 | 架构问题分析文档 | 17个单例分析、依赖关系图 |
|
|
120
|
+
| ... | ... | ... | ... |
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
#### 轻量级活动时
|
|
124
|
+
|
|
125
|
+
1. **更新 `📝 最近活动`** - 在表格顶部添加新行
|
|
126
|
+
|
|
127
|
+
```markdown
|
|
128
|
+
## 📝 最近活动(非工作包)
|
|
129
|
+
|
|
130
|
+
| 日期 | 活动描述 |
|
|
131
|
+
|------|----------|
|
|
132
|
+
| 2026-03-18 | 讨论文档记录机制优化方案(Plan模式)|
|
|
133
|
+
| ... | ... | ... |
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 归档触发检查
|
|
137
|
+
|
|
138
|
+
| 条件 | 阈值 | 操作 |
|
|
139
|
+
|------|------|------|
|
|
140
|
+
| 最近完成 > 10 个 | > 10 | 将最旧的移入 `docs/archive/completed_*.md` |
|
|
141
|
+
| 最近活动 > 20 条 | > 20 | 将最旧的移入 `docs/archive/activity_log_archive.md` |
|
|
142
|
+
|
|
143
|
+
### 工作包完成记录模板
|
|
144
|
+
|
|
145
|
+
完成工作包后,更新以下位置:
|
|
146
|
+
|
|
147
|
+
#### 1. task.md `✅ 最近完成` 区域
|
|
148
|
+
```markdown
|
|
149
|
+
| 2026-03-18 | WP-XXX | 模块名称 | 简要说明 |
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### 2. task.md `📊 快速概览` 区域
|
|
153
|
+
```markdown
|
|
154
|
+
- **进度**: 74/117 (63.2%) # +1 完成
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
#### 3. docs/wp/WP-XXX.md(如存在)
|
|
158
|
+
```markdown
|
|
159
|
+
## 完成记录
|
|
160
|
+
|
|
161
|
+
- **完成日期**: 2026-03-18
|
|
162
|
+
- **实际工时**: Xh
|
|
163
|
+
- **经验教训**: ...
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 轻量级活动记录模板
|
|
167
|
+
|
|
168
|
+
```markdown
|
|
169
|
+
| 2026-03-18 | 活动描述 |
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Part 3: 增加授权 (Add Permission)
|
|
175
|
+
|
|
176
|
+
### Add Permission Flow
|
|
177
|
+
|
|
178
|
+
1. **识别待授权命令** - 回顾本次会话中需要授权的命令
|
|
179
|
+
2. **读取配置** - 读取 `.claude/settings.local.json`
|
|
180
|
+
3. **添加授权** - 将命令添加到 `permissions.allow` 数组
|
|
181
|
+
4. **保存配置** - 写入更新后的配置文件
|
|
182
|
+
5. **确认完成** - 向用户报告已添加的授权命令列表
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Files
|
|
187
|
+
|
|
188
|
+
| 文件 | 用途 | 状态 |
|
|
189
|
+
|------|------|------|
|
|
190
|
+
| `PROGRESS.md` | 详细进度记录(日志型) | ✅ 主要 |
|
|
191
|
+
| `task.md` | 任务清单(主索引) | ✅ 主要 |
|
|
192
|
+
| `docs/wp/WP-XXX.md` | 工作包详情(可选更新) | ✅ 活跃 |
|
|
193
|
+
| `docs/archive/*.md` | 历史归档 | 📦 归档 |
|
|
194
|
+
| `.claude/settings.local.json` | 权限配置 | ✅ 活跃 |
|
|
195
|
+
|
|
196
|
+
## Related Skills
|
|
197
|
+
|
|
198
|
+
- **split-work-package**: 拆分工作包(独立 skill)
|
|
199
|
+
|
|
200
|
+
## Notes
|
|
201
|
+
|
|
202
|
+
- 记录足够详细以便下次会话快速恢复上下文
|
|
203
|
+
- 优先更新 task.md,不再使用 PROGRESS.md(已废弃)
|
|
204
|
+
- 定期检查归档触发条件
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "skill-role-manager",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"description": "角色赋能系统管理技能 - 查看角色、匹配角色、角色信息查询,对接 provider-role-registry",
|
|
6
|
+
"triggers": ["查看角色", "列出角色", "匹配角色", "角色管理", "角色信息", "角色统计", "view roles", "list roles", "role management"],
|
|
7
|
+
"dependencies": ["provider-role-registry"],
|
|
8
|
+
"provides": ["skill:role-manager"],
|
|
9
|
+
"config": {}
|
|
10
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: role-manager
|
|
3
|
+
description: Use when user says "查看角色", "匹配角色", "角色管理", or needs to work with the role empowerment system for subagents
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Role Manager
|
|
7
|
+
|
|
8
|
+
角色赋能系统管理技能,用于查看、匹配和管理专业角色。
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
**触发词**:
|
|
13
|
+
- "查看角色" / "列出角色"
|
|
14
|
+
- "匹配角色" / "哪个角色适合"
|
|
15
|
+
- "角色管理" / "角色信息"
|
|
16
|
+
- "使用 xxx 角色执行"
|
|
17
|
+
|
|
18
|
+
## Quick Reference
|
|
19
|
+
|
|
20
|
+
| 命令 | 功能 |
|
|
21
|
+
|------|------|
|
|
22
|
+
| `list` | 列出所有角色 |
|
|
23
|
+
| `info <角色ID>` | 查看角色详情 |
|
|
24
|
+
| `match <任务描述>` | 匹配最适合的角色 |
|
|
25
|
+
| `stats` | 查看角色统计 |
|
|
26
|
+
|
|
27
|
+
## 中文别名映射
|
|
28
|
+
|
|
29
|
+
用户可以用友好的中文名称召唤角色,系统内部会自动转换为英文 ID。
|
|
30
|
+
|
|
31
|
+
### 核心角色(通用框架)
|
|
32
|
+
|
|
33
|
+
| 中文别名 | 英文 ID | 角色名称 |
|
|
34
|
+
|----------|--------|------|
|
|
35
|
+
| 协调者 | coordinator | 协调者 |
|
|
36
|
+
| 调度者 | coordinator | 协调者 |
|
|
37
|
+
| 执行者 | executor | 执行者 |
|
|
38
|
+
| 审查者 | reviewer | 审查者 |
|
|
39
|
+
| 架构师 | architect | 架构师 |
|
|
40
|
+
| 设计师 | architect | 架构师 |
|
|
41
|
+
| 实现者 | implementer | 实现者 |
|
|
42
|
+
| 开发者 | implementer | 实现者 |
|
|
43
|
+
| 编码者 | implementer | 实现者 |
|
|
44
|
+
| 测试者 | tester | 测试者 |
|
|
45
|
+
| 测试员 | tester | 测试者 |
|
|
46
|
+
| 文档 | documenter | 文档编写者 |
|
|
47
|
+
|
|
48
|
+
### 领域角色(由项目模板扩展)
|
|
49
|
+
|
|
50
|
+
| 中文别名 | 英文 ID | 角色名称 |
|
|
51
|
+
|----------|--------|------|
|
|
52
|
+
| 前端 | frontend-dev | 前端开发专家 |
|
|
53
|
+
| 后端 | backend-dev | 后端开发专家 |
|
|
54
|
+
| 运维 | devops | 运维专家 |
|
|
55
|
+
| UI专家 | godot-scene-expert | Godot 场景+UI专家 |
|
|
56
|
+
| 场景专家 | godot-scene-expert | Godot 场景+UI专家 |
|
|
57
|
+
|
|
58
|
+
## Flow
|
|
59
|
+
|
|
60
|
+
```dot
|
|
61
|
+
digraph role_manager {
|
|
62
|
+
rankdir=TB;
|
|
63
|
+
|
|
64
|
+
"解析命令" [shape=box];
|
|
65
|
+
"list?" [shape=diamond];
|
|
66
|
+
"info?" [shape=diamond];
|
|
67
|
+
"match?" [shape=diamond];
|
|
68
|
+
"stats?" [shape=diamond];
|
|
69
|
+
"列出所有角色" [shape=box];
|
|
70
|
+
"读取角色定义" [shape=box];
|
|
71
|
+
"分析任务关键词" [shape=box];
|
|
72
|
+
"计算匹配分数" [shape=box];
|
|
73
|
+
"返回最佳角色" [shape=box];
|
|
74
|
+
"读取角色专属库" [shape=box];
|
|
75
|
+
"显示统计信息" [shape=box];
|
|
76
|
+
|
|
77
|
+
"解析命令" -> "list?";
|
|
78
|
+
"list?" -> "列出所有角色" [label="是"];
|
|
79
|
+
"list?" -> "info?" [label="否"];
|
|
80
|
+
"info?" -> "读取角色定义" [label="是"];
|
|
81
|
+
"info?" -> "match?" [label="否"];
|
|
82
|
+
"match?" -> "分析任务关键词" [label="是"];
|
|
83
|
+
"分析任务关键词" -> "计算匹配分数";
|
|
84
|
+
"计算匹配分数" -> "返回最佳角色";
|
|
85
|
+
"match?" -> "stats?" [label="否"];
|
|
86
|
+
"stats?" -> "读取角色专属库" [label="是"];
|
|
87
|
+
"stats?" -> "显示统计信息" [label="否"];
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Commands
|
|
94
|
+
|
|
95
|
+
### 1. 列出所有角色 (list)
|
|
96
|
+
|
|
97
|
+
**触发**: "查看角色" / "列出角色"
|
|
98
|
+
|
|
99
|
+
**输出示例**:
|
|
100
|
+
```markdown
|
|
101
|
+
帅哥,当前系统中有 8 个专业角色:
|
|
102
|
+
|
|
103
|
+
### 核心角色(通用框架)
|
|
104
|
+
|
|
105
|
+
| 中文别名 | 角色ID | 名称 | 专业领域 | 经验数 |
|
|
106
|
+
|----------|--------|------|----------|--------|
|
|
107
|
+
| 协调者 | coordinator | 协调者 | 任务分解、依赖分析、进度跟踪 | 0 |
|
|
108
|
+
| 执行者 | executor | 执行者 | 通用编码、问题解决、文件操作 | 0 |
|
|
109
|
+
| 审查者 | reviewer | 审查者 | 代码审查、测试验证、质量检查 | 0 |
|
|
110
|
+
| 架构师 | architect | 架构师 | 系统设计、架构模式、技术选型 | 0 |
|
|
111
|
+
| 实现者 | implementer | 实现者 | 代码实现、功能开发、Bug 修复 | 0 |
|
|
112
|
+
| 测试者 | tester | 测试者 | 单元测试、集成测试、测试框架 | 0 |
|
|
113
|
+
| 文档 | documenter | 文档编写者 | 技术文档、API 文档、用户指南 | 0 |
|
|
114
|
+
|
|
115
|
+
### 领域角色(由项目模板扩展)
|
|
116
|
+
|
|
117
|
+
| 中文别名 | 角色ID | 名称 | 专业领域 | 经验数 |
|
|
118
|
+
|----------|--------|------|----------|--------|
|
|
119
|
+
| 前端 | frontend-dev | 前端开发专家 | HTML/CSS/JavaScript、UI 组件 | 0 |
|
|
120
|
+
| 后端 | backend-dev | 后端开发专家 | API 设计、数据库、服务端开发 | 0 |
|
|
121
|
+
| 运维 | devops | 运维专家 | CI/CD、Docker、Kubernetes | 0 |
|
|
122
|
+
|
|
123
|
+
使用 "查看角色 <角色ID或中文别名>" 了解详情。
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### 2. 查看角色详情 (info)
|
|
127
|
+
|
|
128
|
+
**触发**: "查看角色 godot-scene-expert" 或 "查看角色 UI专家"
|
|
129
|
+
|
|
130
|
+
**执行步骤**:
|
|
131
|
+
1. 读取 `.claude/agents/roles/{role_id}.yaml`
|
|
132
|
+
2. 读取 `.claude/agents/memories/{role_id}.md`
|
|
133
|
+
3. 格式化输出角色信息
|
|
134
|
+
|
|
135
|
+
**输出示例**:
|
|
136
|
+
```markdown
|
|
137
|
+
## Godot 场景+UI专家
|
|
138
|
+
|
|
139
|
+
### 基本信息
|
|
140
|
+
- **角色ID**: godot-scene-expert
|
|
141
|
+
- **版本**: 1.0.0
|
|
142
|
+
- **子代理类型**: general-purpose
|
|
143
|
+
- **中文别名**: UI专家、场景专家
|
|
144
|
+
|
|
145
|
+
### 专业领域
|
|
146
|
+
- 场景层级结构设计
|
|
147
|
+
- 节点类型选择和配置
|
|
148
|
+
- 信号连接模式
|
|
149
|
+
- 场景继承和实例化
|
|
150
|
+
- UI 布局和响应式设计
|
|
151
|
+
|
|
152
|
+
### 匹配关键词
|
|
153
|
+
场景、节点、tscn、预制体、信号连接、UI、界面、Control、布局
|
|
154
|
+
|
|
155
|
+
### 任务类型
|
|
156
|
+
feature, refactor, bug_fix
|
|
157
|
+
|
|
158
|
+
### 专属经验库
|
|
159
|
+
- 总经验数: 2
|
|
160
|
+
- 最近更新: 2026-03-13
|
|
161
|
+
|
|
162
|
+
#### 经验列表
|
|
163
|
+
1. [场景设计] z_index 不影响事件传播
|
|
164
|
+
2. [场景设计] 预加载文件不存在
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 3. 匹配角色 (match)
|
|
168
|
+
|
|
169
|
+
**触发**: "匹配角色 修复场景点击事件问题"
|
|
170
|
+
|
|
171
|
+
**执行步骤**:
|
|
172
|
+
1. 分析任务描述中的关键词
|
|
173
|
+
2. 读取 `role-registry.yaml`
|
|
174
|
+
3. 计算每个角色的匹配分数
|
|
175
|
+
4. 返回最佳匹配
|
|
176
|
+
|
|
177
|
+
**匹配算法**:
|
|
178
|
+
```
|
|
179
|
+
分数 = 关键词匹配数 * 0.5 + 任务类型匹配 * 0.3 + 模块标签匹配 * 0.2
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**输出示例**:
|
|
183
|
+
```markdown
|
|
184
|
+
帅哥,根据任务描述分析,最佳角色匹配:
|
|
185
|
+
|
|
186
|
+
## 🎯 推荐角色: **godot-scene-expert** (UI专家)
|
|
187
|
+
|
|
188
|
+
**匹配分数**: 0.85
|
|
189
|
+
|
|
190
|
+
**匹配原因**:
|
|
191
|
+
- 关键词匹配: "场景" (+0.5)
|
|
192
|
+
- 任务类型: bug_fix (+0.3)
|
|
193
|
+
- 模块标签: scenes (+0.05)
|
|
194
|
+
|
|
195
|
+
**角色能力**:
|
|
196
|
+
- 场景层级结构设计
|
|
197
|
+
- 节点类型选择和配置
|
|
198
|
+
- 信号连接模式
|
|
199
|
+
- 场景继承和实例化
|
|
200
|
+
- UI 布局和响应式设计
|
|
201
|
+
|
|
202
|
+
**相关经验**:
|
|
203
|
+
- [场景设计] z_index 不影响事件传播
|
|
204
|
+
- [场景设计] 预加载文件不存在
|
|
205
|
+
|
|
206
|
+
使用 "使用 UI专家 执行" 来指定此角色。
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 4. 查看统计 (stats)
|
|
210
|
+
|
|
211
|
+
**触发**: "角色统计"
|
|
212
|
+
|
|
213
|
+
**输出示例**:
|
|
214
|
+
```markdown
|
|
215
|
+
帅哥,角色系统统计:
|
|
216
|
+
|
|
217
|
+
## 📊 角色系统概览
|
|
218
|
+
|
|
219
|
+
| 中文别名 | 角色 | 经验数 | 执行次数 | 最后更新 |
|
|
220
|
+
|----------|------|--------|----------|----------|
|
|
221
|
+
| UI专家 | godot-scene-expert | 2 | 0 | 2026-03-13 |
|
|
222
|
+
| 开发专家 | godot-script-expert | 6 | 0 | 2026-03-13 |
|
|
223
|
+
| 战斗专家 | combat-ai-expert | 0 | 0 | - |
|
|
224
|
+
| 效果专家 | effect-expert | 0 | 0 | - |
|
|
225
|
+
| 测试专家 | test-reviewer | 1 | 0 | 2026-03-13 |
|
|
226
|
+
|
|
227
|
+
**总计**:
|
|
228
|
+
- 角色数: 5
|
|
229
|
+
- 总经验数: 9
|
|
230
|
+
- 累计执行: 0 次
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Integration
|
|
236
|
+
|
|
237
|
+
| Skill | 集成点 |
|
|
238
|
+
|-------|--------|
|
|
239
|
+
| `agent-dispatcher` | 自动角色匹配和记忆注入 |
|
|
240
|
+
| `experience-logger` | 经验写入角色专属库 |
|
|
241
|
+
| `human-checkpoint` | 确认角色选择 |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Important
|
|
246
|
+
|
|
247
|
+
1. **角色匹配是建议性的** - 用户可以手动指定角色
|
|
248
|
+
2. **经验库持续增长** - 每次任务都可能添加新经验
|
|
249
|
+
3. **定期维护** - 清理过时经验,合并相似经验
|
|
250
|
+
4. **角色可扩展** - 可以添加新的专业角色
|
|
251
|
+
5. **中文别名优先** - 用户可以用友好的中文名称召唤角色
|
|
252
|
+
6. **系统内部使用英文 ID** - 子代理调度时使用英文 ID 确保唯一性
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "skill-split-work-package",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"description": "工作包拆分 Skill - 将任务拆分为结构化工作包(仅定义不实现),支持子任务分解和依赖关系管理",
|
|
6
|
+
"triggers": ["拆分工作包", "创建工作包", "split-work-package", "split work package", "create work package"],
|
|
7
|
+
"dependencies": ["provider:state-store", "provider:role-registry"],
|
|
8
|
+
"provides": ["skill:split-work-package"],
|
|
9
|
+
"metadata": {
|
|
10
|
+
"gatedByCode": true
|
|
11
|
+
},
|
|
12
|
+
"config": {}
|
|
13
|
+
}
|