@wenaixi/dsh-superpower 6.3.1 → 7.0.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 (87) hide show
  1. package/README.md +30 -24
  2. package/lib/superpowers.d.ts +3 -2
  3. package/lib/superpowers.d.ts.map +1 -1
  4. package/lib/superpowers.js +6 -3
  5. package/lib/superpowers.js.map +1 -1
  6. package/package.json +4 -4
  7. package/skills/{superpower-brainstorming → brainstorming}/SKILL.md +51 -35
  8. package/skills/{superpower-brainstorming → brainstorming}/spec-document-reviewer-prompt.md +3 -3
  9. package/skills/{superpower-brainstorming → brainstorming}/visual-companion.md +6 -6
  10. package/skills/diagnosing-superpowers/SKILL.md +58 -0
  11. package/skills/diagnosing-superpowers/prompts/analyst-common.md +24 -0
  12. package/skills/diagnosing-superpowers/prompts/cost-and-time.md +12 -0
  13. package/skills/diagnosing-superpowers/prompts/plan-adherence.md +15 -0
  14. package/skills/diagnosing-superpowers/prompts/quality-evidence.md +11 -0
  15. package/skills/diagnosing-superpowers/prompts/repeated-work.md +19 -0
  16. package/skills/diagnosing-superpowers/prompts/request-conflicts.md +11 -0
  17. package/skills/diagnosing-superpowers/prompts/scrub-audit.md +20 -0
  18. package/skills/diagnosing-superpowers/prompts/scrub.md +16 -0
  19. package/skills/diagnosing-superpowers/prompts/similar-session.md +30 -0
  20. package/skills/diagnosing-superpowers/prompts/skill-timeline.md +16 -0
  21. package/skills/diagnosing-superpowers/prompts/stumbles.md +16 -0
  22. package/skills/diagnosing-superpowers/references/context-safety.md +14 -0
  23. package/skills/diagnosing-superpowers/references/github-issues.md +39 -0
  24. package/skills/diagnosing-superpowers/references/redaction-policy.md +22 -0
  25. package/skills/diagnosing-superpowers/references/session-discovery.md +20 -0
  26. package/skills/diagnosing-superpowers/templates/bundle-README.md +51 -0
  27. package/skills/diagnosing-superpowers/templates/case.md +57 -0
  28. package/skills/diagnosing-superpowers/templates/issue.md +45 -0
  29. package/skills/diagnosing-superpowers/templates/report.md +76 -0
  30. package/skills/{superpower-dispatching-parallel-agents → dispatching-parallel-agents}/SKILL.md +30 -30
  31. package/skills/executing-plans/SKILL.md +227 -0
  32. package/skills/executing-plans/scripts/task-done +52 -0
  33. package/skills/executing-plans/scripts/task-start +28 -0
  34. package/skills/{superpower-finishing-a-development-branch → finishing-a-development-branch}/SKILL.md +14 -14
  35. package/skills/{superpower-receiving-code-review → receiving-code-review}/SKILL.md +39 -39
  36. package/skills/{superpower-requesting-code-review → requesting-code-review}/SKILL.md +11 -11
  37. package/skills/{superpower-requesting-code-review → requesting-code-review}/code-reviewer.md +14 -6
  38. package/skills/subagent-driven-development/SKILL.md +355 -0
  39. package/skills/{superpower-subagent-driven-development → subagent-driven-development}/implementer-prompt.md +10 -10
  40. package/skills/subagent-driven-development/re-review-prompt.md +83 -0
  41. package/skills/{superpower-subagent-driven-development → subagent-driven-development}/scripts/review-package +8 -1
  42. package/skills/subagent-driven-development/scripts/sdd-workspace +82 -0
  43. package/skills/{superpower-subagent-driven-development → subagent-driven-development}/scripts/task-brief +3 -1
  44. package/skills/{superpower-subagent-driven-development → subagent-driven-development}/task-reviewer-prompt.md +27 -27
  45. package/skills/{superpower-systematic-debugging → systematic-debugging}/CREATION-LOG.md +7 -7
  46. package/skills/{superpower-systematic-debugging → systematic-debugging}/SKILL.md +7 -7
  47. package/skills/{superpower-systematic-debugging → systematic-debugging}/condition-based-waiting.md +8 -8
  48. package/skills/{superpower-systematic-debugging → systematic-debugging}/find-polluter.sh +4 -4
  49. package/skills/{superpower-systematic-debugging → systematic-debugging}/root-cause-tracing.md +1 -1
  50. package/skills/{superpower-systematic-debugging → systematic-debugging}/test-pressure-1.md +1 -1
  51. package/skills/{superpower-test-driven-development → test-driven-development}/SKILL.md +16 -14
  52. package/skills/{superpower-test-driven-development → test-driven-development}/writing-good-tests.md +28 -28
  53. package/skills/{superpower-using-git-worktrees → using-git-worktrees}/SKILL.md +12 -12
  54. package/skills/{superpower-using-superpowers → using-superpowers}/SKILL.md +8 -6
  55. package/skills/using-superpowers/references/claude-code-tools.md +11 -0
  56. package/skills/{superpower-using-superpowers → using-superpowers}/references/codex-tools.md +2 -2
  57. package/skills/{superpower-using-superpowers → using-superpowers}/references/dsh-tools.md +5 -5
  58. package/skills/{superpower-using-superpowers → using-superpowers}/references/gemini-tools.md +2 -2
  59. package/skills/{superpower-using-superpowers → using-superpowers}/references/hermes-tools.md +2 -2
  60. package/skills/using-superpowers/references/muse-tools.md +35 -0
  61. package/skills/{superpower-verification-before-completion → verification-before-completion}/SKILL.md +17 -17
  62. package/skills/writing-plans/SKILL.md +167 -0
  63. package/skills/{superpower-writing-skills → writing-skills}/SKILL.md +73 -71
  64. package/skills/{superpower-writing-skills → writing-skills}/anthropic-best-practices.md +2 -2
  65. package/skills/{superpower-writing-skills → writing-skills}/examples/CLAUDE_MD_TESTING.md +4 -4
  66. package/skills/{superpower-writing-skills → writing-skills}/persuasion-principles.md +10 -10
  67. package/skills/{superpower-writing-skills → writing-skills}/testing-skills-with-subagents.md +52 -52
  68. package/skills/superpower-executing-plans/SKILL.md +0 -64
  69. package/skills/superpower-subagent-driven-development/SKILL.md +0 -347
  70. package/skills/superpower-subagent-driven-development/re-review-prompt.md +0 -83
  71. package/skills/superpower-subagent-driven-development/scripts/sdd-workspace +0 -40
  72. package/skills/superpower-writing-plans/SKILL.md +0 -160
  73. package/skills/superpower-writing-plans/plan-document-reviewer-prompt.md +0 -49
  74. /package/skills/{superpower-brainstorming → brainstorming}/scripts/frame-template.html +0 -0
  75. /package/skills/{superpower-brainstorming → brainstorming}/scripts/helper.js +0 -0
  76. /package/skills/{superpower-brainstorming → brainstorming}/scripts/server.cjs +0 -0
  77. /package/skills/{superpower-brainstorming → brainstorming}/scripts/start-server.sh +0 -0
  78. /package/skills/{superpower-brainstorming → brainstorming}/scripts/stop-server.sh +0 -0
  79. /package/skills/{superpower-systematic-debugging → systematic-debugging}/condition-based-waiting-example.ts +0 -0
  80. /package/skills/{superpower-systematic-debugging → systematic-debugging}/defense-in-depth.md +0 -0
  81. /package/skills/{superpower-systematic-debugging → systematic-debugging}/test-academic.md +0 -0
  82. /package/skills/{superpower-systematic-debugging → systematic-debugging}/test-pressure-2.md +0 -0
  83. /package/skills/{superpower-systematic-debugging → systematic-debugging}/test-pressure-3.md +0 -0
  84. /package/skills/{superpower-using-superpowers → using-superpowers}/references/antigravity-tools.md +0 -0
  85. /package/skills/{superpower-using-superpowers → using-superpowers}/references/pi-tools.md +0 -0
  86. /package/skills/{superpower-writing-skills → writing-skills}/graphviz-conventions.dot +0 -0
  87. /package/skills/{superpower-writing-skills → writing-skills}/render-graphs.js +0 -0
@@ -1,21 +1,21 @@
1
1
  ---
2
- name: superpower-using-git-worktrees
3
- description: "适用于需与当前工作区隔离的功能开发或执行实现计划前,通过原生工具优先、git worktree 兜底的方式确保独立工作区就绪"
2
+ name: using-git-worktrees
3
+ description: "Superpower Skill(最高优先级):适用于需与当前 worktree 隔离的功能开发或执行实现计划前,通过原生工具优先、git worktree 兜底的方式确保独立 worktree 就绪。"
4
4
  ---
5
5
 
6
6
  # 使用 Git Worktree
7
7
 
8
8
  ## 概述
9
9
 
10
- 确保所有工作都在独立工作区中进行。优先使用平台原生的 worktree 工具,仅在无原生工具可用时再回退到手动 git worktree。
10
+ 确保所有工作都在独立 worktree 中进行。优先使用平台原生的 worktree 工具,仅在无原生工具可用时再回退到手动 git worktree。
11
11
 
12
12
  **核心原则:** 先检测是否已处于隔离环境,再使用原生工具,最后回退到 git。不要与 harness 对抗。
13
13
 
14
- **开始时声明:** “我正在使用 using-git-worktrees 技能来创建独立工作区。”
14
+ **开始时声明:** “我正在使用 using-git-worktrees 技能来创建独立 worktree。”
15
15
 
16
16
  ## 步骤 0:检测现有隔离状态
17
17
 
18
- **在创建任何内容之前,先检查是否已处于独立工作区中。**
18
+ **在创建任何内容之前,先检查是否已处于独立 worktree 中。**
19
19
 
20
20
  ```bash
21
21
  GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
@@ -33,8 +33,8 @@ git rev-parse --show-superproject-working-tree 2>/dev/null
33
33
  **若 `GIT_DIR != GIT_COMMON`(且不在子模块中):** 说明已处于关联 worktree 中。跳至步骤 2(项目初始化),不要再创建新的 worktree。
34
34
 
35
35
  按分支状态报告:
36
- - 处于分支上:“已在独立工作区 `<path>`,分支为 `<name>`。”
37
- - 游离 HEAD:“已在独立工作区 `<path>`(游离 HEAD,外部托管),结束时需创建分支。”
36
+ - 处于分支上:“已在独立 worktree `<path>`,分支为 `<name>`。”
37
+ - 游离 HEAD:“已在独立 worktree `<path>`(游离 HEAD,外部托管),结束时需创建分支。”
38
38
 
39
39
  **若 `GIT_DIR == GIT_COMMON`(或处于子模块中):** 说明处于常规仓库检出状态。
40
40
 
@@ -44,13 +44,13 @@ git rev-parse --show-superproject-working-tree 2>/dev/null
44
44
 
45
45
  若已存在明确偏好则直接遵循,无需询问。若用户拒绝,则在原地工作并跳至步骤 2。
46
46
 
47
- ## 步骤 1:创建独立工作区
47
+ ## 步骤 1:创建独立 worktree
48
48
 
49
49
  **你有两种机制,请按以下顺序尝试。**
50
50
 
51
51
  ### 1a. 原生 Worktree 工具(优先)
52
52
 
53
- 用户已请求独立工作区(步骤 0 已获同意)。你是否已有创建 worktree 的方式?可能是名为 `EnterWorktree`、`WorktreeCreate`、`/worktree` 命令或 `--worktree` 参数的工具。如果有,请直接使用并跳至步骤 2。
53
+ 用户已请求独立 worktree(步骤 0 已获同意)。你是否已有创建 worktree 的方式?可能是名为 `EnterWorktree`、`WorktreeCreate`、`/worktree` 命令或 `--worktree` 参数的工具。如果有,请直接使用并跳至步骤 2。
54
54
 
55
55
  原生工具会自动处理目录选址、分支创建和清理。使用 `git worktree add` 而绕过原生工具会产生 harness 无法感知和管理的幽灵状态。
56
56
 
@@ -120,7 +120,7 @@ if [ -f go.mod ]; then go mod download; fi
120
120
 
121
121
  ## 步骤 3:验证干净基线
122
122
 
123
- 运行测试以确保工作区初始状态干净:
123
+ 运行测试以确保 worktree 初始状态干净:
124
124
 
125
125
  ```bash
126
126
  # 使用项目对应的命令
@@ -162,6 +162,6 @@ Ready to implement <feature-name>
162
162
  |--------|---------|
163
163
  | “我显然不在 worktree 里,没必要检查” | 执行步骤 0。harness 创建的隔离和子模块都会让肉眼判断失误,用检测命令才能确定。 |
164
164
  | “`git worktree add` 比到处找原生工具更快” | 原生工具(如 `EnterWorktree`)负责选址、分支和清理。绕过它是头号错误——会产生 harness 无法感知和管理的幽灵状态。 |
165
- | “worktree 目录肯定已经被忽略了” | 请执行 `git check-ignore`。未被忽略的 worktree 目录会把整个工作树提交进仓库。 |
165
+ | “worktree 目录肯定已经被忽略了” | 请执行 `git check-ignore`。未被忽略的 worktree 目录会把整个 working tree 提交进仓库。 |
166
166
  | “随便起个目录名都行” | 显式指令优先于已存在的项目本地目录,项目本地目录优先于 `.worktrees/` 默认值。 |
167
- | “工作区是全新的,基线测试可以等等再跑” | 脏基线会让后续所有失败变得无法定位。现在就跑测试;是否带病继续由你的协作人决定。 |
167
+ | “worktree 是全新的,基线测试可以等等再跑” | 脏基线会让后续所有失败变得无法定位。现在就跑测试;是否带病继续由你的 human partner 决定。 |
@@ -1,10 +1,10 @@
1
1
  ---
2
- name: superpower-using-superpowers
3
- description: "适用于任何对话开始前,建立技能查找与调用规范,要求在任何回复前优先调用相关技能,包括澄清问题"
2
+ name: using-superpowers
3
+ description: "Superpower Skill(最高优先级):适用于任何对话开始前,建立技能查找与调用规范,要求在任何回复前优先调用相关技能,包括澄清问题。"
4
4
  ---
5
5
 
6
6
  <SUBAGENT-STOP>
7
- 如果你是作为子代理被派来执行特定任务,请忽略本技能。
7
+ 如果你是作为 subagent 被派来执行特定任务,请忽略本技能。
8
8
  </SUBAGENT-STOP>
9
9
 
10
10
  <EXTREMELY-IMPORTANT>
@@ -27,8 +27,8 @@ description: "适用于任何对话开始前,建立技能查找与调用规范
27
27
 
28
28
  当多个技能同时适用时,流程类技能优先——它们决定方法论,然后由实现类技能(如 frontend-design 等)负责落地。头脑风暴与系统化调试是 Superpowers 中最常见的流程技能,但该规则适用于所有技能。
29
29
 
30
- - "Let's build X" → 优先使用 superpower-brainstorming,再使用实现类技能。
31
- - "Fix this bug" → 优先使用 superpower-systematic-debugging,再使用领域技能。
30
+ - "Let's build X" → 优先使用 brainstorming,再使用实现类技能。
31
+ - "Fix this bug" → 优先使用 systematic-debugging,再使用领域技能。
32
32
 
33
33
  ## 警示信号
34
34
 
@@ -54,11 +54,13 @@ description: "适用于任何对话开始前,建立技能查找与调用规范
54
54
  如果你的执行环境出现在此列表中,请先阅读对应的参考文件获取专项说明:
55
55
 
56
56
  - DSH (DeepSeek Harness): `references/dsh-tools.md` — **请优先阅读。** 将 Bash→pwsh/bash、Read/Write/Edit→fs、Glob/Grep→fs-search、Task/Subagent→subagent/workflow、TodoWrite→todo、AskUserQuestion→ask-user、Skill→skill 进行映射。本套件中的所有技能均假定使用 DSH 工具。
57
+ - Claude Code: `references/claude-code-tools.md`
57
58
  - Codex: `references/codex-tools.md`
58
59
  - Pi: `references/pi-tools.md`
59
60
  - Antigravity: `references/antigravity-tools.md`
60
61
  - Hermes Agent: `references/hermes-tools.md`
62
+ - Muse: `references/muse-tools.md`
61
63
 
62
64
  ## 用户指令
63
65
 
64
- 用户指令(CLAUDE.md、AGENTS.md、GEMINI.md 等,以及直接请求)的优先级高于技能,技能又高于默认行为。仅当人类协作方明确指示时,才可跳过技能工作流或指令。
66
+ 用户指令(CLAUDE.md、AGENTS.md、GEMINI.md 等,以及直接请求)的优先级高于技能,技能又高于默认行为。仅当 human partner 明确指示时,才可跳过技能工作流或指令。
@@ -0,0 +1,11 @@
1
+ # Claude Code 工具说明
2
+
3
+ Claude Code 是参考宿主:技能以其词汇表表述(`Agent` 用于派发 subagent、todos 表示待办、`Skill` 表示技能)。本文说明 Claude Code 中唯一能让技能运行成本低于默认形态的场景,该场景由 human partner 决定是否启用,不影响技能的任何既有要求。
4
+
5
+ ## subagent 驱动开发的低成本编排
6
+
7
+ 控制会话是 subagent-driven-development 运行中最昂贵的席位:它读取每一次派发结果与每一份报告,且通常运行在会话最强的模型上。Claude Code 支持嵌套 subagent(默认比主对话低三层,`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` 可调整),因此整个循环可以整体下移一层运行。
8
+
9
+ 当 human partner 提出要求——或表示会话模型过于昂贵、不宜用于协调——就派发一个运行在中层模型上的编排 subagent,附上计划路径与"端到端使用 subagent-driven-development"的指令。编排者按该技能的模型选择条款派出自己的实现者与 reviewer;workspace 与 ledger 都在磁盘上,不会因多出的这一层而丢失任何内容。其最终消息必须原样携带 "Rulings I made" 清单——这份清单是决策到达 human partner 的途径,你要转达它,而不是概括它。
10
+
11
+ 仅对完整计划这样做。嵌套单个任务的派发毫无收益,只会多占一个席位。
@@ -8,7 +8,7 @@ multi_agent = true
8
8
  ```
9
9
 
10
10
  This enables the multi-agent tools that skills like
11
- `superpower-dispatching-parallel-agents` and `superpower-subagent-driven-development` use.
11
+ `dispatching-parallel-agents` and `subagent-driven-development` use.
12
12
  Which tools you get depends on the multi-agent version your model
13
13
  preset selects (current presets run V2; older ones run V1). Trust your
14
14
  actual tool list over any table — including this one — when they
@@ -92,7 +92,7 @@ BRANCH=$(git branch --show-current)
92
92
  - `GIT_DIR != GIT_COMMON` → already in a linked worktree (skip creation)
93
93
  - `BRANCH` empty → detached HEAD (cannot branch/push/PR from sandbox)
94
94
 
95
- See `superpower-using-git-worktrees` Step 0 and `superpower-finishing-a-development-branch`
95
+ See `using-git-worktrees` Step 0 and `finishing-a-development-branch`
96
96
  Step 1 for how each skill uses these signals.
97
97
 
98
98
  ## Codex App Finishing
@@ -15,7 +15,7 @@
15
15
  | `TodoWrite` | `todo` | 每次提供全量列表,`in_progress` 至少一项 |
16
16
  | `Skill` | `skill` | `skill(name)` 加载 `<skill_content>`,与 `ctx.skills.get()` 同源 |
17
17
  | `WebSearch` / `WebFetch` | `web` 工具 | `web_search` + `web_fetch_exa` 已封装为统一 `web` |
18
- | `/skill superpower-<name>` | `skill` 工具或用户显式 `/skill` 命令 | 两种路径渲染一致的 `<skill_content>` |
18
+ | `/skill <name>` | `skill` 工具或用户显式 `/skill` 命令 | 两种路径渲染一致的 `<skill_content>` |
19
19
  | `git worktree` | `bash` / `pwsh` 中直接执行 `git worktree` | DSH 无 worktree 专属封装,按原命令执行 |
20
20
 
21
21
  ## DSH 专属能力(原版无直接对应)
@@ -25,7 +25,7 @@
25
25
  | `goal` / `ralph` | 长周期目标的创建、续跑、阻塞判定 |
26
26
  | `workflow` 脚本 | 需要编排数十个 subagent 的审计/迁移/批量改写 |
27
27
  | `jobs` | 托管后台任务的查询与终止 |
28
- | `plan-mode` | 只读规划锁定,与 `superpower-writing-plans` 的细粒度切片互补 |
28
+ | `plan-mode` | 只读规划锁定,与 `writing-plans` 的细粒度切片互补 |
29
29
  | `cordis` 动态插件 | 会话内临时扩展能力(非本移植包范畴) |
30
30
 
31
31
  ## 约束与习惯
@@ -39,9 +39,9 @@
39
39
 
40
40
  ```text
41
41
  用户:帮我加一个重试工具
42
- 模型:Using superpower-brainstorming to clarify requirements
43
- -> 调用 skill(name="superpower-brainstorming")
42
+ 模型:Using brainstorming to clarify requirements
43
+ -> 调用 skill(name="brainstorming")
44
44
  -> 按 skill 流程提问、分类 Spike/Bounded/Architectural
45
- -> 设计获批后调用 skill(name="superpower-writing-plans") 切片
45
+ -> 设计获批后调用 skill(name="writing-plans") 切片
46
46
  -> 每切片派发 subagent(prompt="实现 task-03...") 并用 todo 跟踪
47
47
  ```
@@ -31,12 +31,12 @@ User-level skills live at **`~/.gemini/skills/`**, with **`~/.agents/skills/`**
31
31
 
32
32
  Gemini CLI dispatches subagents through the `invoke_agent` tool, which takes `agent_name` and `prompt` parameters. The same dispatch is also surfaced as a chat-syntax shortcut: typing `@generalist <prompt>` is equivalent to calling `invoke_agent` with `agent_name: "generalist"`. Built-in agent names include `generalist`, `cli_help`, `codebase_investigator`, and (with browser tooling enabled) `browser_agent`.
33
33
 
34
- Skills dispatch with `Subagent (general-purpose):` and either reference a prompt-template file (e.g., `superpower-subagent-driven-development`'s `./implementer-prompt.md`) or supply an inline prompt. On Gemini CLI:
34
+ Skills dispatch with `Subagent (general-purpose):` and either reference a prompt-template file (e.g., `subagent-driven-development`'s `./implementer-prompt.md`) or supply an inline prompt. On Gemini CLI:
35
35
 
36
36
  | Skill dispatch form | Gemini CLI equivalent |
37
37
  |---------------------|----------------------|
38
38
  | References a `*-prompt.md` template (implementer, task-reviewer, code-reviewer, etc.) | Fill the template, then `invoke_agent` with `agent_name: "generalist"` and the filled prompt |
39
- | References `superpower-requesting-code-review`'s `./code-reviewer.md` | `invoke_agent` with `agent_name: "generalist"` and the filled review template |
39
+ | References `requesting-code-review`'s `./code-reviewer.md` | `invoke_agent` with `agent_name: "generalist"` and the filled review template |
40
40
  | Inline prompt (no template referenced) | `invoke_agent` with `agent_name: "generalist"` and your inline prompt |
41
41
 
42
42
  ### Prompt filling
@@ -28,8 +28,8 @@ Hermes Agent has a `skills` toolset with `skill_view` and `skills_list` tools.
28
28
  To invoke a superpowers skill, use:
29
29
 
30
30
  ```
31
- skill_view("superpower-brainstorming")
32
- skill_view("superpower-test-driven-development")
31
+ skill_view("brainstorming")
32
+ skill_view("test-driven-development")
33
33
  ```
34
34
 
35
35
  If `skill_view` cannot find a superpowers skill (it may not appear in the catalog
@@ -0,0 +1,35 @@
1
+ # Muse 工具映射
2
+
3
+ 技能以动作表述("派发 subagent"、"创建待办"、"读取文件")。在 Muse 上,这些动作对应下表工具。
4
+
5
+ | 技能要求的动作 | Muse 等价 |
6
+ |----------------------|----------------|
7
+ | 读取文件 | `read_file` |
8
+ | 读取多个文件 | `read_file`(多次调用)或 `search` |
9
+ | 创建新文件 | `write_file` |
10
+ | 编辑文件 | `edit_file` |
11
+ | 运行 shell 命令 | `bash` |
12
+ | 搜索文件内容 | `search` |
13
+ | 按名称查找文件 | 带 `glob` 的 `search` |
14
+ | 抓取 URL | `web_fetch` |
15
+ | 搜索网络 | `web_search` |
16
+ | 调用技能 | 对 `skills/<name>/SKILL.md` 使用 `read_file`,或使用原生技能工具 |
17
+ | 派发 subagent(`Subagent (general-purpose):` 模板) | 用填充的提示词调用 `subagent_spawn` |
18
+ | 任务跟踪("创建待办"、"标记完成") | `write_todos` 或 `bash` 任务文件 |
19
+ | 向用户提问 | `request_user_input` |
20
+
21
+ ## 指令文件
22
+
23
+ 当技能提及"你的指令文件"时,在 Muse 上即项目根目录的 **`CLAUDE.md`** 或 **`AGENTS.md`**。Muse 在配置处按层级加载这些文件。
24
+
25
+ ## 技能调用
26
+
27
+ Muse 通过 `muse skills` 提供原生技能支持。要调用 Superpowers 技能,读取其 `SKILL.md` 并遵循其中的说明。引导技能(using-superpowers)会通过插件钩子在 `SessionStart` 时自动注入——你已在遵循它,无需重新加载。
28
+
29
+ ## subagent 派发
30
+
31
+ 使用 `subagent_spawn` 将工作委派给隔离的 subagent。派发前先填充提示词模板(如 `implementer-prompt.md`、`task-reviewer-prompt.md`)。若没有可用的 subagent 工具,就在当前会话内联完成工作,而不是臆造工具调用。
32
+
33
+ ## 任务跟踪
34
+
35
+ 使用 `write_todos` 跟踪清单。技能清单中的每一项创建一个待办,随进度标记 in_progress/completed。若 `write_todos` 不可用,通过 `write_file`/`edit_file` 维护一个 Markdown 任务文件。
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: superpower-verification-before-completion
3
- description: "在声称完成、修复或通过前强制执行校验,用于提交或创建PR前必须运行验证命令并确认输出,始终以证据为准而非断言"
2
+ name: verification-before-completion
3
+ description: "Superpower Skill(最高优先级):在声称完成、修复或通过前强制执行校验,用于提交或创建 PR 前必须运行验证命令并确认输出,始终以证据为准而非断言。"
4
4
  ---
5
5
 
6
6
  # 完成前的校验
@@ -44,7 +44,7 @@ description: "在声称完成、修复或通过前强制执行校验,用于提
44
44
  | 构建成功 | 构建命令:exit 0 | Linter 通过、日志看起来正常 |
45
45
  | 缺陷已修复 | 复现原症状的测试:通过 | 已改代码、想当然认为已修 |
46
46
  | 回归测试有效 | 红绿循环已验证 | 仅通过一次 |
47
- | 代理已完成 | VCS diff 显示有变更 | 代理报告“成功” |
47
+ | agent 已完成 | VCS diff 显示有变更 | agent 报告“成功” |
48
48
  | 需求已满足 | 逐项核对清单 | 测试通过 |
49
49
 
50
50
  ## 危险信号 - 立即停止
@@ -52,7 +52,7 @@ description: "在声称完成、修复或通过前强制执行校验,用于提
52
52
  - 使用“应该”“大概”“似乎”等不确定表述
53
53
  - 校验前就表达满意(“太好了!”“完美!”“搞定了!”等)
54
54
  - 未经校验就准备 commit / push / 提 PR
55
- - 轻信代理的成功报告
55
+ - 轻信 agent 的成功报告
56
56
  - 依赖局部校验
57
57
  - 心存“就这一次”的侥幸
58
58
  - 因疲惫而想草草收工
@@ -66,7 +66,7 @@ description: "在声称完成、修复或通过前强制执行校验,用于提
66
66
  | “我很有把握” | 把握 ≠ 证据 |
67
67
  | “就这一次” | 没有例外 |
68
68
  | “Linter 过了” | Linter ≠ 编译器 |
69
- | “代理说成功了” | 需独立核验 |
69
+ | “agent 说成功了” | 需独立核验 |
70
70
  | “我太累了” | 疲惫不是理由 |
71
71
  | “局部检查就够了” | 局部证明不了任何事 |
72
72
  | “换个说法就不算违规” | 重精神而非抠字眼 |
@@ -75,32 +75,32 @@ description: "在声称完成、修复或通过前强制执行校验,用于提
75
75
 
76
76
  **测试:**
77
77
  ```
78
- ✅ [执行测试命令] [看到:34/34 通过] “所有测试通过”
79
- ❌ “现在应该能过了” / “看起来是对的”
78
+ [OK] [执行测试命令] [看到:34/34 通过] “所有测试通过”
79
+ [FAIL] “现在应该能过了” / “看起来是对的”
80
80
  ```
81
81
 
82
82
  **回归测试(TDD 红绿循环):**
83
83
  ```
84
- ✅ 编写 → 运行(通过)→ 回退修复 → 运行(必须失败)→ 恢复 → 运行(通过)
85
- ❌ “我已写好回归测试”(未经红绿验证)
84
+ [OK] 编写 → 运行(通过)→ 回退修复 → 运行(必须失败)→ 恢复 → 运行(通过)
85
+ [FAIL] “我已写好回归测试”(未经红绿验证)
86
86
  ```
87
87
 
88
88
  **构建:**
89
89
  ```
90
- ✅ [执行构建] [看到:exit 0] “构建通过”
91
- ❌ “Linter 过了”(Linter 不检查编译)
90
+ [OK] [执行构建] [看到:exit 0] “构建通过”
91
+ [FAIL] “Linter 过了”(Linter 不检查编译)
92
92
  ```
93
93
 
94
94
  **需求:**
95
95
  ```
96
- ✅ 重读方案 → 创建核对清单 → 逐项核验 → 报告缺口或完成情况
97
- ❌ “测试通过,阶段完成”
96
+ [OK] 重读方案 → 创建核对清单 → 逐项核验 → 报告缺口或完成情况
97
+ [FAIL] “测试通过,阶段完成”
98
98
  ```
99
99
 
100
- **代理委派:**
100
+ **agent 委派:**
101
101
  ```
102
- ✅ 代理报告成功 → 检查 VCS diff → 核验变更 → 报告实际状态
103
- ❌ 轻信代理报告
102
+ [OK] agent 报告成功 → 检查 VCS diff → 核验变更 → 报告实际状态
103
+ [FAIL] 轻信 agent 报告
104
104
  ```
105
105
 
106
106
  ## 适用时机
@@ -111,7 +111,7 @@ description: "在声称完成、修复或通过前强制执行校验,用于提
111
111
  - 任何关于工作状态的肯定性陈述
112
112
  - 提交、创建 PR、任务收尾
113
113
  - 进入下一项任务
114
- - 委派给代理
114
+ - 委派给 agent
115
115
 
116
116
  **规则适用于:**
117
117
  - 准确措辞
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: writing-plans
3
+ description: "Superpower Skill(最高优先级):当已具备清晰的需求规格或多步骤 task description 且尚未开始编码时使用,用于把需求拆解为结构清晰、粒度可控、可直接执行、可测试与可验证的完整实施计划。"
4
+ ---
5
+
6
+ # 编写计划
7
+
8
+ ## 概述
9
+
10
+ 为一个尚未见过本代码库、也未见过本规格的工程师编写实施计划。假设对方一旦获知精确的接口与精确的测试,就能用项目所用语言写出惯用代码,并会在计划留白之处做出合理选择。他们无从知晓的是你的决定:选哪些文件、用哪些名称与签名、从规格里取哪些值、每个任务由哪些测试来证明。把这些写进文档。把整份计划按一口大小的任务交给他们。遵循 DRY。遵循 YAGNI。遵循 TDD。频繁提交。
11
+
12
+ **开始时声明:** “我正在使用 writing-plans 技能创建实施计划。”
13
+
14
+ **上下文:** 如在隔离的 worktree 中工作,该 worktree 应在执行时通过 `using-git-worktrees` 技能创建。
15
+
16
+ **计划保存路径:** `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`
17
+ - (如用户已指定计划存放位置,则以用户偏好为准)
18
+
19
+ ## 范围检查
20
+
21
+ 若需求规格涵盖多个独立子系统,理应在头脑风暴阶段就已拆分为子项目规格。若未拆分,建议将其拆为多份独立计划——每个子系统一份。每份计划都应能独立产出可运行、可测试的软件。
22
+
23
+ ## 文件结构
24
+
25
+ 在定义任务之前,先梳理清楚将创建或修改哪些文件,以及每个文件的职责。这是锁定拆解方案的关键环节。
26
+
27
+ - 设计边界清晰、接口明确的单元。每个文件只承担单一、明确的职责。
28
+ - 人对能一次性完整装入上下文的代码推理最准确,聚焦的文件也更利于可靠地编辑。优先选择小而聚焦的文件,而非承载过多职责的大文件。
29
+ - 会一同变更的文件应放在一起。按职责拆分,而非按技术分层。
30
+ - 在现有代码库中遵循既有模式。若项目本身采用大文件结构,不要擅自重构;但若你正修改的文件已过于臃肿,在计划中安排一次拆分是合理的。
31
+
32
+ 该结构将直接决定任务如何拆解。每个任务都应产出自洽、独立有意义的变更。
33
+
34
+ ## 任务规模控制
35
+
36
+ 任务是具备完整测试闭环、值得独立评审的最小单元。划分任务边界时:将初始化、配置、脚手架与文档等步骤归入真正需要其产物的任务中;仅在 reviewer 可能对相邻两个任务做出不同评审结论(一个通过、一个驳回)时才进行拆分。每个任务结束时都应产出可独立测试的交付物。
37
+
38
+ ## 步骤粒度
39
+
40
+ **每个步骤都是带有可校验结果的一个动作:**
41
+ - “编写失败的测试”——一个步骤
42
+ - “运行它,确认它确实失败”——一个步骤
43
+ - “编写让测试通过的最小实现”——一个步骤
44
+ - “运行测试,确认它们通过”——一个步骤
45
+ - “提交”——一个步骤
46
+
47
+ ## 计划文档头部
48
+
49
+ **每份计划必须以此头部开头:**
50
+
51
+ ```markdown
52
+ # [功能名称] 实施计划
53
+
54
+ > **面向 Agent 执行者:** 必需子技能:使用 subagent-driven-development(推荐)或 executing-plans 按任务逐项实现本计划。步骤使用复选框(`- [ ]`)语法跟踪进度。
55
+
56
+ **目标:** [一句话描述本计划构建的内容]
57
+
58
+ **架构:** [2-3 句话说明技术路线]
59
+
60
+ **技术栈:** [关键技术与依赖库]
61
+
62
+ **规格:** [本计划实现的规格/设计文档路径——计划以规格为依据进行论证,故规格须随计划一起流转;执行者两者都要读]
63
+
64
+ ## 全局约束
65
+
66
+ [规格中项目级的要求——版本下限、依赖限制、命名与文案规则、平台要求——每项一行,数值从规格原文逐字复制。每个任务的需求默认隐含包含本节。]
67
+
68
+ ## Review Focus
69
+
70
+ [规格隐含、但没有任何任务的测试覆盖、最可能坑到使用该软件之人的五种输入类别或失败模式——每项一行,写明该输入或条件,以及理性之人会期待的行为,最可能发生的排最前。规格是愿景文档:它说明软件必须做什么,而不是它会遇到的一切;规格对某输入的沉默不等于允许该输入弄坏程序。把这份清单一次写全于此处,写作时规格就在眼前。然后为每一行,把钉住它的测试加进拥有该代码的任务,套用那个任务自己的步骤风格。]
71
+
72
+ ---
73
+ ```
74
+
75
+ ## 任务结构
76
+
77
+ ````markdown
78
+ ### 任务 N:[组件名称]
79
+
80
+ **文件:**
81
+ - 新建:`exact/path/to/file.py`
82
+ - 修改:`exact/path/to/existing.py:123-145`
83
+ - 测试:`tests/exact/path/to/test.py`
84
+
85
+ **接口:**
86
+ - 消费:[本任务使用的前置任务产物——精确签名]
87
+ - 产出:[后续任务依赖的内容——精确的函数名、参数与返回类型。任务的实现者只看到自己的任务;本块是他们获知相邻任务所用名称与类型的方式。]
88
+
89
+ - [ ] **步骤 1:编写失败的测试**
90
+
91
+ ```python
92
+ def test_specific_behavior():
93
+ result = function(input)
94
+ assert result == expected
95
+ ```
96
+
97
+ - [ ] **步骤 2:运行测试,确认其失败**
98
+
99
+ 运行:`pytest tests/path/test.py::test_name -v`
100
+ 预期:FAIL,报 "function not defined"
101
+
102
+ - [ ] **步骤 3:在 `exact/path/to/file.py` 中实现 `function(input: InputType) -> ResultType`**
103
+
104
+ 当签名与测试留下选择余地时(调用哪个库、用哪个数据结构),写一行说明;只有执行者无法自行确定的算法才给代码块。
105
+
106
+ - [ ] **步骤 4:运行测试,确认其通过**
107
+
108
+ 运行:`pytest tests/path/test.py::test_name -v`
109
+ 预期:PASS
110
+
111
+ - [ ] **步骤 5:提交**
112
+
113
+ ```bash
114
+ git add tests/path/test.py src/path/file.py
115
+ git commit -m "feat: add specific feature"
116
+ ```
117
+ ````
118
+
119
+ ## 步骤包含什么
120
+
121
+ 一个步骤在“执行者能凭它写出恰好一件合理的事”时即为完成。这就是全部要求:无歧义,而非完备。每类步骤只携带使它无歧义所需的东西,不多不少:
122
+
123
+ - **测试步骤:** 测试的名称及其断言,以代码形式给出,内含规格中的精确取值。
124
+ - **代码步骤:** 精确签名(名称、参数、返回类型)、所在文件,以及规格钉死的具体取值。函数体由执行者自己写。只有签名与测试都无法确定的算法、或规格固定了要逐字照抄的内容,才给出函数体。
125
+ - **验证步骤:** 要运行的命令,以及代表通过的输出。
126
+ - **对另一个任务的引用:** 那个任务的 Interfaces 块已经说明了要使用什么;计划不重复那个任务的代码。
127
+
128
+ 一份计划是执行者独自无法做出的那组决定。计划比它所描述的代码还长,等于把代码写了出来。不决定任何内容的行(“TBD”、“处理边界情况”、“添加适当的校验”、“为上述内容编写测试”、没有任何任务定义过的类型或函数)是另一端的失败,自检会把两端都抓住。
129
+
130
+ ## 自检
131
+
132
+ 写完完整计划后,带着全新视角重读规格,用它核对计划。这是你亲自运行的清单——不是分发给 subagent 的活。
133
+
134
+ **1. 规格覆盖度:** 逐节浏览规格中的每一项要求。能否指出实现它的那个任务?列出所有遗漏。
135
+
136
+ **2. 步骤扫描:** 每个步骤都必须让执行者只写出恰好一件合理的事,且任何步骤不得携带更多内容:不决定任何内容的行是缺口,签名与测试已能确定却仍写出的函数体是转写。两者都要修复。
137
+
138
+ **3. 类型一致性:** 后续任务中使用的类型、方法签名与属性名,是否与前置任务中定义的一致?任务 3 里叫 `clearLayers()`、任务 7 里却写成 `clearFullLayers()` 的函数就是缺陷。
139
+
140
+ **4. Review Focus:** 规格隐含的每种输入类别或失败模式,是否都有某个任务的测试在覆盖它?最可能坑人的五种未覆盖项写入 Review Focus 段,且该段每一行都要把对应测试加进所属任务。段落为空意味着你去检查过、确认没有,而不是跳过了这项检查。
141
+
142
+ **5. 篇幅比例:** 把计划长度与规格长度相比。一份比它所实现规格长数倍的计划,是对程序的转写,不是计划。如果代码块占了文档大半,把函数体换成签名、测试名与断言,并核实每个步骤仍然无歧义。
143
+
144
+ 如发现问题,直接原地修复。无需再评审一轮——修完继续即可。若发现某项规格要求没有对应任务,补上该任务。
145
+
146
+ ## 执行交接
147
+
148
+ 保存并自检完计划后,把计划链接给到你的 human partner 阅读。若对方已明确提供执行方式,请其复核计划、确认它捕捉到了对方想要的;实现前等待该复核,然后使用保留的方式。否则,请在实现前请对方复核计划并选择一种执行方式。
149
+
150
+ **当尚未提供执行方式时:**
151
+
152
+ **“计划已完成并保存至 `docs/superpowers/plans/<filename>.md`。请复核计划。你倾向哪种执行方式?**
153
+
154
+ - **subagent 驱动**——每个任务由全新 subagent 实现,由全新 reviewer 在下一个任务开始前检查,最后再做一次全分支评审。最彻底;每个任务与每次评审各耗一份全新上下文。
155
+ - **原生**——我在本会话中亲手逐任务实现,按本 harness 运行工作的方式推进,最后在最强模型上用一位全新 reviewer 检查整个分支。最省钱最快;结束前没有独立评审。用中档会话模型跑得很好,因为设计由计划承载。
156
+
157
+ **就本计划我推荐 <二者之一>,因为 <从计划取一句话:任务之间对彼此接口的依赖有多深、有多少个任务、交付一个错误要付出什么代价>。计划是否符合你的期望,我们该用哪种方式?”**
158
+
159
+ **当已提供执行方式时:**
160
+
161
+ **“计划已完成并保存至 `docs/superpowers/plans/<filename>.md`。请复核计划。它是否捕捉到了你想要的?”**
162
+
163
+ **若选择 subagent 驱动:**
164
+ - **必需子技能:** 使用 subagent-driven-development
165
+
166
+ **若选择原生:**
167
+ - **必需子技能:** 使用 executing-plans