superpowers-mcp 5.1.2 → 6.0.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.md +25 -14
- package/README.zh-TW.md +30 -14
- package/out/server.js +2 -2
- package/package.json +1 -1
- package/skills/brainstorming/SKILL.md +5 -10
- package/skills/brainstorming/scripts/frame-template.html +25 -26
- package/skills/brainstorming/scripts/helper.js +107 -35
- package/skills/brainstorming/scripts/server.cjs +377 -30
- package/skills/brainstorming/scripts/start-server.sh +70 -9
- package/skills/brainstorming/scripts/stop-server.sh +66 -2
- package/skills/brainstorming/spec-document-reviewer-prompt.md +1 -1
- package/skills/brainstorming/visual-companion.md +29 -25
- package/skills/dispatching-parallel-agents/SKILL.md +9 -6
- package/skills/executing-plans/SKILL.md +2 -2
- package/skills/finishing-a-development-branch/SKILL.md +2 -12
- package/skills/receiving-code-review/SKILL.md +2 -2
- package/skills/requesting-code-review/SKILL.md +2 -2
- package/skills/requesting-code-review/code-reviewer.md +15 -11
- package/skills/subagent-driven-development/SKILL.md +206 -67
- package/skills/subagent-driven-development/implementer-prompt.md +30 -4
- package/skills/subagent-driven-development/scripts/review-package +44 -0
- package/skills/subagent-driven-development/scripts/sdd-workspace +22 -0
- package/skills/subagent-driven-development/scripts/task-brief +40 -0
- package/skills/subagent-driven-development/task-reviewer-prompt.md +188 -0
- package/skills/systematic-debugging/SKILL.md +1 -1
- package/skills/test-driven-development/SKILL.md +2 -2
- package/skills/using-git-worktrees/SKILL.md +9 -22
- package/skills/using-superpowers/SKILL.md +17 -72
- package/skills/using-superpowers/references/antigravity-tools.md +23 -0
- package/skills/using-superpowers/references/codex-tools.md +1 -21
- package/skills/using-superpowers/references/pi-tools.md +16 -0
- package/skills/writing-plans/SKILL.md +22 -0
- package/skills/writing-plans/plan-document-reviewer-prompt.md +1 -1
- package/skills/writing-skills/SKILL.md +52 -18
- package/skills/writing-skills/anthropic-best-practices.md +91 -91
- package/skills/writing-skills/persuasion-principles.md +3 -3
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -25
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +0 -61
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Task Reviewer Prompt Template
|
|
2
|
+
|
|
3
|
+
Use this template when dispatching a task reviewer subagent. The reviewer
|
|
4
|
+
reads the task's diff once and returns two verdicts: spec compliance and
|
|
5
|
+
code quality.
|
|
6
|
+
|
|
7
|
+
**Purpose:** Verify one task's implementation matches its requirements (nothing
|
|
8
|
+
more, nothing less) and is well-built (clean, tested, maintainable)
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
Subagent (general-purpose):
|
|
12
|
+
description: "Review Task N (spec + quality)"
|
|
13
|
+
model: [MODEL — REQUIRED: choose per SKILL.md Model Selection; an omitted
|
|
14
|
+
model silently inherits the session's most expensive one]
|
|
15
|
+
prompt: |
|
|
16
|
+
You are reviewing one task's implementation: first whether it matches its
|
|
17
|
+
requirements, then whether it is well-built. This is a task-scoped gate,
|
|
18
|
+
not a merge review — a broad whole-branch review happens separately after
|
|
19
|
+
all tasks are complete.
|
|
20
|
+
|
|
21
|
+
## What Was Requested
|
|
22
|
+
|
|
23
|
+
Read the task brief: [BRIEF_FILE]
|
|
24
|
+
|
|
25
|
+
Global constraints from the spec/design that bind this task:
|
|
26
|
+
[GLOBAL_CONSTRAINTS]
|
|
27
|
+
|
|
28
|
+
## What the Implementer Claims They Built
|
|
29
|
+
|
|
30
|
+
Read the implementer's report: [REPORT_FILE]
|
|
31
|
+
|
|
32
|
+
## Diff Under Review
|
|
33
|
+
|
|
34
|
+
**Base:** [BASE_SHA]
|
|
35
|
+
**Head:** [HEAD_SHA]
|
|
36
|
+
**Diff file:** [DIFF_FILE]
|
|
37
|
+
|
|
38
|
+
Read the diff file once — it contains the commit list, a stat summary,
|
|
39
|
+
and the full diff with surrounding context, and it is your view of the
|
|
40
|
+
change. The diff's context lines ARE the changed files: do not Read a
|
|
41
|
+
changed file separately unless a hunk you must judge is cut off
|
|
42
|
+
mid-function — and say so in your report. Do not re-run git commands.
|
|
43
|
+
If the diff file is missing, fetch the diff yourself:
|
|
44
|
+
`git diff --stat [BASE_SHA]..[HEAD_SHA]` and `git diff [BASE_SHA]..[HEAD_SHA]`.
|
|
45
|
+
Do not crawl the broader codebase. Inspect code outside the diff only
|
|
46
|
+
to evaluate a concrete risk you can name — one focused check per named
|
|
47
|
+
risk, and name both the risk and what you checked in your report.
|
|
48
|
+
Cross-cutting changes are legitimate named risks: if the diff changes
|
|
49
|
+
lock ordering, a function or API contract, or shared mutable state,
|
|
50
|
+
checking the call sites is the right method.
|
|
51
|
+
|
|
52
|
+
Your review is read-only on this checkout. Do not mutate the working
|
|
53
|
+
tree, the index, HEAD, or branch state in any way.
|
|
54
|
+
|
|
55
|
+
## Do Not Trust the Report
|
|
56
|
+
|
|
57
|
+
Treat the implementer's report as unverified claims about the code. It
|
|
58
|
+
may be incomplete, inaccurate, or optimistic. Verify the claims against
|
|
59
|
+
the diff. Design rationales in the report are claims too: "left it per
|
|
60
|
+
YAGNI," "kept it simple deliberately," or any other justification is the
|
|
61
|
+
implementer grading their own work. Judge the code on its merits — a
|
|
62
|
+
stated rationale never downgrades a finding's severity.
|
|
63
|
+
|
|
64
|
+
## Tests
|
|
65
|
+
|
|
66
|
+
The implementer already ran the tests and reported results with TDD
|
|
67
|
+
evidence for exactly this code. Do not re-run the suite to confirm their
|
|
68
|
+
report. Run a test only when reading the code raises a specific doubt
|
|
69
|
+
that no existing run answers — and then a focused test, never a
|
|
70
|
+
package-wide suite, race detector run, or repeated/high-count loop. If
|
|
71
|
+
heavy validation seems warranted, recommend it in your report instead of
|
|
72
|
+
running it. If you cannot run commands in this environment, name the
|
|
73
|
+
test you would run.
|
|
74
|
+
|
|
75
|
+
Warnings or other noise in the implementer's reported test output are
|
|
76
|
+
findings — test output should be pristine.
|
|
77
|
+
|
|
78
|
+
## Part 1: Spec Compliance
|
|
79
|
+
|
|
80
|
+
Compare the diff against What Was Requested:
|
|
81
|
+
|
|
82
|
+
- **Missing:** requirements they skipped, missed, or claimed without
|
|
83
|
+
implementing
|
|
84
|
+
- **Extra:** features that weren't requested, over-engineering, unneeded
|
|
85
|
+
"nice to haves"
|
|
86
|
+
- **Misunderstood:** right feature built the wrong way, wrong problem
|
|
87
|
+
solved
|
|
88
|
+
|
|
89
|
+
If a requirement cannot be verified from this diff alone (it lives in
|
|
90
|
+
unchanged code or spans tasks), report it as a ⚠️ item instead of
|
|
91
|
+
broadening your search.
|
|
92
|
+
|
|
93
|
+
## Part 2: Code Quality
|
|
94
|
+
|
|
95
|
+
**Code quality:**
|
|
96
|
+
- Clean separation of concerns?
|
|
97
|
+
- Proper error handling?
|
|
98
|
+
- DRY without premature abstraction?
|
|
99
|
+
- Edge cases handled?
|
|
100
|
+
|
|
101
|
+
**Tests:**
|
|
102
|
+
- Do the new and changed tests verify real behavior, not mocks?
|
|
103
|
+
- Are the task's edge cases covered?
|
|
104
|
+
|
|
105
|
+
**Structure:**
|
|
106
|
+
- Does each file have one clear responsibility with a well-defined interface?
|
|
107
|
+
- Are units decomposed so they can be understood and tested independently?
|
|
108
|
+
- Is the implementation following the file structure from the plan?
|
|
109
|
+
- Did this change create new files that are already large, or
|
|
110
|
+
significantly grow existing files? (Don't flag pre-existing file
|
|
111
|
+
sizes — focus on what this change contributed.)
|
|
112
|
+
|
|
113
|
+
Your report should point at evidence: file:line references for every
|
|
114
|
+
finding and for any check you would otherwise answer with a bare
|
|
115
|
+
"yes." A tight report that cites lines gives the controller everything
|
|
116
|
+
it needs.
|
|
117
|
+
|
|
118
|
+
Your final message is the report itself: begin directly with the
|
|
119
|
+
spec-compliance verdict. Every line is a verdict, a finding with
|
|
120
|
+
file:line, or a check you ran — no preamble, no process narration,
|
|
121
|
+
no closing summary.
|
|
122
|
+
|
|
123
|
+
## Calibration
|
|
124
|
+
|
|
125
|
+
Categorize issues by actual severity. Not everything is Critical.
|
|
126
|
+
Important means this task cannot be trusted until it is fixed: incorrect
|
|
127
|
+
or fragile behavior, a missed requirement, or maintainability damage you
|
|
128
|
+
would block a merge over — verbatim duplication of a logic block,
|
|
129
|
+
swallowed errors, tests that assert nothing. "Coverage could be broader"
|
|
130
|
+
and polish suggestions are Minor.
|
|
131
|
+
If the plan or brief explicitly mandates something this rubric calls a
|
|
132
|
+
defect (a test that asserts nothing, verbatim duplication of a logic
|
|
133
|
+
block), that IS a finding — report it as Important, labeled
|
|
134
|
+
plan-mandated. The plan's authorship does not grade its own work; the
|
|
135
|
+
human decides.
|
|
136
|
+
Acknowledge what was done well before listing issues — accurate praise
|
|
137
|
+
helps the implementer trust the rest of the feedback.
|
|
138
|
+
|
|
139
|
+
## Output Format
|
|
140
|
+
|
|
141
|
+
### Spec Compliance
|
|
142
|
+
|
|
143
|
+
- ✅ Spec compliant | ❌ Issues found: [what's missing/extra/misunderstood,
|
|
144
|
+
with file:line references]
|
|
145
|
+
- ⚠️ Cannot verify from diff: [requirements you could not verify from the
|
|
146
|
+
diff alone, and what the controller should check — report alongside the
|
|
147
|
+
✅/❌ verdict for everything you could verify]
|
|
148
|
+
|
|
149
|
+
### Strengths
|
|
150
|
+
[What's well done? Be specific.]
|
|
151
|
+
|
|
152
|
+
### Issues
|
|
153
|
+
|
|
154
|
+
#### Critical (Must Fix)
|
|
155
|
+
#### Important (Should Fix)
|
|
156
|
+
#### Minor (Nice to Have)
|
|
157
|
+
|
|
158
|
+
For each issue: file:line, what's wrong, why it matters, how to fix
|
|
159
|
+
(if not obvious).
|
|
160
|
+
|
|
161
|
+
### Assessment
|
|
162
|
+
|
|
163
|
+
**Task quality:** [Approved | Needs fixes]
|
|
164
|
+
|
|
165
|
+
**Reasoning:** [1-2 sentence technical assessment]
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Placeholders:**
|
|
169
|
+
- `[MODEL]` — REQUIRED: reviewer model per SKILL.md Model Selection
|
|
170
|
+
- `[BRIEF_FILE]` — REQUIRED: the task brief file (`scripts/task-brief PLAN N`
|
|
171
|
+
prints the path; same file the implementer worked from)
|
|
172
|
+
- `[GLOBAL_CONSTRAINTS]` — the binding requirements copied verbatim from
|
|
173
|
+
the plan's Global Constraints section or the spec: exact values, formats,
|
|
174
|
+
and stated relationships between components (not process rules — those
|
|
175
|
+
are already in this template)
|
|
176
|
+
- `[REPORT_FILE]` — REQUIRED: the file the implementer wrote its detailed
|
|
177
|
+
report to
|
|
178
|
+
- `[BASE_SHA]` — commit before this task
|
|
179
|
+
- `[HEAD_SHA]` — current commit
|
|
180
|
+
- `[DIFF_FILE]` — REQUIRED: the path the controller wrote the review
|
|
181
|
+
package to (`scripts/review-package BASE HEAD` prints the unique path it
|
|
182
|
+
wrote; the package never enters the controller's context)
|
|
183
|
+
|
|
184
|
+
**Reviewer returns:** Spec Compliance verdict (✅/❌/⚠️), Strengths, Issues
|
|
185
|
+
(Critical/Important/Minor), Task quality verdict
|
|
186
|
+
|
|
187
|
+
A fix dispatch can address spec gaps and quality findings together;
|
|
188
|
+
re-review after fixes covers both verdicts.
|
|
@@ -237,7 +237,7 @@ If you catch yourself thinking:
|
|
|
237
237
|
- "Is that not happening?" - You assumed without verifying
|
|
238
238
|
- "Will it show us...?" - You should have added evidence gathering
|
|
239
239
|
- "Stop guessing" - You're proposing fixes without understanding
|
|
240
|
-
- "
|
|
240
|
+
- "Ultra-think this" - Question fundamentals, not just symptoms
|
|
241
241
|
- "We're stuck?" (frustrated) - Your approach isn't working
|
|
242
242
|
|
|
243
243
|
**When you see these:** STOP. Return to Phase 1.
|
|
@@ -198,7 +198,7 @@ Next failing test for next feature.
|
|
|
198
198
|
## Good Tests
|
|
199
199
|
|
|
200
200
|
| Quality | Good | Bad |
|
|
201
|
-
|
|
201
|
+
|---------|------|---------|
|
|
202
202
|
| **Minimal** | One thing. "and" in name? Split it. | `test('validates email and domain and whitespace')` |
|
|
203
203
|
| **Clear** | Name describes behavior | `test('test1')` |
|
|
204
204
|
| **Shows intent** | Demonstrates desired API | Obscures what code should do |
|
|
@@ -356,7 +356,7 @@ Never fix bugs without a test.
|
|
|
356
356
|
|
|
357
357
|
## Testing Anti-Patterns
|
|
358
358
|
|
|
359
|
-
When adding mocks or test utilities, read
|
|
359
|
+
When adding mocks or test utilities, read [testing-anti-patterns.md](testing-anti-patterns.md) to avoid common pitfalls:
|
|
360
360
|
- Testing mock behavior instead of real behavior
|
|
361
361
|
- Adding test-only methods to production classes
|
|
362
362
|
- Mocking without understanding dependencies
|
|
@@ -30,7 +30,7 @@ BRANCH=$(git branch --show-current)
|
|
|
30
30
|
git rev-parse --show-superproject-working-tree 2>/dev/null
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
**If `GIT_DIR != GIT_COMMON` (and not a submodule):** You are already in a linked worktree. Skip to Step
|
|
33
|
+
**If `GIT_DIR != GIT_COMMON` (and not a submodule):** You are already in a linked worktree. Skip to Step 2 (Project Setup). Do NOT create another worktree.
|
|
34
34
|
|
|
35
35
|
Report with branch state:
|
|
36
36
|
- On a branch: "Already in isolated workspace at `<path>` on branch `<name>`."
|
|
@@ -42,7 +42,7 @@ Has the user already indicated their worktree preference in your instructions? I
|
|
|
42
42
|
|
|
43
43
|
> "Would you like me to set up an isolated worktree? It protects your current branch from changes."
|
|
44
44
|
|
|
45
|
-
Honor any existing declared preference without asking. If the user declines consent, work in place and skip to Step
|
|
45
|
+
Honor any existing declared preference without asking. If the user declines consent, work in place and skip to Step 2.
|
|
46
46
|
|
|
47
47
|
## Step 1: Create Isolated Workspace
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ Honor any existing declared preference without asking. If the user declines cons
|
|
|
50
50
|
|
|
51
51
|
### 1a. Native Worktree Tools (preferred)
|
|
52
52
|
|
|
53
|
-
The user has asked for an isolated workspace (Step 0 consent). Do you already have a way to create a worktree? It might be a tool with a name like `EnterWorktree`, `WorktreeCreate`, a `/worktree` command, or a `--worktree` flag. If you do, use it and skip to Step
|
|
53
|
+
The user has asked for an isolated workspace (Step 0 consent). Do you already have a way to create a worktree? It might be a tool with a name like `EnterWorktree`, `WorktreeCreate`, a `/worktree` command, or a `--worktree` flag. If you do, use it and skip to Step 2.
|
|
54
54
|
|
|
55
55
|
Native tools handle directory placement, branch creation, and cleanup automatically. Using `git worktree add` when you have a native tool creates phantom state your harness can't see or manage.
|
|
56
56
|
|
|
@@ -73,14 +73,7 @@ Follow this priority order. Explicit user preference always beats observed files
|
|
|
73
73
|
```
|
|
74
74
|
If found, use it. If both exist, `.worktrees` wins.
|
|
75
75
|
|
|
76
|
-
3. **
|
|
77
|
-
```bash
|
|
78
|
-
project=$(basename "$(git rev-parse --show-toplevel)")
|
|
79
|
-
ls -d ~/.config/superpowers/worktrees/$project 2>/dev/null
|
|
80
|
-
```
|
|
81
|
-
If found, use it (backward compatibility with legacy global path).
|
|
82
|
-
|
|
83
|
-
4. **If there is no other guidance available**, default to `.worktrees/` at the project root.
|
|
76
|
+
3. **If there is no other guidance available**, default to `.worktrees/` at the project root.
|
|
84
77
|
|
|
85
78
|
#### Safety Verification (project-local directories only)
|
|
86
79
|
|
|
@@ -94,16 +87,11 @@ git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/d
|
|
|
94
87
|
|
|
95
88
|
**Why critical:** Prevents accidentally committing worktree contents to repository.
|
|
96
89
|
|
|
97
|
-
Global directories (`~/.config/superpowers/worktrees/`) need no verification.
|
|
98
|
-
|
|
99
90
|
#### Create the Worktree
|
|
100
91
|
|
|
101
92
|
```bash
|
|
102
|
-
project=$(basename "$(git rev-parse --show-toplevel)")
|
|
103
|
-
|
|
104
93
|
# Determine path based on chosen location
|
|
105
|
-
|
|
106
|
-
# For global: path="~/.config/superpowers/worktrees/$project/$BRANCH_NAME"
|
|
94
|
+
path="$LOCATION/$BRANCH_NAME"
|
|
107
95
|
|
|
108
96
|
git worktree add "$path" -b "$BRANCH_NAME"
|
|
109
97
|
cd "$path"
|
|
@@ -111,7 +99,7 @@ cd "$path"
|
|
|
111
99
|
|
|
112
100
|
**Sandbox fallback:** If `git worktree add` fails with a permission error (sandbox denial), tell the user the sandbox blocked worktree creation and you're working in the current directory instead. Then run setup and baseline tests in place.
|
|
113
101
|
|
|
114
|
-
## Step
|
|
102
|
+
## Step 2: Project Setup
|
|
115
103
|
|
|
116
104
|
Auto-detect and run appropriate setup:
|
|
117
105
|
|
|
@@ -130,7 +118,7 @@ if [ -f pyproject.toml ]; then poetry install; fi
|
|
|
130
118
|
if [ -f go.mod ]; then go mod download; fi
|
|
131
119
|
```
|
|
132
120
|
|
|
133
|
-
## Step
|
|
121
|
+
## Step 3: Verify Clean Baseline
|
|
134
122
|
|
|
135
123
|
Run tests to ensure workspace starts clean:
|
|
136
124
|
|
|
@@ -163,7 +151,6 @@ Ready to implement <feature-name>
|
|
|
163
151
|
| `worktrees/` exists | Use it (verify ignored) |
|
|
164
152
|
| Both exist | Use `.worktrees/` |
|
|
165
153
|
| Neither exists | Check instruction file, then default `.worktrees/` |
|
|
166
|
-
| Global path exists | Use it (backward compat) |
|
|
167
154
|
| Directory not ignored | Add to .gitignore + commit |
|
|
168
155
|
| Permission error on create | Sandbox fallback, work in place |
|
|
169
156
|
| Tests fail during baseline | Report failures + ask |
|
|
@@ -189,7 +176,7 @@ Ready to implement <feature-name>
|
|
|
189
176
|
### Assuming directory location
|
|
190
177
|
|
|
191
178
|
- **Problem:** Creates inconsistency, violates project conventions
|
|
192
|
-
- **Fix:** Follow priority:
|
|
179
|
+
- **Fix:** Follow priority: explicit instructions > existing project-local directory > default
|
|
193
180
|
|
|
194
181
|
### Proceeding with failing tests
|
|
195
182
|
|
|
@@ -209,7 +196,7 @@ Ready to implement <feature-name>
|
|
|
209
196
|
**Always:**
|
|
210
197
|
- Run Step 0 detection first
|
|
211
198
|
- Prefer native tools over git fallback
|
|
212
|
-
- Follow directory priority:
|
|
199
|
+
- Follow directory priority: explicit instructions > existing project-local directory > default
|
|
213
200
|
- Verify directory is ignored for project-local
|
|
214
201
|
- Auto-detect and run project setup
|
|
215
202
|
- Verify clean test baseline
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: using-superpowers
|
|
3
|
-
description: Use when starting any conversation - establishes how to find and use skills, requiring
|
|
3
|
+
description: Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
<SUBAGENT-STOP>
|
|
7
|
-
If you were dispatched as a subagent to execute a specific task,
|
|
7
|
+
If you were dispatched as a subagent to execute a specific task, ignore this skill.
|
|
8
8
|
</SUBAGENT-STOP>
|
|
9
9
|
|
|
10
10
|
<EXTREMELY-IMPORTANT>
|
|
@@ -12,68 +12,23 @@ If you think there is even a 1% chance a skill might apply to what you are doing
|
|
|
12
12
|
|
|
13
13
|
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
|
|
14
14
|
|
|
15
|
-
This is not negotiable.
|
|
15
|
+
This is not negotiable. You cannot rationalize your way out of this.
|
|
16
16
|
</EXTREMELY-IMPORTANT>
|
|
17
17
|
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
Superpowers skills override default system prompt behavior, but **user instructions always take precedence**:
|
|
21
|
-
|
|
22
|
-
1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority
|
|
23
|
-
2. **Superpowers skills** — override default system behavior where they conflict
|
|
24
|
-
3. **Default system prompt** — lowest priority
|
|
25
|
-
|
|
26
|
-
If CLAUDE.md, GEMINI.md, or AGENTS.md says "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control.
|
|
27
|
-
|
|
28
|
-
## How to Access Skills
|
|
29
|
-
|
|
30
|
-
**In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you—follow it directly. Never use the Read tool on skill files.
|
|
31
|
-
|
|
32
|
-
**In Copilot CLI:** Use the `skill` tool. Skills are auto-discovered from installed plugins. The `skill` tool works the same as Claude Code's `Skill` tool.
|
|
33
|
-
|
|
34
|
-
**In Gemini CLI:** Skills activate via the `activate_skill` tool. Gemini loads skill metadata at session start and activates the full content on demand.
|
|
18
|
+
## The Rule
|
|
35
19
|
|
|
36
|
-
**
|
|
20
|
+
**Invoke relevant or requested skills BEFORE any response or action** — including clarifying questions, exploring the codebase, or checking files. If it turns out wrong for the situation, you don't have to use it.
|
|
37
21
|
|
|
38
|
-
|
|
22
|
+
**Before entering plan mode:** if you haven't already brainstormed, invoke the brainstorming skill first.
|
|
39
23
|
|
|
40
|
-
|
|
24
|
+
Then announce "Using [skill] to [purpose]" and follow the skill exactly. If it has a checklist, create a todo per item.
|
|
41
25
|
|
|
42
|
-
|
|
26
|
+
## Skill Priority
|
|
43
27
|
|
|
44
|
-
|
|
28
|
+
When multiple skills apply, process skills come first — they set the approach, then implementation skills (frontend-design, etc.) carry it out. Brainstorming and systematic-debugging are Superpowers' most common process skills, but the rule holds for any of them.
|
|
45
29
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```dot
|
|
49
|
-
digraph skill_flow {
|
|
50
|
-
"User message received" [shape=doublecircle];
|
|
51
|
-
"About to EnterPlanMode?" [shape=doublecircle];
|
|
52
|
-
"Already brainstormed?" [shape=diamond];
|
|
53
|
-
"Invoke brainstorming skill" [shape=box];
|
|
54
|
-
"Might any skill apply?" [shape=diamond];
|
|
55
|
-
"Invoke Skill tool" [shape=box];
|
|
56
|
-
"Announce: 'Using [skill] to [purpose]'" [shape=box];
|
|
57
|
-
"Has checklist?" [shape=diamond];
|
|
58
|
-
"Create TodoWrite todo per item" [shape=box];
|
|
59
|
-
"Follow skill exactly" [shape=box];
|
|
60
|
-
"Respond (including clarifications)" [shape=doublecircle];
|
|
61
|
-
|
|
62
|
-
"About to EnterPlanMode?" -> "Already brainstormed?";
|
|
63
|
-
"Already brainstormed?" -> "Invoke brainstorming skill" [label="no"];
|
|
64
|
-
"Already brainstormed?" -> "Might any skill apply?" [label="yes"];
|
|
65
|
-
"Invoke brainstorming skill" -> "Might any skill apply?";
|
|
66
|
-
|
|
67
|
-
"User message received" -> "Might any skill apply?";
|
|
68
|
-
"Might any skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"];
|
|
69
|
-
"Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
|
|
70
|
-
"Invoke Skill tool" -> "Announce: 'Using [skill] to [purpose]'";
|
|
71
|
-
"Announce: 'Using [skill] to [purpose]'" -> "Has checklist?";
|
|
72
|
-
"Has checklist?" -> "Create TodoWrite todo per item" [label="yes"];
|
|
73
|
-
"Has checklist?" -> "Follow skill exactly" [label="no"];
|
|
74
|
-
"Create TodoWrite todo per item" -> "Follow skill exactly";
|
|
75
|
-
}
|
|
76
|
-
```
|
|
30
|
+
- "Let's build X" → superpowers:brainstorming first, then implementation skills.
|
|
31
|
+
- "Fix this bug" → superpowers:systematic-debugging first, then domain skills.
|
|
77
32
|
|
|
78
33
|
## Red Flags
|
|
79
34
|
|
|
@@ -94,24 +49,14 @@ These thoughts mean STOP—you're rationalizing:
|
|
|
94
49
|
| "This feels productive" | Undisciplined action wastes time. Skills prevent this. |
|
|
95
50
|
| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. |
|
|
96
51
|
|
|
97
|
-
##
|
|
98
|
-
|
|
99
|
-
When multiple skills could apply, use this order:
|
|
100
|
-
|
|
101
|
-
1. **Process skills first** (brainstorming, debugging) - these determine HOW to approach the task
|
|
102
|
-
2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution
|
|
103
|
-
|
|
104
|
-
"Let's build X" → brainstorming first, then implementation skills.
|
|
105
|
-
"Fix this bug" → debugging first, then domain-specific skills.
|
|
106
|
-
|
|
107
|
-
## Skill Types
|
|
108
|
-
|
|
109
|
-
**Rigid** (TDD, debugging): Follow exactly. Don't adapt away discipline.
|
|
52
|
+
## Platform Adaptation
|
|
110
53
|
|
|
111
|
-
|
|
54
|
+
If your harness appears here, read its reference file for special instructions:
|
|
112
55
|
|
|
113
|
-
|
|
56
|
+
- Codex: `references/codex-tools.md`
|
|
57
|
+
- Pi: `references/pi-tools.md`
|
|
58
|
+
- Antigravity: `references/antigravity-tools.md`
|
|
114
59
|
|
|
115
60
|
## User Instructions
|
|
116
61
|
|
|
117
|
-
|
|
62
|
+
User instructions (CLAUDE.md, AGENTS.md, GEMINI.md, etc, direct requests) take precedence over skills, which in turn override default behavior. Only skip skill workflows or instructions when your human partner has explicitly told you to.
|
|
@@ -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 (see [Subagent support](#subagent-support)) |
|
|
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.
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
# Codex Tool Mapping
|
|
2
|
-
|
|
3
|
-
Skills use Claude Code tool names. When you encounter these in a skill, use your platform equivalent:
|
|
4
|
-
|
|
5
|
-
| Skill references | Codex equivalent |
|
|
6
|
-
|-----------------|------------------|
|
|
7
|
-
| `Task` tool (dispatch subagent) | `spawn_agent` (see [Subagent dispatch requires multi-agent support](#subagent-dispatch-requires-multi-agent-support)) |
|
|
8
|
-
| Multiple `Task` calls (parallel) | Multiple `spawn_agent` calls |
|
|
9
|
-
| Task returns result | `wait_agent` |
|
|
10
|
-
| Task completes automatically | `close_agent` to free slot |
|
|
11
|
-
| `TodoWrite` (task tracking) | `update_plan` |
|
|
12
|
-
| `Skill` tool (invoke a skill) | Skills load natively — just follow the instructions |
|
|
13
|
-
| `Read`, `Write`, `Edit` (files) | Use your native file tools |
|
|
14
|
-
| `Bash` (run commands) | Use your native shell tools |
|
|
15
|
-
|
|
16
1
|
## Subagent dispatch requires multi-agent support
|
|
17
2
|
|
|
18
3
|
Add to your Codex config (`~/.codex/config.toml`):
|
|
@@ -22,12 +7,7 @@ Add to your Codex config (`~/.codex/config.toml`):
|
|
|
22
7
|
multi_agent = true
|
|
23
8
|
```
|
|
24
9
|
|
|
25
|
-
This enables `spawn_agent`, `wait_agent`, and `close_agent` for skills like `dispatching-parallel-agents` and `subagent-driven-development`.
|
|
26
|
-
|
|
27
|
-
Legacy note: Codex builds before `rust-v0.115.0` exposed spawned-agent
|
|
28
|
-
waiting as `wait`. Current Codex uses `wait_agent` for spawned agents. The
|
|
29
|
-
`wait` name now belongs to code-mode `exec/wait`, which resumes a yielded exec
|
|
30
|
-
cell by `cell_id`; it is not the spawned-agent result tool.
|
|
10
|
+
This enables `spawn_agent`, `wait_agent`, and `close_agent` for skills like `dispatching-parallel-agents` and `subagent-driven-development`. When using subagent-driven-development, you should always close implementer and reviewer subagents when they have finished all their work.
|
|
31
11
|
|
|
32
12
|
## Environment Detection
|
|
33
13
|
|
|
@@ -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.
|
|
@@ -33,6 +33,15 @@ Before defining tasks, map out which files will be created or modified and what
|
|
|
33
33
|
|
|
34
34
|
This structure informs the task decomposition. Each task should produce self-contained changes that make sense independently.
|
|
35
35
|
|
|
36
|
+
## Task Right-Sizing
|
|
37
|
+
|
|
38
|
+
A task is the smallest unit that carries its own test cycle and is worth a
|
|
39
|
+
fresh reviewer's gate. When drawing task boundaries: fold setup,
|
|
40
|
+
configuration, scaffolding, and documentation steps into the task whose
|
|
41
|
+
deliverable needs them; split only where a reviewer could meaningfully
|
|
42
|
+
reject one task while approving its neighbor. Each task ends with an
|
|
43
|
+
independently testable deliverable.
|
|
44
|
+
|
|
36
45
|
## Bite-Sized Task Granularity
|
|
37
46
|
|
|
38
47
|
**Each step is one action (2-5 minutes):**
|
|
@@ -57,6 +66,13 @@ This structure informs the task decomposition. Each task should produce self-con
|
|
|
57
66
|
|
|
58
67
|
**Tech Stack:** [Key technologies/libraries]
|
|
59
68
|
|
|
69
|
+
## Global Constraints
|
|
70
|
+
|
|
71
|
+
[The spec's project-wide requirements — version floors, dependency limits,
|
|
72
|
+
naming and copy rules, platform requirements — one line each, with exact
|
|
73
|
+
values copied verbatim from the spec. Every task's requirements implicitly
|
|
74
|
+
include this section.]
|
|
75
|
+
|
|
60
76
|
---
|
|
61
77
|
```
|
|
62
78
|
|
|
@@ -70,6 +86,12 @@ This structure informs the task decomposition. Each task should produce self-con
|
|
|
70
86
|
- Modify: `exact/path/to/existing.py:123-145`
|
|
71
87
|
- Test: `tests/exact/path/to/test.py`
|
|
72
88
|
|
|
89
|
+
**Interfaces:**
|
|
90
|
+
- Consumes: [what this task uses from earlier tasks — exact signatures]
|
|
91
|
+
- Produces: [what later tasks rely on — exact function names, parameter
|
|
92
|
+
and return types. A task's implementer sees only their own task; this
|
|
93
|
+
block is how they learn the names and types neighboring tasks use.]
|
|
94
|
+
|
|
73
95
|
- [ ] **Step 1: Write the failing test**
|
|
74
96
|
|
|
75
97
|
```python
|
|
@@ -7,7 +7,7 @@ Use this template when dispatching a plan document reviewer subagent.
|
|
|
7
7
|
**Dispatch after:** The complete plan is written.
|
|
8
8
|
|
|
9
9
|
```
|
|
10
|
-
|
|
10
|
+
Subagent (general-purpose):
|
|
11
11
|
description: "Review plan document"
|
|
12
12
|
prompt: |
|
|
13
13
|
You are a plan document reviewer. Verify this plan is complete and ready for implementation.
|