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.
Files changed (38) hide show
  1. package/README.md +25 -14
  2. package/README.zh-TW.md +30 -14
  3. package/out/server.js +2 -2
  4. package/package.json +1 -1
  5. package/skills/brainstorming/SKILL.md +5 -10
  6. package/skills/brainstorming/scripts/frame-template.html +25 -26
  7. package/skills/brainstorming/scripts/helper.js +107 -35
  8. package/skills/brainstorming/scripts/server.cjs +377 -30
  9. package/skills/brainstorming/scripts/start-server.sh +70 -9
  10. package/skills/brainstorming/scripts/stop-server.sh +66 -2
  11. package/skills/brainstorming/spec-document-reviewer-prompt.md +1 -1
  12. package/skills/brainstorming/visual-companion.md +29 -25
  13. package/skills/dispatching-parallel-agents/SKILL.md +9 -6
  14. package/skills/executing-plans/SKILL.md +2 -2
  15. package/skills/finishing-a-development-branch/SKILL.md +2 -12
  16. package/skills/receiving-code-review/SKILL.md +2 -2
  17. package/skills/requesting-code-review/SKILL.md +2 -2
  18. package/skills/requesting-code-review/code-reviewer.md +15 -11
  19. package/skills/subagent-driven-development/SKILL.md +206 -67
  20. package/skills/subagent-driven-development/implementer-prompt.md +30 -4
  21. package/skills/subagent-driven-development/scripts/review-package +44 -0
  22. package/skills/subagent-driven-development/scripts/sdd-workspace +22 -0
  23. package/skills/subagent-driven-development/scripts/task-brief +40 -0
  24. package/skills/subagent-driven-development/task-reviewer-prompt.md +188 -0
  25. package/skills/systematic-debugging/SKILL.md +1 -1
  26. package/skills/test-driven-development/SKILL.md +2 -2
  27. package/skills/using-git-worktrees/SKILL.md +9 -22
  28. package/skills/using-superpowers/SKILL.md +17 -72
  29. package/skills/using-superpowers/references/antigravity-tools.md +23 -0
  30. package/skills/using-superpowers/references/codex-tools.md +1 -21
  31. package/skills/using-superpowers/references/pi-tools.md +16 -0
  32. package/skills/writing-plans/SKILL.md +22 -0
  33. package/skills/writing-plans/plan-document-reviewer-prompt.md +1 -1
  34. package/skills/writing-skills/SKILL.md +52 -18
  35. package/skills/writing-skills/anthropic-best-practices.md +91 -91
  36. package/skills/writing-skills/persuasion-principles.md +3 -3
  37. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -25
  38. 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
- - "Ultrathink this" - Question fundamentals, not just symptoms
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 @testing-anti-patterns.md to avoid common pitfalls:
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 3 (Project Setup). Do NOT create another worktree.
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 3.
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 3.
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. **Check for an existing global directory:**
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
- # For project-local: path="$LOCATION/$BRANCH_NAME"
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 3: Project Setup
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 4: Verify Clean Baseline
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: existing > global legacy > instruction file > default
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: existing > global legacy > instruction file > default
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 Skill tool invocation before ANY response including clarifying questions
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, skip this skill.
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. This is not optional. You cannot rationalize your way out of this.
15
+ This is not negotiable. You cannot rationalize your way out of this.
16
16
  </EXTREMELY-IMPORTANT>
17
17
 
18
- ## Instruction Priority
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
- **In other environments:** Check your platform's documentation for how skills are loaded.
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
- ## Platform Adaptation
22
+ **Before entering plan mode:** if you haven't already brainstormed, invoke the brainstorming skill first.
39
23
 
40
- Skills use Claude Code tool names. Non-CC platforms: see `references/copilot-tools.md` (Copilot CLI), `references/codex-tools.md` (Codex) for tool equivalents. Gemini CLI users get the tool mapping loaded automatically via GEMINI.md.
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
- # Using Skills
26
+ ## Skill Priority
43
27
 
44
- ## The Rule
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
- **Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it.
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
- ## Skill Priority
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
- **Flexible** (patterns): Adapt principles to context.
54
+ If your harness appears here, read its reference file for special instructions:
112
55
 
113
- The skill itself tells you which.
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
- Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.
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
- Task tool (general-purpose):
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.