dsh-superpower 6.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.
- package/LICENSE +22 -0
- package/README.md +334 -0
- package/cordis.patch.yml +3 -0
- package/lib/superpowers.d.ts +44 -0
- package/lib/superpowers.d.ts.map +1 -0
- package/lib/superpowers.js +291 -0
- package/lib/superpowers.js.map +1 -0
- package/package.json +62 -0
- package/skills/brainstorming/SKILL.md +207 -0
- package/skills/brainstorming/scripts/frame-template.html +213 -0
- package/skills/brainstorming/scripts/helper.js +167 -0
- package/skills/brainstorming/scripts/server.cjs +723 -0
- package/skills/brainstorming/scripts/start-server.sh +209 -0
- package/skills/brainstorming/scripts/stop-server.sh +120 -0
- package/skills/brainstorming/spec-document-reviewer-prompt.md +47 -0
- package/skills/brainstorming/visual-companion.md +293 -0
- package/skills/dispatching-parallel-agents/SKILL.md +167 -0
- package/skills/executing-plans/SKILL.md +64 -0
- package/skills/finishing-a-development-branch/SKILL.md +202 -0
- package/skills/receiving-code-review/SKILL.md +205 -0
- package/skills/requesting-code-review/SKILL.md +95 -0
- package/skills/requesting-code-review/code-reviewer.md +169 -0
- package/skills/subagent-driven-development/SKILL.md +347 -0
- package/skills/subagent-driven-development/implementer-prompt.md +133 -0
- package/skills/subagent-driven-development/re-review-prompt.md +84 -0
- package/skills/subagent-driven-development/scripts/review-package +46 -0
- package/skills/subagent-driven-development/scripts/sdd-workspace +40 -0
- package/skills/subagent-driven-development/scripts/task-brief +41 -0
- package/skills/subagent-driven-development/task-reviewer-prompt.md +129 -0
- package/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/systematic-debugging/SKILL.md +283 -0
- package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/systematic-debugging/condition-based-waiting.md +116 -0
- package/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/systematic-debugging/find-polluter.sh +72 -0
- package/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/systematic-debugging/test-academic.md +14 -0
- package/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/test-driven-development/SKILL.md +322 -0
- package/skills/test-driven-development/writing-good-tests.md +145 -0
- package/skills/using-git-worktrees/SKILL.md +167 -0
- package/skills/using-superpowers/SKILL.md +64 -0
- package/skills/using-superpowers/references/antigravity-tools.md +23 -0
- package/skills/using-superpowers/references/codex-tools.md +108 -0
- package/skills/using-superpowers/references/dsh-tools.md +47 -0
- package/skills/using-superpowers/references/gemini-tools.md +63 -0
- package/skills/using-superpowers/references/hermes-tools.md +56 -0
- package/skills/using-superpowers/references/pi-tools.md +16 -0
- package/skills/verification-before-completion/SKILL.md +120 -0
- package/skills/writing-plans/SKILL.md +160 -0
- package/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/skills/writing-skills/SKILL.md +679 -0
- package/skills/writing-skills/anthropic-best-practices.md +1146 -0
- package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +188 -0
- package/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/writing-skills/persuasion-principles.md +187 -0
- package/skills/writing-skills/render-graphs.js +169 -0
- package/skills/writing-skills/testing-skills-with-subagents.md +384 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-superpowers
|
|
3
|
+
description: "适用于任何对话开始前,建立技能查找与调用规范,要求在任何回复前优先调用相关技能,包括澄清问题"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<SUBAGENT-STOP>
|
|
7
|
+
如果你是作为子代理被派来执行特定任务,请忽略本技能。
|
|
8
|
+
</SUBAGENT-STOP>
|
|
9
|
+
|
|
10
|
+
<EXTREMELY-IMPORTANT>
|
|
11
|
+
如果你认为有哪怕 1% 的可能性某个技能适用于你当前要做的事,你就**必须**调用该技能。
|
|
12
|
+
|
|
13
|
+
如果某项任务适用某个技能,你别无选择,必须使用它。
|
|
14
|
+
|
|
15
|
+
这没有商量余地,你不能为自己找借口绕开它。
|
|
16
|
+
</EXTREMELY-IMPORTANT>
|
|
17
|
+
|
|
18
|
+
## 规则
|
|
19
|
+
|
|
20
|
+
**在任何回复或行动之前先调用相关或被请求的技能**——包括澄清问题、探索代码库或检查文件。如果事后发现不适用于当前情况,可以不使用它。
|
|
21
|
+
|
|
22
|
+
**进入规划模式之前:** 如果尚未进行头脑风暴,请先调用头脑风暴技能。
|
|
23
|
+
|
|
24
|
+
然后宣告 "Using [skill] to [purpose]" 并严格按技能要求执行。如果技能包含清单,请为每一项创建一个待办。
|
|
25
|
+
|
|
26
|
+
## 技能优先级
|
|
27
|
+
|
|
28
|
+
当多个技能同时适用时,流程类技能优先——它们决定方法论,然后由实现类技能(如 frontend-design 等)负责落地。头脑风暴与系统化调试是 Superpowers 中最常见的流程技能,但该规则适用于所有技能。
|
|
29
|
+
|
|
30
|
+
- "Let's build X" → 优先使用 superpowers:brainstorming,再使用实现类技能。
|
|
31
|
+
- "Fix this bug" → 优先使用 superpowers:systematic-debugging,再使用领域技能。
|
|
32
|
+
|
|
33
|
+
## 警示信号
|
|
34
|
+
|
|
35
|
+
出现以下想法时请立刻停下——你正在为自己找借口:
|
|
36
|
+
|
|
37
|
+
| 想法 | 现实 |
|
|
38
|
+
|---------|---------|
|
|
39
|
+
| "这只是个简单问题" | 问题也是任务,先检查技能。 |
|
|
40
|
+
| "我需要先了解更多上下文" | 技能检查应在澄清问题之前。 |
|
|
41
|
+
| "我先探索一下代码库" | 技能会告诉你如何探索,先检查技能。 |
|
|
42
|
+
| "我可以快速看一下 git/文件" | 文件缺少对话上下文,先检查技能。 |
|
|
43
|
+
| "我先收集一下信息" | 技能会告诉你如何收集信息。 |
|
|
44
|
+
| "这不需要正式的技能" | 只要技能存在,就要用。 |
|
|
45
|
+
| "我记得这个技能" | 技能会演进,请阅读当前版本。 |
|
|
46
|
+
| "这不算任务" | 有行动就是任务,检查技能。 |
|
|
47
|
+
| "用技能太小题大做了" | 简单的事情也会变复杂,请使用技能。 |
|
|
48
|
+
| "我就先做这一件事" | 做任何事之前先检查。 |
|
|
49
|
+
| "这样做感觉很高效" | 无章法的行动只会浪费时间,技能可以避免。 |
|
|
50
|
+
| "我知道那是什么意思" | 知道概念不等于会用技能,请调用它。 |
|
|
51
|
+
|
|
52
|
+
## 平台适配
|
|
53
|
+
|
|
54
|
+
如果你的执行环境出现在此列表中,请先阅读对应的参考文件获取专项说明:
|
|
55
|
+
|
|
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
|
+
- Codex: `references/codex-tools.md`
|
|
58
|
+
- Pi: `references/pi-tools.md`
|
|
59
|
+
- Antigravity: `references/antigravity-tools.md`
|
|
60
|
+
- Hermes Agent: `references/hermes-tools.md`
|
|
61
|
+
|
|
62
|
+
## 用户指令
|
|
63
|
+
|
|
64
|
+
用户指令(CLAUDE.md、AGENTS.md、GEMINI.md 等,以及直接请求)的优先级高于技能,技能又高于默认行为。仅当人类协作方明确指示时,才可跳过技能工作流或指令。
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Antigravity CLI (`agy`) Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On the Antigravity CLI (`agy`) these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
| Action skills request | Antigravity CLI equivalent |
|
|
6
|
+
|----------------------|----------------------|
|
|
7
|
+
| Dispatch a subagent (`Subagent (general-purpose):` template) | `invoke_subagent` with a built-in `TypeName` — `self` for full-capability work, `research` for read-only |
|
|
8
|
+
| Task tracking ("create a todo", "mark complete") | a **task artifact** — `write_to_file` with `IsArtifact: true` and `ArtifactType: "task"` (see [Task tracking](#task-tracking)). **Not** `manage_task`, which manages background processes. |
|
|
9
|
+
|
|
10
|
+
## Task tracking
|
|
11
|
+
|
|
12
|
+
Antigravity has **no todo tool** (`manage_task` manages background
|
|
13
|
+
processes — `list`/`kill`/`status`/`send_input` — it is *not* a checklist). When a
|
|
14
|
+
skill says to create a todo list or track tasks, maintain a **task artifact**: a
|
|
15
|
+
markdown checklist saved with `write_to_file` (`IsArtifact: true`,
|
|
16
|
+
`ArtifactMetadata.ArtifactType: "task"`), edited with `replace_file_content` /
|
|
17
|
+
`multi_replace_file_content` as you go.
|
|
18
|
+
|
|
19
|
+
At the start of any multi-step task, create the task artifact listing every step of
|
|
20
|
+
your plan. As you complete each step, edit the artifact to mark it done (`- [x]`).
|
|
21
|
+
If the plan changes, update the checklist. Keep it current — it is your source of
|
|
22
|
+
truth for what remains; once the conversation gets long, re-read it before starting
|
|
23
|
+
each step.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
## Subagent dispatch requires multi-agent support
|
|
2
|
+
|
|
3
|
+
Add to your Codex config (`~/.codex/config.toml`):
|
|
4
|
+
|
|
5
|
+
```toml
|
|
6
|
+
[features]
|
|
7
|
+
multi_agent = true
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
This enables the multi-agent tools that skills like
|
|
11
|
+
`dispatching-parallel-agents` and `subagent-driven-development` use.
|
|
12
|
+
Which tools you get depends on the multi-agent version your model
|
|
13
|
+
preset selects (current presets run V2; older ones run V1). Trust your
|
|
14
|
+
actual tool list over any table — including this one — when they
|
|
15
|
+
disagree.
|
|
16
|
+
|
|
17
|
+
- **Spawning:** give children a clean context with
|
|
18
|
+
`spawn_agent {fork_turns: "none"}`; the default `"all"` copies your
|
|
19
|
+
entire transcript into the child. On Codex 0.145+, role files under
|
|
20
|
+
`~/.codex/agents/` attach to isolated forks via `agent_type`.
|
|
21
|
+
Full-history forks accept `model` and `reasoning_effort` overrides
|
|
22
|
+
(only `agent_type` is refused there) — isolated forks are the SDD
|
|
23
|
+
default for context hygiene, not because overrides require them.
|
|
24
|
+
- **Fix rounds:** resume the implementer with `followup_task` — it
|
|
25
|
+
delivers your message, triggers a turn, and transparently reloads a
|
|
26
|
+
child the harness evicted. Never dispatch a fresh implementer on the
|
|
27
|
+
theory that a spawned agent cannot be messaged again; on V2 it
|
|
28
|
+
always can.
|
|
29
|
+
- **Lifecycle:** V2 has no `close_agent`. Finished children are
|
|
30
|
+
evicted automatically when slots are needed; leaving them unclosed
|
|
31
|
+
costs nothing. Only V1 sessions have `close_agent` — there, close
|
|
32
|
+
reviewers when their review returns, and close each implementer
|
|
33
|
+
after its task's review passes.
|
|
34
|
+
- **Model names:** never copy a model name from a skill, table, or old
|
|
35
|
+
session into `spawn_agent` without checking it against your current
|
|
36
|
+
spawn allowlist — V2 accepts only V2-capable presets and hard-errors
|
|
37
|
+
on the rest.
|
|
38
|
+
|
|
39
|
+
## Waiting on children
|
|
40
|
+
|
|
41
|
+
`wait_agent` is an event subscription, not a poll: a long wait wakes
|
|
42
|
+
the moment a child produces mailbox activity, with the same latency as
|
|
43
|
+
a short one. Short-timeout polling buys nothing and costs a tool call —
|
|
44
|
+
and a context rebill — per poll. In measured sessions, roughly
|
|
45
|
+
two-thirds of all wait calls were short polls that timed out.
|
|
46
|
+
|
|
47
|
+
- While you still have local work, do not wait at all. A completed
|
|
48
|
+
child's final answer is pushed into your mailbox and arrives with
|
|
49
|
+
your next turn.
|
|
50
|
+
- When you are genuinely idle with children outstanding, wait in
|
|
51
|
+
bounded stretches: `wait_agent` with `timeout_ms` 300000-600000
|
|
52
|
+
(5-10 minutes). After each stretch — wake or timeout — post one
|
|
53
|
+
status line, run `list_agents`, and chase any child that finished
|
|
54
|
+
without reporting. Never stack polls shorter than five minutes; the
|
|
55
|
+
event subscription wakes a bounded stretch just as fast as a short
|
|
56
|
+
one.
|
|
57
|
+
- Completion mail cannot wake an idle controller (it is delivered
|
|
58
|
+
without triggering a turn); covering that idle window is
|
|
59
|
+
`wait_agent`'s only job. A stretch that times out with no activity
|
|
60
|
+
is your cue to reconcile, not to shorten the next stretch.
|
|
61
|
+
|
|
62
|
+
## Model routing on spawns
|
|
63
|
+
|
|
64
|
+
Every `spawn_agent` you issue — including when you are yourself a
|
|
65
|
+
spawned child running a fan-out — sets `model` AND `reasoning_effort`
|
|
66
|
+
explicitly, per the Model Selection rules of the skill you are
|
|
67
|
+
executing. Setting `model` alone is a trap: the child's effort
|
|
68
|
+
silently resets to that model's default, not to yours.
|
|
69
|
+
|
|
70
|
+
Ask your human partner to add a machine-level backstop to
|
|
71
|
+
`~/.codex/config.toml` so any spawn that slips through still routes to
|
|
72
|
+
a deliberate tier instead of silently inheriting the session's most
|
|
73
|
+
expensive model:
|
|
74
|
+
|
|
75
|
+
```toml
|
|
76
|
+
[agents]
|
|
77
|
+
default_subagent_model = "<a mid-tier model from your spawn allowlist>"
|
|
78
|
+
default_subagent_reasoning_effort = "medium"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Environment Detection
|
|
82
|
+
|
|
83
|
+
Skills that create worktrees or finish branches should detect their
|
|
84
|
+
environment with read-only git commands before proceeding:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
|
|
88
|
+
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
|
|
89
|
+
BRANCH=$(git branch --show-current)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
- `GIT_DIR != GIT_COMMON` → already in a linked worktree (skip creation)
|
|
93
|
+
- `BRANCH` empty → detached HEAD (cannot branch/push/PR from sandbox)
|
|
94
|
+
|
|
95
|
+
See `using-git-worktrees` Step 0 and `finishing-a-development-branch`
|
|
96
|
+
Step 1 for how each skill uses these signals.
|
|
97
|
+
|
|
98
|
+
## Codex App Finishing
|
|
99
|
+
|
|
100
|
+
When the sandbox blocks branch/push operations (detached HEAD in an
|
|
101
|
+
externally managed worktree), the agent commits all work and informs
|
|
102
|
+
the user to use the App's native controls:
|
|
103
|
+
|
|
104
|
+
- **"Create branch"** — names the branch, then commit/push/PR via App UI
|
|
105
|
+
- **"Hand off to local"** — transfers work to the user's local checkout
|
|
106
|
+
|
|
107
|
+
The agent can still run tests, stage files, and output suggested branch
|
|
108
|
+
names, commit messages, and PR descriptions for the user to copy.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# DSH Tools Reference for Superpowers
|
|
2
|
+
|
|
3
|
+
> 面向模型的 DSH 工具速查。Superpowers 原版文案中的 Claude Code / Codex 工具名在此映射为 DSH 等价物。
|
|
4
|
+
> 当 skill 指示使用某一工具时,按下表替换即可。
|
|
5
|
+
|
|
6
|
+
## 核心映射
|
|
7
|
+
|
|
8
|
+
| 原版提及 | DSH 等价 | 备注 |
|
|
9
|
+
|---|---|---|
|
|
10
|
+
| `Bash` / `bash` | `pwsh`(首选,Windows 友好)或 `bash` | 长耗时命令用 `run_in_background: true`,通过 `job_output` / `job_list` 收敛 |
|
|
11
|
+
| `Read` / `Write` / `Edit` | `fs` 工具的 `read` / `write` / `edit` | `read` 前无需 `fs/observed` 校验,`write/edit` 自动触发 `fs/observed` 失效 |
|
|
12
|
+
| `Glob` / `Grep` / `Grep -R` | `fs-search` 工具的 `glob` / `grep` | `glob` 发现文件,`grep` 搜内容;大仓用 `include` 过滤 |
|
|
13
|
+
| `Task` / `Subagent` | `subagent` / `subagent_fork` / `workflow` | 单任务派发用 `subagent`,多阶段扇出用 `workflow`(`agent`/`pipeline`/`parallel`) |
|
|
14
|
+
| `AskUserQuestion` | `ask-user` | 阻塞式提问,遵守 `userQuestions` 策略 |
|
|
15
|
+
| `TodoWrite` | `todo` | 每次提供全量列表,`in_progress` 至少一项 |
|
|
16
|
+
| `Skill` | `skill` | `skill(name)` 加载 `<skill_content>`,与 `ctx.skills.get()` 同源 |
|
|
17
|
+
| `WebSearch` / `WebFetch` | `web` 工具 | `web_search` + `web_fetch_exa` 已封装为统一 `web` |
|
|
18
|
+
| `/skill superpowers:<name>` | `skill` 工具或用户显式 `/skill` 命令 | 两种路径渲染一致的 `<skill_content>` |
|
|
19
|
+
| `git worktree` | `bash` / `pwsh` 中直接执行 `git worktree` | DSH 无 worktree 专属封装,按原命令执行 |
|
|
20
|
+
|
|
21
|
+
## DSH 专属能力(原版无直接对应)
|
|
22
|
+
|
|
23
|
+
| DSH 能力 | 何时用 |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `goal` / `ralph` | 长周期目标的创建、续跑、阻塞判定 |
|
|
26
|
+
| `workflow` 脚本 | 需要编排数十个 subagent 的审计/迁移/批量改写 |
|
|
27
|
+
| `jobs` | 托管后台任务的查询与终止 |
|
|
28
|
+
| `plan-mode` | 只读规划锁定,与 `writing-plans` 的细粒度切片互补 |
|
|
29
|
+
| `cordis` 动态插件 | 会话内临时扩展能力(非本移植包范畴) |
|
|
30
|
+
|
|
31
|
+
## 约束与习惯
|
|
32
|
+
|
|
33
|
+
- 沙箱默认 `danger-full-access`,但仍需在 skill 中标注文件路径为绝对路径或相对 `cwd` 可解析路径。
|
|
34
|
+
- PowerShell 中 `ls -la` / `head` 等 Unix 别名不可用,用 `Get-ChildItem` / `Select-Object -First N`。
|
|
35
|
+
- 工具 `execute` 返回结构化 JSON,面向人类的渲染放在 `output.render`(对 skill 编写者)。
|
|
36
|
+
- 所有 `waterfall` 事件监听必须调用 `next()`,否则短路下游。
|
|
37
|
+
|
|
38
|
+
## 最小示例
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
用户:帮我加一个重试工具
|
|
42
|
+
模型:Using superpowers:brainstorming to clarify requirements
|
|
43
|
+
-> 调用 skill(name="brainstorming")
|
|
44
|
+
-> 按 skill 流程提问、分类 Spike/Bounded/Architectural
|
|
45
|
+
-> 设计获批后调用 skill(name="writing-plans") 切片
|
|
46
|
+
-> 每切片派发 subagent(prompt="实现 task-03...") 并用 todo 跟踪
|
|
47
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Gemini CLI Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Gemini CLI these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
| Action skills request | Gemini CLI equivalent |
|
|
6
|
+
|----------------------|----------------------|
|
|
7
|
+
| Read a file | `read_file` |
|
|
8
|
+
| Read multiple files at once | `read_many_files` |
|
|
9
|
+
| Create a new file | `write_file` |
|
|
10
|
+
| Edit a file | `replace` |
|
|
11
|
+
| Run a shell command | `run_shell_command` |
|
|
12
|
+
| Search file contents | `grep_search` |
|
|
13
|
+
| Find files by name | `glob` |
|
|
14
|
+
| List files and subdirectories | `list_directory` |
|
|
15
|
+
| Fetch a URL | `web_fetch` |
|
|
16
|
+
| Search the web | `google_web_search` |
|
|
17
|
+
| Invoke a skill | `activate_skill` |
|
|
18
|
+
| Dispatch a subagent (`Subagent (general-purpose):` template) | `invoke_agent` with `agent_name: "generalist"` (invocable via `@generalist` chat syntax — see [Subagent support](#subagent-support)) |
|
|
19
|
+
| Multiple parallel dispatches | Multiple `invoke_agent` calls in the same response |
|
|
20
|
+
| Task tracking ("create a todo", "mark complete") | `write_todos` (statuses: pending, in_progress, completed, cancelled, blocked) |
|
|
21
|
+
|
|
22
|
+
## Instructions file
|
|
23
|
+
|
|
24
|
+
When a skill mentions "your instructions file", on Gemini CLI this is **`GEMINI.md`**. Gemini CLI loads `GEMINI.md` hierarchically: global at `~/.gemini/GEMINI.md`, project-level files in workspace directories and their ancestors, and sub-directory `GEMINI.md` files when a tool accesses files in those directories.
|
|
25
|
+
|
|
26
|
+
## Personal skills directory
|
|
27
|
+
|
|
28
|
+
User-level skills live at **`~/.gemini/skills/`**, with **`~/.agents/skills/`** as a cross-runtime alias (shared with Codex and Copilot CLI). When both directories exist at the same scope, `.agents/skills/` takes precedence. Each skill is a subdirectory containing a `SKILL.md` (with `name` and `description` frontmatter).
|
|
29
|
+
|
|
30
|
+
## Subagent support
|
|
31
|
+
|
|
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
|
+
|
|
34
|
+
Skills dispatch with `Subagent (general-purpose):` and either reference a prompt-template file (e.g., `superpowers:subagent-driven-development`'s `./implementer-prompt.md`) or supply an inline prompt. On Gemini CLI:
|
|
35
|
+
|
|
36
|
+
| Skill dispatch form | Gemini CLI equivalent |
|
|
37
|
+
|---------------------|----------------------|
|
|
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 `superpowers:requesting-code-review`'s `./code-reviewer.md` | `invoke_agent` with `agent_name: "generalist"` and the filled review template |
|
|
40
|
+
| Inline prompt (no template referenced) | `invoke_agent` with `agent_name: "generalist"` and your inline prompt |
|
|
41
|
+
|
|
42
|
+
### Prompt filling
|
|
43
|
+
|
|
44
|
+
Skills provide prompt templates with placeholders like `{WHAT_WAS_IMPLEMENTED}` or `[FULL TEXT of task]`. Fill all placeholders before passing the complete prompt to `invoke_agent`. The prompt template itself contains the agent's role, review criteria, and expected output format — the subagent will follow it.
|
|
45
|
+
|
|
46
|
+
### Parallel dispatch
|
|
47
|
+
|
|
48
|
+
Gemini CLI supports parallel subagent dispatch. Issue multiple `invoke_agent` calls in the same response (or multiple `@generalist` invocations in one prompt) to run independent subagent work in parallel. Keep dependent tasks sequential, but do not serialize independent subagent tasks just to preserve a simpler history.
|
|
49
|
+
|
|
50
|
+
## Additional Gemini CLI tools
|
|
51
|
+
|
|
52
|
+
These tools are unique to Gemini CLI:
|
|
53
|
+
|
|
54
|
+
| Tool | Purpose |
|
|
55
|
+
|------|---------|
|
|
56
|
+
| `save_memory` (legacy) | Persist facts across sessions when `experimental.memoryV2 = false` |
|
|
57
|
+
| `get_internal_docs` | Look up Gemini CLI's bundled documentation |
|
|
58
|
+
| `ask_user` | Pose structured questions to the user (text / single-select / multi-select) |
|
|
59
|
+
| `enter_plan_mode` / `exit_plan_mode` | Switch into and out of read-only plan mode |
|
|
60
|
+
| `update_topic` | Update the current conversation's topic / strategic-intent metadata |
|
|
61
|
+
| `complete_task` | Signal that a Gemini subagent has completed and return its result to the parent agent |
|
|
62
|
+
| `tracker_create_task`, `tracker_update_task`, `tracker_get_task`, `tracker_list_tasks`, `tracker_add_dependency`, `tracker_visualize` | Rich task tracker with dependency and visualization support |
|
|
63
|
+
| `read_mcp_resource`, `list_mcp_resources` | MCP resource access |
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Hermes Agent Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Hermes Agent these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
## Tools
|
|
6
|
+
|
|
7
|
+
| Action skills request | Hermes tool |
|
|
8
|
+
|---|---|
|
|
9
|
+
| Read a file | `read_file` |
|
|
10
|
+
| Create a new file | `write_file` |
|
|
11
|
+
| Edit a file (targeted patch) | `patch` |
|
|
12
|
+
| Run a shell command | `terminal` |
|
|
13
|
+
| Search file contents | `search_files` |
|
|
14
|
+
| Find files by name | `terminal` with `find` |
|
|
15
|
+
| Fetch a URL / read a webpage | `web_extract(urls=[...])` |
|
|
16
|
+
| Search the web | `web_search(query=...)` |
|
|
17
|
+
| Dispatch a subagent | `delegate_task(goal=..., context=..., toolsets=[...], role="leaf")` |
|
|
18
|
+
| Task tracking | `todo` tool |
|
|
19
|
+
| Invoke a skill | `skill_view("skill-name")` |
|
|
20
|
+
|
|
21
|
+
## Instructions file
|
|
22
|
+
|
|
23
|
+
When a skill mentions "your instructions file," on Hermes Agent this is **`AGENTS.md`** in the project directory, or **`SOUL.md`** globally at `~/.hermes/SOUL.md`.
|
|
24
|
+
|
|
25
|
+
## Invoking a skill
|
|
26
|
+
|
|
27
|
+
Hermes Agent has a `skills` toolset with `skill_view` and `skills_list` tools.
|
|
28
|
+
To invoke a superpowers skill, use:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
skill_view("brainstorming")
|
|
32
|
+
skill_view("test-driven-development")
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If `skill_view` cannot find a superpowers skill (it may not appear in the catalog
|
|
36
|
+
until the plugin fully registers it), fall back to reading the SKILL.md directly:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
read_file(path="~/.hermes/plugins/superpowers/skills/<skill-name>/SKILL.md")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
This fallback is the same mechanism used by other harnesses without native skill loading.
|
|
43
|
+
|
|
44
|
+
## Subagent dispatch
|
|
45
|
+
|
|
46
|
+
Use `delegate_task` to spawn isolated subagents for parallel or sequential workstreams:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
delegate_task(goal="...", context="...", toolsets=[...], role="leaf")
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
If `delegate_task` is unavailable, do the work inline rather than inventing tool calls.
|
|
53
|
+
|
|
54
|
+
## Task tracking
|
|
55
|
+
|
|
56
|
+
Use the `todo` tool for task tracking within a session. For multi-agent task boards, use `hermes kanban` CLI if available. Treat older `TodoWrite` references as the task-tracking action.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Pi Tool Mapping
|
|
2
|
+
|
|
3
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Pi these resolve to the tools below.
|
|
4
|
+
|
|
5
|
+
| Action skills request | Pi equivalent |
|
|
6
|
+
| --- | --- |
|
|
7
|
+
| Dispatch a subagent (`Subagent (general-purpose):` template) | Use an installed subagent tool such as `subagent` from `pi-subagents` if available |
|
|
8
|
+
| Task tracking ("create a todo", "mark complete") | Use an installed todo/task tool if available, otherwise track tasks in the plan or `TODO.md` |
|
|
9
|
+
|
|
10
|
+
## Subagents
|
|
11
|
+
|
|
12
|
+
Pi core does not ship a standard subagent tool. The `pi-subagents` package is a strong optional companion and provides a `subagent` tool with single-agent, chain, parallel, async, forked-context, and resume/status workflows. If no subagent tool is available, do not fabricate `Task` calls; execute sequentially in the current session or explain that the optional subagent capability is not installed.
|
|
13
|
+
|
|
14
|
+
## Task lists
|
|
15
|
+
|
|
16
|
+
Pi core does not ship a standard task-list tool. If a todo/task extension is installed, use its documented tool. Otherwise use Superpowers plan files, checklists in Markdown, or a repo-local `TODO.md` for task tracking. Older Superpowers docs may refer to `TodoWrite`; treat that as the task-tracking action above.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-before-completion
|
|
3
|
+
description: "在声称完成、修复或通过前强制执行校验,用于提交或创建PR前必须运行验证命令并确认输出,始终以证据为准而非断言"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 完成前的校验
|
|
7
|
+
|
|
8
|
+
## 概述
|
|
9
|
+
|
|
10
|
+
**核心原则:** 始终以证据为先,再作断言。
|
|
11
|
+
|
|
12
|
+
**违背规则的字面,即是违背规则的精神。**
|
|
13
|
+
|
|
14
|
+
## 铁律
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
未经全新的校验证据,不得声称完成
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
若在本条消息中未运行校验命令,则不得声称其已通过。
|
|
21
|
+
|
|
22
|
+
## 门禁流程
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
在声称任何状态或表达满意之前:
|
|
26
|
+
|
|
27
|
+
1. 识别:哪条命令能证明该断言?
|
|
28
|
+
2. 执行:完整执行该命令(全新、完整)
|
|
29
|
+
3. 读取:完整输出,检查退出码,统计失败数
|
|
30
|
+
4. 核验:输出是否印证该断言?
|
|
31
|
+
- 若否:如实陈述实际状态并附上证据
|
|
32
|
+
- 若是:附证据再作断言
|
|
33
|
+
5. 仅在此之后:方可提出断言
|
|
34
|
+
|
|
35
|
+
跳过任何一步即等同于撒谎,而非校验
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 常见失效场景
|
|
39
|
+
|
|
40
|
+
| 断言 | 所需证据 | 不充分的依据 |
|
|
41
|
+
|-------|----------|----------------|
|
|
42
|
+
| 测试通过 | 测试命令输出:0 失败 | 历史运行结果、“应该能过” |
|
|
43
|
+
| Lint 干净 | Linter 输出:0 错误 | 局部检查、推断外延 |
|
|
44
|
+
| 构建成功 | 构建命令:exit 0 | Linter 通过、日志看起来正常 |
|
|
45
|
+
| 缺陷已修复 | 复现原症状的测试:通过 | 已改代码、想当然认为已修 |
|
|
46
|
+
| 回归测试有效 | 红绿循环已验证 | 仅通过一次 |
|
|
47
|
+
| 代理已完成 | VCS diff 显示有变更 | 代理报告“成功” |
|
|
48
|
+
| 需求已满足 | 逐项核对清单 | 测试通过 |
|
|
49
|
+
|
|
50
|
+
## 危险信号 - 立即停止
|
|
51
|
+
|
|
52
|
+
- 使用“应该”“大概”“似乎”等不确定表述
|
|
53
|
+
- 校验前就表达满意(“太好了!”“完美!”“搞定了!”等)
|
|
54
|
+
- 未经校验就准备 commit / push / 提 PR
|
|
55
|
+
- 轻信代理的成功报告
|
|
56
|
+
- 依赖局部校验
|
|
57
|
+
- 心存“就这一次”的侥幸
|
|
58
|
+
- 因疲惫而想草草收工
|
|
59
|
+
- **任何未运行校验就暗示成功的措辞**
|
|
60
|
+
|
|
61
|
+
## 防止自我合理化
|
|
62
|
+
|
|
63
|
+
| 借口 | 事实 |
|
|
64
|
+
|--------|---------|
|
|
65
|
+
| “现在应该能行了” | 去运行校验 |
|
|
66
|
+
| “我很有把握” | 把握 ≠ 证据 |
|
|
67
|
+
| “就这一次” | 没有例外 |
|
|
68
|
+
| “Linter 过了” | Linter ≠ 编译器 |
|
|
69
|
+
| “代理说成功了” | 需独立核验 |
|
|
70
|
+
| “我太累了” | 疲惫不是理由 |
|
|
71
|
+
| “局部检查就够了” | 局部证明不了任何事 |
|
|
72
|
+
| “换个说法就不算违规” | 重精神而非抠字眼 |
|
|
73
|
+
|
|
74
|
+
## 关键模式
|
|
75
|
+
|
|
76
|
+
**测试:**
|
|
77
|
+
```
|
|
78
|
+
✅ [执行测试命令] [看到:34/34 通过] “所有测试通过”
|
|
79
|
+
❌ “现在应该能过了” / “看起来是对的”
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**回归测试(TDD 红绿循环):**
|
|
83
|
+
```
|
|
84
|
+
✅ 编写 → 运行(通过)→ 回退修复 → 运行(必须失败)→ 恢复 → 运行(通过)
|
|
85
|
+
❌ “我已写好回归测试”(未经红绿验证)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**构建:**
|
|
89
|
+
```
|
|
90
|
+
✅ [执行构建] [看到:exit 0] “构建通过”
|
|
91
|
+
❌ “Linter 过了”(Linter 不检查编译)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**需求:**
|
|
95
|
+
```
|
|
96
|
+
✅ 重读方案 → 创建核对清单 → 逐项核验 → 报告缺口或完成情况
|
|
97
|
+
❌ “测试通过,阶段完成”
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**代理委派:**
|
|
101
|
+
```
|
|
102
|
+
✅ 代理报告成功 → 检查 VCS diff → 核验变更 → 报告实际状态
|
|
103
|
+
❌ 轻信代理报告
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## 适用时机
|
|
107
|
+
|
|
108
|
+
**始终在以下动作之前:**
|
|
109
|
+
- 任何形式的成功/完成断言
|
|
110
|
+
- 任何满意度的表达
|
|
111
|
+
- 任何关于工作状态的肯定性陈述
|
|
112
|
+
- 提交、创建 PR、任务收尾
|
|
113
|
+
- 进入下一项任务
|
|
114
|
+
- 委派给代理
|
|
115
|
+
|
|
116
|
+
**规则适用于:**
|
|
117
|
+
- 准确措辞
|
|
118
|
+
- 改写与同义词
|
|
119
|
+
- 暗示成功
|
|
120
|
+
- 任何暗示完成/正确的沟通
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-plans
|
|
3
|
+
description: "当已具备清晰的需求规格或多步骤任务说明且尚未开始编码时使用,用于把需求拆解为结构清晰、粒度可控、可直接执行、可测试与可验证的完整实施计划"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 编写计划
|
|
7
|
+
|
|
8
|
+
## 概述
|
|
9
|
+
|
|
10
|
+
假设执行工程师对当前代码库零背景、品味存疑,为其编写全面、可落地的实施计划。需完整记录其所需的一切信息:每个任务涉及哪些文件、代码、测试、需要查阅的文档,以及如何验证。将整体计划拆解为粒度极细的小任务。遵循 DRY、YAGNI、TDD,频繁提交。
|
|
11
|
+
|
|
12
|
+
假定对方是能力扎实的开发者,但对我们的工具链与问题域几乎一无所知,且不擅长良好的测试设计。
|
|
13
|
+
|
|
14
|
+
**开始时声明:** “我将使用 writing-plans 技能来创建实施计划。”
|
|
15
|
+
|
|
16
|
+
**上下文:** 如在隔离的 worktree 中工作,该 worktree 应在执行时通过 `superpowers:using-git-worktrees` 技能创建。
|
|
17
|
+
|
|
18
|
+
**计划保存路径:** `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`
|
|
19
|
+
- (如用户已指定计划存放位置,则以用户偏好为准)
|
|
20
|
+
|
|
21
|
+
## 范围检查
|
|
22
|
+
|
|
23
|
+
若需求规格涵盖多个独立子系统,理应在头脑风暴阶段就已拆分为子项目规格。若未拆分,建议将其拆为多份独立计划——每个子系统一份。每份计划都应能独立产出可运行、可测试的软件。
|
|
24
|
+
|
|
25
|
+
## 文件结构
|
|
26
|
+
|
|
27
|
+
在定义任务之前,先梳理清楚将创建或修改哪些文件,以及每个文件的职责。这是锁定拆解方案的关键环节。
|
|
28
|
+
|
|
29
|
+
- 设计边界清晰、接口明确的单元。每个文件只承担单一、明确的职责。
|
|
30
|
+
- 人对能一次性完整装入上下文的代码推理最准确,聚焦的文件也更利于可靠地编辑。优先选择小而聚焦的文件,而非承载过多职责的大文件。
|
|
31
|
+
- 会一同变更的文件应放在一起。按职责拆分,而非按技术分层。
|
|
32
|
+
- 在现有代码库中遵循既有模式。若项目本身采用大文件结构,不要擅自重构;但若你正修改的文件已过于臃肿,在计划中安排一次拆分是合理的。
|
|
33
|
+
|
|
34
|
+
该结构将直接决定任务如何拆解。每个任务都应产出自洽、独立有意义的变更。
|
|
35
|
+
|
|
36
|
+
## 任务规模控制
|
|
37
|
+
|
|
38
|
+
任务是具备完整测试闭环、值得独立评审的最小单元。划分任务边界时:将初始化、配置、脚手架与文档等步骤归入真正需要其产物的任务中;仅在评审者可能对相邻两个任务做出不同评审结论(一个通过、一个驳回)时才进行拆分。每个任务结束时都应产出可独立测试的交付物。
|
|
39
|
+
|
|
40
|
+
## 细粒度任务拆解
|
|
41
|
+
|
|
42
|
+
**每一步只做一件事(2-5 分钟):**
|
|
43
|
+
- “编写失败的测试”——一步
|
|
44
|
+
- “运行测试并确认其失败”——一步
|
|
45
|
+
- “编写刚好让测试通过的最小实现”——一步
|
|
46
|
+
- “运行测试并确认其通过”——一步
|
|
47
|
+
- “提交”——一步
|
|
48
|
+
|
|
49
|
+
## 计划文档头部
|
|
50
|
+
|
|
51
|
+
**每份计划必须以此头部开头:**
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
# [功能名称] 实施计划
|
|
55
|
+
|
|
56
|
+
> **面向 Agent 执行者:** 必需子技能:使用 superpowers:subagent-driven-development(推荐)或 superpowers:executing-plans 按任务逐项执行本计划。步骤使用复选框(`- [ ]`)语法进行跟踪。
|
|
57
|
+
|
|
58
|
+
**目标:** [一句话描述本计划构建的内容]
|
|
59
|
+
|
|
60
|
+
**架构:** [2-3 句话说明实现思路]
|
|
61
|
+
|
|
62
|
+
**技术栈:** [关键技术/依赖库]
|
|
63
|
+
|
|
64
|
+
**规格:** [本计划所实现的规格/设计文档路径——计划论证以规格为准,规格随计划一同流转,执行者需同时阅读两者]
|
|
65
|
+
|
|
66
|
+
## 全局约束
|
|
67
|
+
|
|
68
|
+
[规格中的项目级全局要求——版本基线、依赖限制、命名与文案规范、平台要求等——每项一行,数值与表述须与规格原文完全一致。所有任务的需求默认包含本节约束。]
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 任务结构
|
|
74
|
+
|
|
75
|
+
````markdown
|
|
76
|
+
### 任务 N:[组件名称]
|
|
77
|
+
|
|
78
|
+
**文件:**
|
|
79
|
+
- 新建:`exact/path/to/file.py`
|
|
80
|
+
- 修改:`exact/path/to/existing.py:123-145`
|
|
81
|
+
- 测试:`tests/exact/path/to/test.py`
|
|
82
|
+
|
|
83
|
+
**接口:**
|
|
84
|
+
- 依赖输入:[本任务依赖的前置任务产出——精确签名]
|
|
85
|
+
- 对外产出:[后续任务所依赖的内容——精确的函数名、参数与返回类型。任务执行者仅可见当前任务;通过本块了解相邻任务使用的名称与类型。]
|
|
86
|
+
|
|
87
|
+
- [ ] **步骤 1:编写失败的测试**
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
def test_specific_behavior():
|
|
91
|
+
result = function(input)
|
|
92
|
+
assert result == expected
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
- [ ] **步骤 2:运行测试并确认其失败**
|
|
96
|
+
|
|
97
|
+
运行:`pytest tests/path/test.py::test_name -v`
|
|
98
|
+
预期:FAIL,提示 "function not defined"
|
|
99
|
+
|
|
100
|
+
- [ ] **步骤 3:编写最小实现**
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
def function(input):
|
|
104
|
+
return expected
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- [ ] **步骤 4:运行测试并确认其通过**
|
|
108
|
+
|
|
109
|
+
运行:`pytest tests/path/test.py::test_name -v`
|
|
110
|
+
预期:PASS
|
|
111
|
+
|
|
112
|
+
- [ ] **步骤 5:提交**
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
git add tests/path/test.py src/path/file.py
|
|
116
|
+
git commit -m "feat: add specific feature"
|
|
117
|
+
```
|
|
118
|
+
````
|
|
119
|
+
|
|
120
|
+
## 禁止占位符
|
|
121
|
+
|
|
122
|
+
每个步骤都必须包含工程师所需的实际内容。以下写法均属于**计划缺陷**——切勿出现:
|
|
123
|
+
- “TBD”、“TODO”、“后续实现”、“细节待补充”
|
|
124
|
+
- “添加适当的错误处理”/“添加校验”/“处理边界情况”
|
|
125
|
+
- “为上述内容编写测试”(未给出实际测试代码)
|
|
126
|
+
- “与任务 N 类似”(应重复贴出代码——工程师可能乱序阅读任务)
|
|
127
|
+
- 只描述要做什么、未说明如何做的步骤(代码类步骤必须包含代码块)
|
|
128
|
+
- 引用未在任何任务中定义的类型、函数或方法
|
|
129
|
+
|
|
130
|
+
## 自检
|
|
131
|
+
|
|
132
|
+
完成计划初稿后,以全新视角重新审视规格,并逐项核对计划。这份清单需由你亲自执行——无需分发给子代理。
|
|
133
|
+
|
|
134
|
+
**1. 规格覆盖度:** 逐节浏览规格中的每项要求,能否为每一项找到对应的实现任务?列出所有遗漏。
|
|
135
|
+
|
|
136
|
+
**2. 占位符扫描:** 在计划中搜索危险信号——即“禁止占位符”一节列出的所有模式,发现即修复。
|
|
137
|
+
|
|
138
|
+
**3. 类型一致性:** 后续任务中使用的类型、方法签名与属性名是否与前置任务中的定义一致?例如任务 3 中叫 `clearLayers()` 的函数,在任务 7 中写成 `clearFullLayers()` 即为缺陷。
|
|
139
|
+
|
|
140
|
+
如发现问题,直接原地修复,无需重新走一轮完整复审。若发现某项规格需求未对应任何任务,则补上该任务。
|
|
141
|
+
|
|
142
|
+
## 执行交接
|
|
143
|
+
|
|
144
|
+
保存计划后,提供执行方式选项:
|
|
145
|
+
|
|
146
|
+
**“计划已完成并保存至 `docs/superpowers/plans/<filename>.md`。两种执行方式:**
|
|
147
|
+
|
|
148
|
+
**1. 子代理驱动(推荐)**——每个任务分发全新子代理,任务间进行评审,迭代更快
|
|
149
|
+
|
|
150
|
+
**2. 内联执行**——在当前会话中使用 executing-plans 批量执行,设置检查点
|
|
151
|
+
|
|
152
|
+
**请选择哪种方式?”**
|
|
153
|
+
|
|
154
|
+
**若选择子代理驱动:**
|
|
155
|
+
- **必需子技能:** 使用 superpowers:subagent-driven-development
|
|
156
|
+
- 每个任务一个全新子代理 + 两阶段评审
|
|
157
|
+
|
|
158
|
+
**若选择内联执行:**
|
|
159
|
+
- **必需子技能:** 使用 superpowers:executing-plans
|
|
160
|
+
- 批量执行并在检查点进行评审
|