claude-pangu 2.2.21 → 2.3.0

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.
Files changed (65) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +2 -0
  3. package/agents/huoshen.md +220 -424
  4. package/agents/librarian.md +113 -276
  5. package/agents/lilou.md +56 -293
  6. package/agents/liubowen.md +103 -324
  7. package/agents/metis.md +178 -152
  8. package/agents/oracle.md +102 -260
  9. package/agents/wukong.md +101 -164
  10. package/agents/yugong.md +384 -231
  11. package/agents/zhuge.md +276 -200
  12. package/commands/handoff.md +178 -0
  13. package/commands/init-deep.md +160 -112
  14. package/commands/refactor.md +196 -194
  15. package/commands/start-work.md +88 -73
  16. package/commands/stop-continuation.md +57 -0
  17. package/hooks/agent-collaboration.sh +14 -1
  18. package/hooks/agent-handoff-prompt.sh +15 -4
  19. package/hooks/agent-ready-notification.sh +13 -2
  20. package/hooks/agent-usage-reminder.sh +12 -2
  21. package/hooks/anthropic-context-window-limit-recovery.sh +14 -2
  22. package/hooks/ast-grep.sh +14 -1
  23. package/hooks/atlas.sh +13 -4
  24. package/hooks/auto-update-checker.sh +20 -1
  25. package/hooks/background-compaction.sh +15 -2
  26. package/hooks/background-notification.sh +1 -1
  27. package/hooks/category-skill-reminder.sh +92 -0
  28. package/hooks/code-quality-checker.sh +14 -1
  29. package/hooks/comment-checker.sh +119 -0
  30. package/hooks/compaction-context-injector.sh +218 -0
  31. package/hooks/context-compression.sh +14 -1
  32. package/hooks/context-smart-alert.sh +15 -3
  33. package/hooks/context-window-monitor.sh +15 -3
  34. package/hooks/delegate-task-retry.sh +4 -4
  35. package/hooks/directory-agents-injector.sh +14 -1
  36. package/hooks/directory-readme-injector.sh +16 -2
  37. package/hooks/edit-error-recovery.sh +17 -3
  38. package/hooks/empty-message-sanitizer.sh +150 -0
  39. package/hooks/empty-task-response-detector.sh +14 -3
  40. package/hooks/error-friendly-display.sh +17 -7
  41. package/hooks/error-recovery.sh +14 -1
  42. package/hooks/first-use-onboarding.sh +1 -4
  43. package/hooks/hook-performance-monitor.sh +1 -1
  44. package/hooks/hooks.json +84 -1
  45. package/hooks/interactive-bash-session.sh +12 -2
  46. package/hooks/json-error-recovery.sh +176 -0
  47. package/hooks/lsp-tools.sh +14 -1
  48. package/hooks/non-interactive-env.sh +186 -0
  49. package/hooks/output-truncator.sh +14 -1
  50. package/hooks/preemptive-compaction.sh +14 -1
  51. package/hooks/rules-injector.sh +14 -1
  52. package/hooks/session-notification.sh +17 -3
  53. package/hooks/session-recovery.sh +12 -2
  54. package/hooks/stop-continuation-guard.sh +37 -0
  55. package/hooks/task-checkpointing.sh +14 -1
  56. package/hooks/think-mode.sh +14 -1
  57. package/hooks/thinking-block-validator.sh +14 -3
  58. package/hooks/tmux-agent-visualizer.sh +17 -2
  59. package/hooks/todo-continuation-enforcer.sh +105 -0
  60. package/hooks/write-existing-file-guard.sh +100 -0
  61. package/package.json +1 -1
  62. package/skills/agent-browser/SKILL.md +385 -146
  63. package/skills/dev-browser/SKILL.md +136 -0
  64. package/skills/frontend-ui-ux/SKILL.md +95 -3
  65. package/skills/git-master/SKILL.md +561 -386
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: refactor
3
3
  description: |
4
- 重构命令 - 安全、系统化的代码重构模板。
5
- 支持重命名、提取、移动等重构操作,带并行分析和验证。
4
+ 智能重构命令 - LSP + AST-grep + 架构分析 + 测试验证的系统化重构。
5
+ 支持重命名、提取、移动等重构操作,带确定性执行和持续验证。
6
6
  aliases:
7
7
  - /重构
8
8
  - /rf
@@ -12,278 +12,280 @@ allowed-tools:
12
12
  - Grep
13
13
  - Task
14
14
  - Edit
15
+ - Write
16
+ - Bash
15
17
  - TodoWrite
16
- - mcp__jetbrains__*
18
+ - mcp_lsp_goto_definition
19
+ - mcp_lsp_find_references
20
+ - mcp_lsp_symbols
21
+ - mcp_lsp_diagnostics
22
+ - mcp_lsp_prepare_rename
23
+ - mcp_lsp_rename
24
+ - mcp_ast_grep_search
25
+ - mcp_ast_grep_replace
17
26
  model: sonnet
18
27
  ---
19
28
 
20
29
  <command-name>/refactor</command-name>
21
30
 
22
- # 🔧 重构模式
31
+ # 智能重构命令
23
32
 
24
- 你正在执行 **安全重构** 模式。这是一个系统化的代码重构流程,确保重构安全可靠。
33
+ ## 用法
25
34
 
26
- ## 重构原则
35
+ ```
36
+ /refactor <重构目标> [--scope=<file|module|project>] [--strategy=<safe|aggressive>]
37
+
38
+ 参数:
39
+ 重构目标: 可以是文件路径、符号名、模式或描述
40
+
41
+ 选项:
42
+ --scope: 重构范围(默认: module)
43
+ --strategy: 风险容忍度(默认: safe)
44
+ ```
27
45
 
28
- ### 安全第一
46
+ ---
29
47
 
30
- 1. **先理解,后重构** - 不要盲目重构
31
- 2. **小步前进** - 每次只做一个小改动
32
- 3. **持续验证** - 每步都运行测试
33
- 4. **保持功能** - 重构不改变行为
48
+ # 阶段 0: 意图门控(必须首先执行)
34
49
 
35
- ### 黄金规则
50
+ ## 步骤 0.1: 解析请求类型
36
51
 
37
- > **Bug 修复时不要重构,重构时不要修复 Bug**
52
+ | 信号 | 分类 | 操作 |
53
+ |------|------|------|
54
+ | 具体文件/符号 | 明确 | 进入代码库分析 |
55
+ | "将 X 重构为 Y" | 清晰转换 | 进入代码库分析 |
56
+ | "改进"、"清理" | 开放式 | **必须询问**: "具体改进什么?" |
57
+ | 范围模糊 | 不确定 | **必须询问**: "哪些模块/文件?" |
38
58
 
39
- ---
59
+ ## 步骤 0.2: 验证理解
40
60
 
41
- ## 重构类型
61
+ 确认以下各项:
62
+ - [ ] 目标已明确识别
63
+ - [ ] 期望结果已理解
64
+ - [ ] 范围已定义
65
+ - [ ] 成功标准可以阐述
42
66
 
43
- ### 1. 重命名 (Rename)
67
+ **如果有任何不清楚,询问澄清问题。**
44
68
 
45
- **目标**: 改善命名,提高可读性
69
+ ## 步骤 0.3: 创建初始 Todos
46
70
 
47
71
  ```
48
- # 阶段 1: 找到所有出现位置
49
- background_task(
50
- agent="explore",
51
- prompt="找到 [TARGET] 的所有定义和使用位置。
52
- 报告: 文件路径、行号、使用模式。"
53
- )
54
-
55
- # 阶段 2: 找到依赖
56
- background_task(
57
- agent="explore",
58
- prompt="找到所有导入、使用或依赖 [TARGET] 的代码。
59
- 报告: 依赖链、导入图。"
60
- )
61
-
62
- # 阶段 3: 执行重命名
63
- 使用 LSP rename 或全局搜索替换
64
-
65
- # 阶段 4: 验证
66
- lsp_diagnostics 检查
67
- 运行测试
72
+ TodoWrite([
73
+ {"id": "phase-1", "content": "阶段 1: 代码库分析 - 启动并行探索 Agent", "status": "pending", "priority": "high"},
74
+ {"id": "phase-2", "content": "阶段 2: 构建代码地图 - 映射依赖和影响区域", "status": "pending", "priority": "high"},
75
+ {"id": "phase-3", "content": "阶段 3: 测试评估 - 分析测试覆盖和验证策略", "status": "pending", "priority": "high"},
76
+ {"id": "phase-4", "content": "阶段 4: 计划生成 - 调用诸葛生成详细重构计划", "status": "pending", "priority": "high"},
77
+ {"id": "phase-5", "content": "阶段 5: 执行重构 - 逐步执行并持续验证", "status": "pending", "priority": "high"},
78
+ {"id": "phase-6", "content": "阶段 6: 最终验证 - 完整测试套件和回归检查", "status": "pending", "priority": "high"}
79
+ ])
68
80
  ```
69
81
 
70
- ### 2. 提取 (Extract)
82
+ ---
83
+
84
+ # 阶段 1: 代码库分析(并行探索)
85
+
86
+ **将 phase-1 标记为 in_progress。**
71
87
 
72
- **目标**: 提取函数、类、模块
88
+ ## 1.1: 启动并行探索 Agent(后台)
89
+
90
+ 同时启动所有探索:
73
91
 
74
92
  ```
75
- # 提取函数
76
- 1. 识别要提取的代码块
77
- 2. 确定输入参数和返回值
78
- 3. 创建新函数
79
- 4. 替换原代码为函数调用
80
- 5. 验证行为不变
81
-
82
- # 提取类/模块
83
- 1. 识别相关的功能集
84
- 2. 设计新类/模块接口
85
- 3. 移动代码
86
- 4. 更新导入
87
- 5. 验证
93
+ // Agent 1: 查找重构目标
94
+ task(subagent_type="explore", run_in_background=true, load_skills=[], description="查找重构目标", prompt="查找 [TARGET] 的所有出现和定义。报告: 文件路径、行号、使用模式。")
95
+
96
+ // Agent 2: 查找相关代码
97
+ task(subagent_type="explore", run_in_background=true, load_skills=[], description="查找依赖", prompt="查找所有导入、使用或依赖 [TARGET] 的代码。报告: 依赖链、导入图。")
98
+
99
+ // Agent 3: 查找类似模式
100
+ task(subagent_type="explore", run_in_background=true, load_skills=[], description="查找类似模式", prompt="查找代码库中与 [TARGET] 类似的模式。报告: 类似实现、已建立的约定。")
101
+
102
+ // Agent 4: 查找测试
103
+ task(subagent_type="explore", run_in_background=true, load_skills=[], description="查找测试", prompt="查找与 [TARGET] 相关的所有测试文件。报告: 测试文件路径、测试用例名、覆盖指标。")
88
104
  ```
89
105
 
90
- ### 3. 移动 (Move)
106
+ ## 1.2: 直接工具探索(Agent 运行同时)
91
107
 
92
- **目标**: 改善代码组织
108
+ ### LSP 工具精确分析
93
109
 
94
110
  ```
95
- # 阶段 1: 分析依赖
96
- background_task(
97
- agent="explore",
98
- prompt="分析 [TARGET] 的所有依赖和被依赖关系。
99
- 确定移动的影响范围。"
100
- )
101
-
102
- # 阶段 2: 执行移动
103
- 1. 在新位置创建代码
104
- 2. 更新所有导入路径
105
- 3. 删除旧位置代码
106
- 4. 验证
111
+ mcp_lsp_goto_definition 跳转到定义
112
+ mcp_lsp_find_references — 查找所有引用
113
+ mcp_lsp_symbols — 文件/工作区符号
114
+ mcp_lsp_diagnostics 当前诊断基线
107
115
  ```
108
116
 
109
- ### 4. 简化 (Simplify)
110
-
111
- **目标**: 减少复杂度
117
+ ### AST-Grep 模式分析
112
118
 
113
119
  ```
114
- # 召唤老子进行简化
115
- Task(
116
- subagent_type="general",
117
- prompt="作为老子(简洁之道),请简化以下代码:
118
- - 消除重复
119
- - 简化条件
120
- - 减少嵌套
121
- - 提高可读性
122
-
123
- 文件: [FILE]
124
- 范围: [RANGE]"
125
- )
120
+ mcp_ast_grep_search — 结构化模式搜索
121
+ mcp_ast_grep_replace(dryRun=true) — 预览重构(始终先预览)
126
122
  ```
127
123
 
124
+ ## 1.3: 收集后台结果
125
+
126
+ 所有结果收集后,**将 phase-1 标记为 completed。**
127
+
128
128
  ---
129
129
 
130
- ## 并行分析模板
130
+ # 阶段 2: 构建代码地图
131
+
132
+ **将 phase-2 标记为 in_progress。**
131
133
 
132
- 对于大型重构,使用并行 Agent 分析:
134
+ 基于阶段 1 结果构建:
133
135
 
134
136
  ```
135
- # Agent 1: 找到重构目标
136
- background_task(
137
- agent="explore",
138
- prompt="找到 [TARGET] 的所有出现位置和定义。
139
- 报告: 文件路径、行号、使用模式。"
140
- )
141
-
142
- # Agent 2: 找到相关代码
143
- background_task(
144
- agent="explore",
145
- prompt="找到所有导入、使用或依赖 [TARGET] 的代码。
146
- 报告: 依赖链、导入图。"
147
- )
148
-
149
- # Agent 3: 找到类似模式
150
- background_task(
151
- agent="explore",
152
- prompt="找到代码库中与 [TARGET] 类似的模式。
153
- 报告: 相似代码、可能的统一机会。"
154
- )
155
-
156
- # Agent 4: 检查测试覆盖
157
- background_task(
158
- agent="explore",
159
- prompt="找到覆盖 [TARGET] 的测试。
160
- 报告: 测试文件、测试用例、覆盖范围。"
161
- )
137
+ ## CODEMAP: [TARGET]
138
+
139
+ ### 核心文件(直接影响)
140
+ ### 依赖图
141
+ ### 影响区域
142
+ | 区域 | 风险等级 | 影响文件 | 测试覆盖 |
143
+ |------|----------|----------|----------|
162
144
  ```
163
145
 
146
+ 识别重构约束:
147
+ - **必须遵循**: 已识别的现有模式
148
+ - **不能破坏**: 关键依赖
149
+ - **安全可改**: 隔离的代码区域
150
+
151
+ **将 phase-2 标记为 completed。**
152
+
164
153
  ---
165
154
 
166
- ## 验证清单
155
+ # 阶段 3: 测试评估
167
156
 
168
- 每次重构后验证:
157
+ **将 phase-3 标记为 in_progress。**
169
158
 
170
- ```
171
- □ lsp_diagnostics 无新错误
172
- 所有测试通过
173
- 行为没有改变
174
- 代码质量提升
175
- 没有引入新的依赖问题
176
- ```
159
+ | 覆盖等级 | 策略 |
160
+ |----------|------|
161
+ | 高 (>80%) | 每步后运行现有测试 |
162
+ | 中 (50-80%) | 运行测试 + 添加安全断言 |
163
+ | 低 (<50%) | **暂停**: 建议先添加测试 |
164
+ | 无 | **阻止**: 拒绝激进重构 |
165
+
166
+ **将 phase-3 标记为 completed。**
177
167
 
178
168
  ---
179
169
 
180
- ## 常见重构场景
170
+ # 阶段 4: 计划生成
171
+
172
+ **将 phase-4 标记为 in_progress。**
173
+
174
+ 调用诸葛 (plan agent) 生成详细重构计划:
175
+
176
+ ```
177
+ task(subagent_type="plan", load_skills=[], run_in_background=false, description="重构计划",
178
+ prompt="创建详细重构计划:
179
+ ## 重构目标: [用户原始请求]
180
+ ## 代码地图: [阶段 2 结果]
181
+ ## 测试覆盖: [阶段 3 结果]
182
+ ## 要求: 原子步骤、可独立验证、按依赖排序")
183
+ ```
181
184
 
182
- | 场景 | 建议操作 |
183
- |------|----------|
184
- | 函数太长 | 提取子函数 |
185
- | 重复代码 | 提取公共函数/组件 |
186
- | 命名不清 | 重命名 |
187
- | 文件太大 | 拆分模块 |
188
- | 依赖混乱 | 重组导入、提取接口 |
189
- | 嵌套太深 | 提前返回、提取函数 |
190
- | 魔术数字 | 提取常量 |
185
+ 将计划转换为细粒度 todos。
186
+
187
+ **将 phase-4 标记为 completed。**
191
188
 
192
189
  ---
193
190
 
194
- ## 使用示例
191
+ # 阶段 5: 执行重构(确定性执行)
195
192
 
196
- ```bash
197
- # 重命名
198
- /refactor rename getUserById -> findUserById
193
+ **将 phase-5 标记为 in_progress。**
199
194
 
200
- # 提取函数
201
- /refactor extract calculateTotal from OrderService.processOrder
195
+ 对每个重构步骤:
202
196
 
203
- # 移动
204
- /refactor move utils/helpers.ts -> lib/helpers/
197
+ ### 执行前
198
+ 1. 标记步骤 todo `in_progress`
199
+ 2. 读取当前文件状态
200
+ 3. 验证 lsp_diagnostics 基线
205
201
 
206
- # 简化
207
- /refactor simplify src/components/Dashboard.tsx
202
+ ### 执行
203
+ 根据类型选择工具:
204
+ - **符号重命名**: `mcp_lsp_prepare_rename` → `mcp_lsp_rename`
205
+ - **模式转换**: `mcp_ast_grep_replace(dryRun=true)` 预览 → 执行
206
+ - **结构变更**: Edit 工具精确修改
208
207
 
209
- # 智能建议
210
- /refactor suggest src/services/
211
- /refactor suggest --file src/components/Dashboard.tsx
212
- ```
208
+ ### 执行后验证(强制)
213
209
 
214
- ---
210
+ ```
211
+ 1. mcp_lsp_diagnostics — 必须干净或与基线相同
212
+ 2. 运行测试命令
213
+ 3. 类型检查
214
+ ```
215
215
 
216
- ## 智能重构建议 (`/refactor suggest`)
216
+ ### 失败恢复协议
217
217
 
218
- 自动分析代码并推荐重构机会:
218
+ 如果任何验证失败:
219
+ 1. **停止** — 立即
220
+ 2. **回滚** — 撤销失败的变更
221
+ 3. **诊断** — 分析出了什么问题
222
+ 4. **决定** — 修复重试、跳过、或咨询 Oracle
219
223
 
220
- ### 分析维度
224
+ **绝不在测试失败的情况下继续下一步。**
221
225
 
222
- | 维度 | 检测内容 | 建议操作 |
223
- |------|----------|----------|
224
- | 📏 **长度** | 函数 > 50 行,文件 > 300 行 | 提取函数/拆分模块 |
225
- | 🔄 **重复** | 相似代码块 > 10 行 | 提取公共函数 |
226
- | 🌀 **复杂度** | 圈复杂度 > 10,嵌套 > 3 | 简化逻辑 |
227
- | 🏷️ **命名** | 不符合规范、含义模糊 | 重命名 |
228
- | 📦 **耦合** | 过多依赖、循环导入 | 解耦/重组 |
229
- | 🧪 **可测试性** | 难以单元测试 | 依赖注入 |
226
+ **将 phase-5 标记为 completed。**
230
227
 
231
- ### 建议报告格式
228
+ ---
232
229
 
233
- ```text
234
- 🔍 重构机会分析报告
235
- ═══════════════════════════════════════════════════════════════
230
+ # 阶段 6: 最终验证
236
231
 
237
- 📁 src/services/UserService.ts
238
- ├─ ⚠️ [长度] processUser() 函数 78 行 → 建议提取子函数
239
- ├─ ⚠️ [重复] 与 OrderService.ts 有 15 行相似代码
240
- └─ 💡 [命名] `data` 变量名不够语义化
232
+ **将 phase-6 标记为 in_progress。**
241
233
 
242
- 📁 src/components/Dashboard.tsx
243
- ├─ ❌ [复杂度] 圈复杂度 15,建议拆分
244
- └─ ⚠️ [嵌套] 条件嵌套 4 层,建议提前返回
234
+ 1. 完整测试套件
235
+ 2. 类型检查
236
+ 3. Lint 检查
237
+ 4. 构建验证(如适用)
238
+ 5. 所有变更文件的 lsp_diagnostics
245
239
 
246
- 📊 汇总
247
- • 严重: 1 • 警告: 3 • 建议: 1
248
- • 推荐优先修复: Dashboard.tsx 的复杂度问题
240
+ ### 生成摘要
249
241
 
250
- 💡 快速操作:
251
- /refactor simplify src/components/Dashboard.tsx
252
- /refactor extract processUserData from UserService.processUser
253
- ═══════════════════════════════════════════════════════════════
254
242
  ```
243
+ ## 重构完成
255
244
 
256
- ### 使用方式
245
+ ### 变更内容
246
+ - [变更列表]
257
247
 
258
- ```bash
259
- # 分析目录
260
- /refactor suggest src/services/
248
+ ### 验证结果
249
+ - 测试: 通过 (X/Y)
250
+ - 类型检查: 干净
251
+ - 构建: 成功
261
252
 
262
- # 分析单文件
263
- /refactor suggest --file src/components/Dashboard.tsx
253
+ ### 无回归检测
254
+ 所有现有测试通过。未引入新错误。
255
+ ```
264
256
 
265
- # 分析整个项目
266
- /refactor suggest --all
257
+ **将 phase-6 标记为 completed。**
267
258
 
268
- # 只看严重问题
269
- /refactor suggest --severity critical
270
- ```
259
+ ---
271
260
 
272
- ## 用户的请求
261
+ # 关键规则
273
262
 
274
- $ARGUMENTS
263
+ ## 绝不
264
+ - 跳过 lsp_diagnostics 检查
265
+ - 在测试失败时继续
266
+ - 使用 `as any`、`@ts-ignore`、`@ts-expect-error`
267
+ - 删除测试使其通过
268
+ - 不理解现有模式就重构
269
+
270
+ ## 始终
271
+ - 先理解再修改
272
+ - 先预览再应用 (ast_grep dryRun=true)
273
+ - 每次变更后验证
274
+ - 遵循现有代码库模式
275
+ - 实时更新 todos
276
+ - 发现问题立即报告
277
+
278
+ ## 中止条件
279
+ - 目标代码测试覆盖为零
280
+ - 变更将破坏公共 API
281
+ - 3 次连续验证失败
275
282
 
276
283
  ---
277
284
 
278
- ## 开始重构
285
+ ## 用户的请求
279
286
 
280
- 现在我将:
287
+ $ARGUMENTS
281
288
 
282
- 1. **分析目标** - 理解要重构什么
283
- 2. **并行探索** - 找到所有相关代码
284
- 3. **评估影响** - 确定重构范围
285
- 4. **制定计划** - 创建重构步骤
286
- 5. **执行重构** - 小步安全重构
287
- 6. **验证结果** - 确保没有破坏
289
+ ---
288
290
 
289
291
  **安全重构开始...**