superpowers-mcp 6.2.4 → 6.3.1
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/README.ja.md +26 -3
- package/README.ko.md +26 -3
- package/README.md +26 -3
- package/README.zh-TW.md +26 -3
- package/out/server.js +1 -1
- package/package.json +1 -1
- package/skills/brainstorming/SKILL.md +109 -9
- package/skills/finishing-a-development-branch/SKILL.md +30 -0
- package/skills/requesting-code-review/SKILL.md +1 -1
- package/skills/requesting-code-review/code-reviewer.md +9 -0
- package/skills/subagent-driven-development/SKILL.md +101 -29
- package/skills/subagent-driven-development/implementer-prompt.md +12 -0
- package/skills/subagent-driven-development/re-review-prompt.md +9 -0
- package/skills/subagent-driven-development/scripts/review-package +11 -1
- package/skills/subagent-driven-development/scripts/review-package.ps1 +13 -1
- package/skills/subagent-driven-development/scripts/sdd-workspace +43 -4
- package/skills/subagent-driven-development/scripts/sdd-workspace.ps1 +66 -4
- package/skills/subagent-driven-development/scripts/task-brief +1 -1
- package/skills/subagent-driven-development/scripts/task-brief.ps1 +1 -1
- package/skills/subagent-driven-development/task-reviewer-prompt.md +25 -5
- package/skills/test-driven-development/SKILL.md +10 -0
- package/skills/using-superpowers/SKILL.md +1 -0
- package/skills/using-superpowers/references/codex-tools.md +70 -1
- package/skills/using-superpowers/references/hermes-tools.md +56 -0
- package/skills/writing-plans/SKILL.md +3 -0
- package/skills/writing-skills/anthropic-best-practices.md +1 -1
- package/skills/writing-skills/render-graphs.js +3 -2
|
@@ -7,7 +7,76 @@ Add to your Codex config (`~/.codex/config.toml`):
|
|
|
7
7
|
multi_agent = true
|
|
8
8
|
```
|
|
9
9
|
|
|
10
|
-
This enables
|
|
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
|
+
```
|
|
11
80
|
|
|
12
81
|
## Environment Detection
|
|
13
82
|
|
|
@@ -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.
|
|
@@ -66,6 +66,9 @@ independently testable deliverable.
|
|
|
66
66
|
|
|
67
67
|
**Tech Stack:** [Key technologies/libraries]
|
|
68
68
|
|
|
69
|
+
**Spec:** [path to the spec/design doc this plan implements — the plan
|
|
70
|
+
argues from the spec, so the spec travels with it; executors read both]
|
|
71
|
+
|
|
69
72
|
## Global Constraints
|
|
70
73
|
|
|
71
74
|
[The spec's project-wide requirements — version floors, dependency limits,
|
|
@@ -246,7 +246,7 @@ SKILL.md serves as an overview that points agents to detailed materials as neede
|
|
|
246
246
|
|
|
247
247
|
A basic Skill starts with just a SKILL.md file containing metadata and instructions:
|
|
248
248
|
|
|
249
|
-
<img src="https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=87782ff239b297d9a9e8e1b72ed72db9" alt="Simple SKILL.md file showing YAML frontmatter and markdown body" data-og-width="2048" width="2048" data-og-height="1153" height="1153" data-path="images/agent-skills-simple-file.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?w=280&fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=c61cc33b6f5855809907f7fda94cd80e 280w, https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?w=560&fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=
|
|
249
|
+
<img src="https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=87782ff239b297d9a9e8e1b72ed72db9" alt="Simple SKILL.md file showing YAML frontmatter and markdown body" data-og-width="2048" width="2048" data-og-height="1153" height="1153" data-path="images/agent-skills-simple-file.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?w=280&fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=c61cc33b6f5855809907f7fda94cd80e 280w, https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?w=560&fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=90d2c0c1c76b36e8d485f49e0810dbfd 560w, https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?w=840&fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=ad17d231ac7b0bea7e5b4d58fb4aeabb 840w, https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?w=1100&fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=f5d0a7a3c668435bb0aee9a3a8f8c329 1100w, https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?w=1650&fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=0e927c1af9de5799cfe557d12249f6e6 1650w, https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?w=2500&fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=46bbb1a51dd4c8202a470ac8c80a893d 2500w" />
|
|
250
250
|
|
|
251
251
|
As your Skill grows, you can bundle additional content that agents load only when needed:
|
|
252
252
|
|
|
@@ -107,9 +107,10 @@ function main() {
|
|
|
107
107
|
process.exit(1);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
// Check if dot is available
|
|
110
|
+
// Check if dot is available. Run the binary directly rather than probing
|
|
111
|
+
// with `which`, which is not a command on Windows.
|
|
111
112
|
try {
|
|
112
|
-
execSync('
|
|
113
|
+
execSync('dot -V', { stdio: 'ignore', encoding: 'utf-8' });
|
|
113
114
|
} catch {
|
|
114
115
|
console.error('Error: graphviz (dot) not found. Install with:');
|
|
115
116
|
console.error(' brew install graphviz # macOS');
|