superpowers-zh 1.3.0 → 1.5.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.
@@ -1,146 +1,166 @@
1
- # 代码审查代理
1
+ # 代码审查员提示模板
2
2
 
3
- 你正在审查代码变更的生产就绪程度。
3
+ 派遣代码审查员子代理时使用此模板。
4
4
 
5
- **你的任务:**
6
- 1. 审查 {WHAT_WAS_IMPLEMENTED}
7
- 2. 对照 {PLAN_OR_REQUIREMENTS} 进行比较
8
- 3. 检查代码质量、架构、测试
9
- 4. 按严重程度分类问题
10
- 5. 评估生产就绪程度
5
+ **用途:** 在工作成果扩散到更多工作之前,对照需求和代码质量标准做一次审查。
11
6
 
12
- ## 实现内容
7
+ ```
8
+ Task tool(general-purpose):
9
+ description: "审查代码改动"
10
+ prompt: |
11
+ 你是一名资深代码审查员,精通软件架构、设计模式与最佳实践。
12
+ 你的工作是对照计划或需求审查已完成的工作,在问题扩散之前发现它们。
13
13
 
14
- {DESCRIPTION}
14
+ ## 实现内容
15
15
 
16
- ## 需求/计划
16
+ {DESCRIPTION}
17
17
 
18
- {PLAN_REFERENCE}
18
+ ## 需求 / 计划
19
19
 
20
- ## 待审查的 Git 范围
20
+ {PLAN_OR_REQUIREMENTS}
21
21
 
22
- **Base:** {BASE_SHA}
23
- **Head:** {HEAD_SHA}
22
+ ## 待审查的 Git 范围
24
23
 
25
- ```bash
26
- git diff --stat {BASE_SHA}..{HEAD_SHA}
27
- git diff {BASE_SHA}..{HEAD_SHA}
28
- ```
24
+ **Base:** {BASE_SHA}
25
+ **Head:** {HEAD_SHA}
29
26
 
30
- ## 审查清单
31
-
32
- **代码质量:**
33
- - 关注点分离是否清晰?
34
- - 错误处理是否恰当?
35
- - 类型安全(如适用)?
36
- - 是否遵循 DRY 原则?
37
- - 边界情况是否已处理?
38
-
39
- **架构:**
40
- - 设计决策是否合理?
41
- - 是否考虑了可扩展性?
42
- - 性能影响如何?
43
- - 安全方面有无隐患?
44
-
45
- **测试:**
46
- - 测试是否真正测试了逻辑(而不只是 mock)?
47
- - 边界情况是否覆盖?
48
- - 需要的地方是否有集成测试?
49
- - 所有测试是否通过?
50
-
51
- **需求:**
52
- - 是否满足了计划中的所有需求?
53
- - 实现是否与规格一致?
54
- - 有无范围蔓延?
55
- - 破坏性变更是否已记录?
56
-
57
- **生产就绪:**
58
- - 迁移策略(如有 schema 变更)?
59
- - 是否考虑了向后兼容性?
60
- - 文档是否完备?
61
- - 有无明显 bug?
62
-
63
- ## 输出格式
27
+ ```bash
28
+ git diff --stat {BASE_SHA}..{HEAD_SHA}
29
+ git diff {BASE_SHA}..{HEAD_SHA}
30
+ ```
64
31
 
65
- ### 优点
66
- [做得好的地方?要具体。]
32
+ ## 检查内容
67
33
 
68
- ### 问题
34
+ **计划对齐:**
35
+ - 实现是否匹配计划 / 需求?
36
+ - 偏差是有道理的改进,还是有问题的偏离?
37
+ - 计划中的所有功能都到位了吗?
69
38
 
70
- #### Critical(必须修复)
71
- [Bug、安全问题、数据丢失风险、功能异常]
39
+ **代码质量:**
40
+ - 关注点分离清晰吗?
41
+ - 错误处理到位吗?
42
+ - 该有类型安全的地方有吗?
43
+ - DRY 但没有过早抽象?
44
+ - 边界情况处理了吗?
72
45
 
73
- #### Important(应该修复)
74
- [架构问题、缺失功能、错误处理不足、测试缺口]
46
+ **架构:**
47
+ - 设计决策合理吗?
48
+ - 可扩展性和性能合理吗?
49
+ - 有没有安全隐患?
50
+ - 与周围代码集成是否干净?
75
51
 
76
- #### Minor(可以改进)
77
- [代码风格、优化机会、文档改进]
52
+ **测试:**
53
+ - 测试验证的是真实行为,不是 mock?
54
+ - 边界情况覆盖了吗?
55
+ - 该有集成测试的地方有吗?
56
+ - 所有测试都通过吗?
78
57
 
79
- **每个问题需包含:**
80
- - 文件:行号引用
81
- - 什么有问题
82
- - 为什么重要
83
- - 如何修复(如果不明显的话)
58
+ **生产就绪:**
59
+ - 如果改了 schema,有迁移策略吗?
60
+ - 考虑了向后兼容吗?
61
+ - 文档完整吗?
62
+ - 没有明显 bug?
84
63
 
85
- ### 建议
86
- [对代码质量、架构或流程的改进建议]
64
+ ## 校准标准
87
65
 
88
- ### 评估
66
+ 按实际严重程度分类。不是所有问题都是 Critical。
67
+ 在列出问题之前先认可做得好的地方——准确的肯定能让实现者
68
+ 更愿意接受后续的反馈。
69
+
70
+ 如果发现与计划有重大偏差,明确标出,让实现者确认这个偏差
71
+ 是不是有意为之。如果问题出在计划本身而不是实现,也要说清楚。
72
+
73
+ ## 输出格式
74
+
75
+ ### 优点
76
+ [哪些地方做得好?具体一点。]
77
+
78
+ ### 问题
89
79
 
90
- **可以合并吗?** [是/否/修复后可以]
80
+ #### Critical(必须修复)
81
+ [bug、安全问题、数据丢失风险、功能损坏]
91
82
 
92
- **理由:** [1-2 句话的技术评估]
83
+ #### Important(应该修复)
84
+ [架构问题、缺失功能、错误处理不到位、测试漏洞]
93
85
 
94
- ## 关键规则
86
+ #### Minor(锦上添花)
87
+ [代码风格、优化机会、文档润色]
88
+
89
+ 每个问题包含:
90
+ - File:line 引用
91
+ - 哪里有问题
92
+ - 为什么重要
93
+ - 怎么修(如果不明显)
94
+
95
+ ### 建议
96
+ [关于代码质量、架构或流程的改进建议]
97
+
98
+ ### 评估
99
+
100
+ **可以合并吗?** [是 | 否 | 修完再合]
101
+
102
+ **理由:** [1-2 句技术评估]
103
+
104
+ ## 关键规则
105
+
106
+ **要做:**
107
+ - 按实际严重程度分类
108
+ - 具体(file:line,别含糊)
109
+ - 解释为什么这个问题重要
110
+ - 认可优点
111
+ - 给出明确判断
112
+
113
+ **不要:**
114
+ - 没检查就说"看起来 OK"
115
+ - 把小事标成 Critical
116
+ - 对没真看过的代码给反馈
117
+ - 含糊其辞("改进错误处理")
118
+ - 回避给出明确判断
119
+ ```
95
120
 
96
- **应该做的:**
97
- - 按实际严重程度分类(不是所有问题都是 Critical)
98
- - 要具体(文件:行号,不要含糊)
99
- - 解释问题为什么重要
100
- - 肯定做得好的地方
101
- - 给出明确结论
121
+ **占位符说明:**
122
+ - `{DESCRIPTION}` —— 已构建内容的简要说明
123
+ - `{PLAN_OR_REQUIREMENTS}` —— 预期功能(计划文件路径、任务文本或需求)
124
+ - `{BASE_SHA}` —— 起始 commit
125
+ - `{HEAD_SHA}` —— 结束 commit
102
126
 
103
- **不该做的:**
104
- - 没仔细看就说"看起来不错"
105
- - 把小问题标为 Critical
106
- - 对没有审查的代码给反馈
107
- - 含糊其辞("改善错误处理")
108
- - 回避给出明确结论
127
+ **审查员返回:** 优点、问题(Critical / Important / Minor)、建议、评估
109
128
 
110
129
  ## 输出示例
111
130
 
112
131
  ```
113
132
  ### 优点
114
- - 数据库 schema 清晰,迁移规范(db.ts:15-42)
115
- - 测试覆盖全面(18 个测试,覆盖所有边界情况)
116
- - 错误处理良好,有降级方案(summarizer.ts:85-92)
133
+ - 数据库 schema 干净,迁移规范(db.ts:15-42)
134
+ - 测试覆盖全面(18 个测试,所有边界情况都覆盖)
135
+ - 错误处理有 fallback,做得很好(summarizer.ts:85-92)
117
136
 
118
137
  ### 问题
119
138
 
120
139
  #### Important
121
- 1. **CLI 包装器缺少帮助文本**
122
- - 文件:index-conversations:1-31
123
- - 问题:没有 --help 选项,用户无法发现 --concurrency
124
- - 修复:添加 --help 分支,附带使用示例
140
+ 1. **CLI wrapper 缺少帮助文本**
141
+ - File: index-conversations:1-31
142
+ - 问题:没有 --help flag,用户不会发现 --concurrency
143
+ - 修复:加 --help case 含使用示例
125
144
 
126
- 2. **日期校验缺失**
127
- - 文件:search.ts:25-27
128
- - 问题:无效日期静默返回空结果
129
- - 修复:校验 ISO 格式,抛出带示例的错误
145
+ 2. **缺少日期校验**
146
+ - File: search.ts:25-27
147
+ - 问题:无效日期会静默返回空结果
148
+ - 修复:校验 ISO 格式,抛错并附示例
130
149
 
131
150
  #### Minor
132
- 1. **进度指示器**
133
- - 文件:indexer.ts:130
134
- - 问题:长时间操作没有"X / Y"计数器
135
- - 影响:用户不知道还要等多久
151
+ 1. **进度指示**
152
+ - File: indexer.ts:130
153
+ - 问题:长操作没有 "X of Y" 计数
154
+ - 影响:用户不知道要等多久
136
155
 
137
156
  ### 建议
138
- - 添加进度报告以改善用户体验
139
- - 考虑用配置文件管理排除的项目(提高可移植性)
157
+ - 加进度上报改善用户体验
158
+ - 考虑用配置文件管理排除项目(提升可移植性)
140
159
 
141
160
  ### 评估
142
161
 
143
- **可以合并:修复后可以**
162
+ **可以合并吗:修完再合**
144
163
 
145
- **理由:** 核心实现扎实,架构合理,测试充分。Important 问题(帮助文本、日期校验)容易修复,不影响核心功能。
164
+ **理由:** 核心实现扎实,架构和测试都很好。Important 问题(帮助文本、
165
+ 日期校验)很容易修,且不影响核心功能。
146
166
  ```
@@ -1,104 +1,122 @@
1
1
  ---
2
2
  name: using-git-worktrees
3
- description: 当需要开始与当前工作区隔离的功能开发或执行实现计划之前使用——创建具有智能目录选择和安全验证的隔离 git 工作树
3
+ description: 当需要开始与当前工作区隔离的功能开发,或在执行实现计划之前使用——通过原生工具或 git worktree 回退机制确保隔离工作区存在
4
4
  ---
5
5
 
6
6
  # 使用 Git 工作树
7
7
 
8
8
  ## 概述
9
9
 
10
- Git 工作树创建共享同一仓库的隔离工作区,允许同时在多个分支上工作而无需切换。
10
+ 确保工作发生在隔离的工作区中。优先使用你的平台的原生 worktree 工具。仅在没有原生工具可用时,再回退到手动 git worktree。
11
11
 
12
- **核心原则:** 系统化的目录选择 + 安全验证 = 可靠的隔离。
12
+ **核心原则:** 先检测现有隔离。然后用原生工具。再回退到 git。绝不与 harness 对抗。
13
13
 
14
14
  **开始时宣布:** "我正在使用 using-git-worktrees 技能来建立一个隔离的工作区。"
15
15
 
16
- ## 目录选择流程
16
+ ## 步骤 0:检测现有隔离
17
17
 
18
- 按以下优先顺序执行:
19
-
20
- ### 1. 检查现有目录
18
+ **创建任何东西之前,先检查你是否已经在一个隔离的工作区里。**
21
19
 
22
20
  ```bash
23
- # 按优先顺序检查
24
- ls -d .worktrees 2>/dev/null # 首选(隐藏目录)
25
- ls -d worktrees 2>/dev/null # 备选
21
+ GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
22
+ GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
23
+ BRANCH=$(git branch --show-current)
26
24
  ```
27
25
 
28
- **如果找到:** 使用该目录。如果两者都存在,`.worktrees` 优先。
29
-
30
- ### 2. 检查 CLAUDE.md
26
+ **Submodule 守卫:** 在 git submodule 内 `GIT_DIR != GIT_COMMON` 也为真。在判定"已经在 worktree 内"之前,先确认你不在 submodule 里:
31
27
 
32
28
  ```bash
33
- grep -i "worktree.*director" CLAUDE.md 2>/dev/null
29
+ # 如果这条命令返回路径,说明你在 submodule 里,不是 worktree —— 按普通仓库处理
30
+ git rev-parse --show-superproject-working-tree 2>/dev/null
34
31
  ```
35
32
 
36
- **如果指定了偏好:** 直接使用,无需询问。
33
+ **如果 `GIT_DIR != GIT_COMMON`(且不是 submodule):** 你已经在一个 linked worktree 内。跳到步骤 3(项目设置)。**不要**再创建一个 worktree。
37
34
 
38
- ### 3. 询问用户
35
+ 按分支状态报告:
39
36
 
40
- 如果没有现有目录且 CLAUDE.md 中无偏好设置:
37
+ - 在某个分支上:"已经在隔离工作区 `<path>`,分支 `<name>`。"
38
+ - 分离 HEAD:"已经在隔离工作区 `<path>`(分离 HEAD,由外部管理)。完成时需要创建分支。"
41
39
 
42
- ```
43
- 未找到工作树目录。我应该在哪里创建工作树?
40
+ **如果 `GIT_DIR == GIT_COMMON`(或在 submodule 内):** 你在一个普通的仓库检出里。
44
41
 
45
- 1. .worktrees/(项目本地,隐藏目录)
46
- 2. ~/.config/superpowers/worktrees/<project-name>/(全局位置)
42
+ 用户是否已经在你的 instructions 里表明过 worktree 偏好?如果没有,创建 worktree 之前先征求同意:
47
43
 
48
- 你倾向哪个?
49
- ```
44
+ > "你希望我搭一个隔离的 worktree 吗?它能保护你当前分支不被改动。"
50
45
 
51
- ## 安全验证
46
+ 如果用户已声明过偏好,直接遵循,不再询问。如果用户拒绝同意,原地工作并跳到步骤 3。
52
47
 
53
- ### 项目本地目录(.worktrees 或 worktrees)
48
+ ## 步骤 1:创建隔离工作区
54
49
 
55
- **创建工作树前必须验证目录已被忽略:**
50
+ **你有两种机制。按这个顺序尝试。**
56
51
 
57
- ```bash
58
- # 检查目录是否被忽略(遵循本地、全局和系统 gitignore)
59
- git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
60
- ```
52
+ ### 1a. 原生 Worktree 工具(首选)
53
+
54
+ 用户已经请求隔离工作区(步骤 0 已获同意)。你是否已经有创建 worktree 的方法?可能是名为 `EnterWorktree`、`WorktreeCreate` 的工具、`/worktree` 命令,或 `--worktree` 标志。如果有,用它,然后跳到步骤 3。
55
+
56
+ 原生工具自动处理目录放置、分支创建和清理。在你已经有原生工具的情况下使用 `git worktree add`,会创建你的 harness 看不到也无法管理的"幻影状态"。
57
+
58
+ 只有在没有原生 worktree 工具可用时,才进入步骤 1b。
59
+
60
+ ### 1b. Git Worktree 回退
61
61
 
62
- **如果未被忽略:**
62
+ **只在步骤 1a 不适用时使用** —— 你没有可用的原生 worktree 工具。手动用 git 创建 worktree。
63
63
 
64
- 根据 Jesse 的规则"立即修复坏掉的东西":
65
- 1. 在 .gitignore 中添加相应条目
66
- 2. 提交更改
67
- 3. 继续创建工作树
64
+ #### 目录选择
68
65
 
69
- **为什么这很关键:** 防止意外将工作树内容提交到仓库。
66
+ 按以下优先级。明确的用户偏好始终优先于观察到的文件系统状态。
70
67
 
71
- ### 全局目录(~/.config/superpowers/worktrees)
68
+ 1. **检查你的 instructions 里是否声明过 worktree 目录偏好。** 如果用户已指定,不再询问直接用。
72
69
 
73
- 无需 .gitignore 验证——完全在项目之外。
70
+ 2. **检查是否存在项目本地的 worktree 目录:**
74
71
 
75
- ## 创建步骤
72
+ ```bash
73
+ ls -d .worktrees 2>/dev/null # 首选(隐藏目录)
74
+ ls -d worktrees 2>/dev/null # 备选
75
+ ```
76
76
 
77
- ### 1. 检测项目名称
77
+ 找到就用。如果两者都存在,`.worktrees` 优先。
78
+
79
+ 3. **检查是否存在全局目录:**
80
+
81
+ ```bash
82
+ project=$(basename "$(git rev-parse --show-toplevel)")
83
+ ls -d ~/.config/superpowers/worktrees/$project 2>/dev/null
84
+ ```
85
+
86
+ 找到就用(兼容老的全局路径)。
87
+
88
+ 4. **如果没有其他可参考的信息**,默认用项目根目录下的 `.worktrees/`。
89
+
90
+ #### 安全验证(仅项目本地目录)
91
+
92
+ **创建 worktree 前必须验证目录已被忽略:**
78
93
 
79
94
  ```bash
80
- project=$(basename "$(git rev-parse --show-toplevel)")
95
+ git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
81
96
  ```
82
97
 
83
- ### 2. 创建工作树
98
+ **如果未被忽略:** 添加到 .gitignore,提交该改动,然后继续。
99
+
100
+ **为什么关键:** 防止 worktree 内容被意外提交到仓库。
101
+
102
+ 全局目录(`~/.config/superpowers/worktrees/`)无需验证。
103
+
104
+ #### 创建工作树
84
105
 
85
106
  ```bash
86
- # 确定完整路径
87
- case $LOCATION in
88
- .worktrees|worktrees)
89
- path="$LOCATION/$BRANCH_NAME"
90
- ;;
91
- ~/.config/superpowers/worktrees/*)
92
- path="~/.config/superpowers/worktrees/$project/$BRANCH_NAME"
93
- ;;
94
- esac
95
-
96
- # 创建带有新分支的工作树
107
+ project=$(basename "$(git rev-parse --show-toplevel)")
108
+
109
+ # 根据选定位置确定路径
110
+ # 项目本地:path="$LOCATION/$BRANCH_NAME"
111
+ # 全局:path="~/.config/superpowers/worktrees/$project/$BRANCH_NAME"
112
+
97
113
  git worktree add "$path" -b "$BRANCH_NAME"
98
114
  cd "$path"
99
115
  ```
100
116
 
101
- ### 3. 运行项目设置
117
+ **沙盒回退:** 如果 `git worktree add` 因权限错误(沙盒拒绝)失败,告诉用户沙盒阻止了 worktree 创建,你将在当前目录原地工作。然后原地运行 setup 和基线测试。
118
+
119
+ ## 步骤 3:项目设置
102
120
 
103
121
  自动检测并运行相应的设置命令:
104
122
 
@@ -117,23 +135,20 @@ if [ -f pyproject.toml ]; then poetry install; fi
117
135
  if [ -f go.mod ]; then go mod download; fi
118
136
  ```
119
137
 
120
- ### 4. 验证基线正常
138
+ ## 步骤 4:验证基线干净
121
139
 
122
- 运行测试确保工作树初始状态干净:
140
+ 运行测试确保工作区初始状态干净:
123
141
 
124
142
  ```bash
125
- # 示例 - 使用项目对应的命令
126
- npm test
127
- cargo test
128
- pytest
129
- go test ./...
143
+ # 使用项目对应的命令
144
+ npm test / cargo test / pytest / go test ./...
130
145
  ```
131
146
 
132
- **如果测试失败:** 报告失败情况,询问是否继续或排查。
147
+ **如果测试失败:** 报告失败,询问是继续还是排查。
133
148
 
134
149
  **如果测试通过:** 报告就绪。
135
150
 
136
- ### 5. 报告位置
151
+ ### 报告
137
152
 
138
153
  ```
139
154
  工作树已就绪:<full-path>
@@ -145,74 +160,76 @@ go test ./...
145
160
 
146
161
  | 情况 | 操作 |
147
162
  |------|------|
148
- | `.worktrees/` 存在 | 使用它(验证已忽略) |
149
- | `worktrees/` 存在 | 使用它(验证已忽略) |
150
- | 两者都存在 | 使用 `.worktrees/` |
151
- | 都不存在 | 检查 CLAUDE.md → 询问用户 |
163
+ | 已在 linked worktree 内 | 跳过创建(步骤 0) |
164
+ | 在 submodule 内 | 按普通仓库处理(步骤 0 守卫) |
165
+ | 有原生 worktree 工具 | 用它(步骤 1a) |
166
+ | 没有原生工具 | git worktree 回退(步骤 1b) |
167
+ | `.worktrees/` 存在 | 用它(验证已忽略) |
168
+ | `worktrees/` 存在 | 用它(验证已忽略) |
169
+ | 两者都存在 | 用 `.worktrees/` |
170
+ | 都不存在 | 检查 instructions 文件,再默认 `.worktrees/` |
171
+ | 全局路径存在 | 用它(向后兼容) |
152
172
  | 目录未被忽略 | 添加到 .gitignore + 提交 |
173
+ | 创建时权限错误 | 沙盒回退,原地工作 |
153
174
  | 基线测试失败 | 报告失败 + 询问 |
154
175
  | 无 package.json/Cargo.toml | 跳过依赖安装 |
155
176
 
156
177
  ## 常见错误
157
178
 
179
+ ### 与 harness 对抗
180
+
181
+ - **问题:** 平台已经提供隔离的情况下还在用 `git worktree add`
182
+ - **修复:** 步骤 0 检测现有隔离。步骤 1a 让位给原生工具。
183
+
184
+ ### 跳过检测
185
+
186
+ - **问题:** 在已有的 worktree 内嵌套创建另一个 worktree
187
+ - **修复:** 创建任何东西之前都先跑步骤 0
188
+
158
189
  ### 跳过忽略验证
159
190
 
160
- - **问题:** 工作树内容被跟踪,污染 git status
161
- - **修复:** 创建项目本地工作树前始终使用 `git check-ignore`
191
+ - **问题:** worktree 内容被跟踪,污染 git status
192
+ - **修复:** 创建项目本地 worktree 前始终使用 `git check-ignore`
162
193
 
163
194
  ### 假设目录位置
164
195
 
165
- - **问题:** 造成不一致,违反项目约定
166
- - **修复:** 遵循优先级:现有目录 > CLAUDE.md > 询问
196
+ - **问题:** 造成不一致、违反项目约定
197
+ - **修复:** 遵循优先级:现有目录 > 全局历史路径 > instructions 文件 > 默认
167
198
 
168
199
  ### 带着失败的测试继续
169
200
 
170
201
  - **问题:** 无法区分新 bug 和已有问题
171
202
  - **修复:** 报告失败,获得明确许可后再继续
172
203
 
173
- ### 硬编码设置命令
174
-
175
- - **问题:** 在使用不同工具的项目上会出错
176
- - **修复:** 从项目文件自动检测(package.json 等)
177
-
178
- ## 示例工作流
179
-
180
- ```
181
- 你:我正在使用 using-git-worktrees 技能来建立一个隔离的工作区。
182
-
183
- [检查 .worktrees/ - 存在]
184
- [验证已忽略 - git check-ignore 确认 .worktrees/ 已被忽略]
185
- [创建工作树:git worktree add .worktrees/auth -b feature/auth]
186
- [运行 npm install]
187
- [运行 npm test - 47 个通过]
188
-
189
- 工作树已就绪:/Users/jesse/myproject/.worktrees/auth
190
- 测试通过(47 个测试,0 个失败)
191
- 准备实现 auth 功能
192
- ```
193
-
194
204
  ## 红线
195
205
 
196
206
  **绝不:**
197
- - 创建项目本地工作树时不验证是否已忽略
207
+
208
+ - 步骤 0 已检测到现有隔离时还创建 worktree
209
+ - 在已有原生 worktree 工具(如 `EnterWorktree`)的情况下还用 `git worktree add`。这是 #1 错误——有就用。
210
+ - 跳过步骤 1a 直接跳到步骤 1b 的 git 命令
211
+ - 不验证已忽略就创建项目本地 worktree
198
212
  - 跳过基线测试验证
199
213
  - 不询问就带着失败的测试继续
200
- - 在有歧义时假设目录位置
201
- - 跳过 CLAUDE.md 检查
202
214
 
203
215
  **始终:**
204
- - 遵循目录优先级:现有目录 > CLAUDE.md > 询问
205
- - 对项目本地目录验证是否已忽略
216
+
217
+ - 先跑步骤 0 检测
218
+ - 优先原生工具,其次 git 回退
219
+ - 遵循目录优先级:现有目录 > 全局历史路径 > instructions 文件 > 默认
220
+ - 项目本地目录验证已忽略
206
221
  - 自动检测并运行项目设置
207
222
  - 验证测试基线干净
208
223
 
209
224
  ## 集成
210
225
 
211
226
  **被以下技能调用:**
227
+
212
228
  - **brainstorming**(阶段 4)- 设计通过且需要实现时必需
213
229
  - **subagent-driven-development** - 执行任何任务前必需
214
230
  - **executing-plans** - 执行任何任务前必需
215
231
  - 任何需要隔离工作区的技能
216
232
 
217
233
  **配合使用:**
234
+
218
235
  - **finishing-a-development-branch** - 工作完成后清理时必需
@@ -39,7 +39,7 @@ Superpowers 技能覆盖默认系统提示行为,但**用户指令始终具有
39
39
 
40
40
  ## 平台适配
41
41
 
42
- 技能使用 Claude Code 的工具名称。非 CC 平台:查看 `references/copilot-tools.md`(Copilot CLI)、`references/hermes-tools.md`(Hermes Agent)、`references/codex-tools.md`(Codex)了解工具对应关系。Gemini CLI 用户通过 GEMINI.md 自动获得工具映射。
42
+ 技能使用 Claude Code 的工具名称。非 CC 平台:查看 `references/copilot-tools.md`(Copilot CLI)、`references/hermes-tools.md`(Hermes Agent)、`references/codex-tools.md`(Codex)、`references/qoder-tools.md`(Qoder)了解工具对应关系。Gemini CLI 用户通过 GEMINI.md 自动获得工具映射。
43
43
 
44
44
  # 使用技能
45
45
 
@@ -0,0 +1,43 @@
1
+ # Qoder 工具映射
2
+
3
+ Skills 使用 Claude Code 的工具名称。Qoder(阿里 AI IDE)大部分工具与 Claude Code **同名**,只有少数差异:
4
+
5
+ | Skill 中的引用 | Qoder 等价工具 |
6
+ |---------------|---------------|
7
+ | `Read` / `Write` / `Edit` | 同名(`Read` / `Write` / `Edit`) |
8
+ | `Bash` | 同名 |
9
+ | `Grep` / `Glob` | 同名 |
10
+ | `Task`(派遣子 agent) | 同名(`Task`) |
11
+ | `WebFetch` / `WebSearch` | 同名 |
12
+ | `AskUserQuestion` | 同名 |
13
+ | `Skill` | 同名 |
14
+ | `TodoWrite` | 同名 |
15
+ | `EnterPlanMode` / `ExitPlanMode` | **`EnterSpecMode` / `ExitSpecMode`**(Qoder 把"计划模式"称为"Spec 模式")|
16
+
17
+ ## Task 子 Agent 类型
18
+
19
+ | Claude Code Agent | Qoder 等价 |
20
+ |------------------|-----------|
21
+ | `general-purpose` | `general-purpose` |
22
+ | `Explore` | `explore-agent` |
23
+ | `Plan` | `plan-agent` |
24
+ | `claude-code-guide` | `qoder-guide` |
25
+
26
+ Qoder 额外有 `browser-agent`、`code-reviewer`、`design-agent` 等专用 agent,依任务匹配选用。
27
+
28
+ ## Quest MCP 工具(Qoder 原生)
29
+
30
+ Qoder 内置 Quest 系统提供以下工具,Claude Code 没有等价物,可在 skill 流程中直接调用:
31
+
32
+ | 工具 | 用途 |
33
+ |------|------|
34
+ | `mcp__quest__search_codebase` | 语义化代码搜索(按意图找代码) |
35
+ | `mcp__quest__search_symbol` | 按符号名搜索代码及关系 |
36
+ | `mcp__quest__get_problems` | 获取文件编译/语法错误 |
37
+ | `mcp__quest__run_preview` | 启动本地 Web 服务器预览 |
38
+ | `mcp__quest__search_memory` / `update_memory` | 跨会话记忆管理 |
39
+ | `mcp__quest__fetch_rules` | 查询规则文件 |
40
+
41
+ ## 加载方式
42
+
43
+ Qoder 在每个会话自动加载 `.qoder/rules/superpowers-zh.md`(`trigger: always_on`),里面包含 skill 索引。`.qoder/skills/<name>/SKILL.md` 由模型按 description 自主调用,也可输入 `/<skill-name>` 手动触发。