agy-superpowers 5.2.0 → 5.2.2

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 (22) hide show
  1. package/package.json +1 -1
  2. package/template/agent/patches/skills-patches.md +23 -0
  3. package/template/agent/rules/superpowers.md +3 -0
  4. package/template/agent/skills/brainstorming/SKILL.md +4 -3
  5. package/template/agent/skills/brainstorming/scripts/server.cjs +1 -1
  6. package/template/agent/skills/brainstorming/scripts/start-server.sh +5 -2
  7. package/template/agent/skills/brainstorming/scripts/stop-server.sh +4 -4
  8. package/template/agent/skills/brainstorming/visual-companion.md +4 -5
  9. package/template/agent/skills/finishing-a-development-branch/SKILL.md +11 -16
  10. package/template/agent/skills/rust-developer/references/rust-rules/opt-pgo-profile.md +7 -7
  11. package/template/agent/skills/rust-developer/references/rust-rules/test-fixture-raii.md +2 -2
  12. package/template/agent/skills/subagent-driven-development/SKILL.md +16 -0
  13. package/template/agent/skills/subagent-driven-development/implementer-prompt.md +4 -3
  14. package/template/agent/skills/using-git-worktrees/SKILL.md +3 -2
  15. package/template/agent/skills/using-superpowers/SKILL.md +8 -6
  16. package/template/agent/skills/using-superpowers/references/copilot-tools.md +52 -0
  17. package/template/agent/skills/writing-plans/SKILL.md +5 -3
  18. package/template/agent/skills/writing-skills/SKILL.md +1 -1
  19. package/template/agent/skills/writing-skills/testing-skills-with-subagents.md +1 -1
  20. package/template/agent/superpowers-version.json +2 -2
  21. package/template/agent/tmp/agent-config-backup.yml +9 -0
  22. package/template/agent/workflows/update-superpowers.md +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agy-superpowers",
3
- "version": "5.2.0",
3
+ "version": "5.2.2",
4
4
  "description": "Superpowers skills library for Google Antigravity agent — scaffold .agent/ with one command",
5
5
  "type": "module",
6
6
  "bin": {
@@ -116,3 +116,26 @@ Option 2: push, Option 4: branch delete), add an explicit `auto_commit` check:
116
116
  - If `true` (or absent): `git add .gitignore && git commit -m "chore: ignore worktree directory"`
117
117
  - Step 3 (proceed with worktree creation): always runs
118
118
 
119
+ ---
120
+
121
+ ## Patch: temp directory — all skills
122
+
123
+ **Files:**
124
+ - `brainstorming/scripts/server.cjs`
125
+ - `brainstorming/scripts/start-server.sh`
126
+ - `brainstorming/scripts/stop-server.sh`
127
+ - `brainstorming/visual-companion.md`
128
+ - `writing-skills/testing-skills-with-subagents.md`
129
+ - `rust-developer/references/rust-rules/test-fixture-raii.md`
130
+ - `rust-developer/references/rust-rules/opt-pgo-profile.md`
131
+
132
+ **Intent:** Replace all `/tmp/` paths with `.agent/tmp/` equivalents. Temp data should stay
133
+ within the project's `.agent/tmp/` directory instead of polluting the system `/tmp/`.
134
+
135
+ Specific changes:
136
+ - `server.cjs`: fallback `SESSION_DIR` should resolve to `.agent/tmp/brainstorm` via `path.resolve(__dirname, '..', '..', '..', 'tmp', 'brainstorm')`
137
+ - `start-server.sh`: compute `AGENT_DIR` from `SCRIPT_DIR` (walk up 3 levels to `.agent/`), use `${AGENT_DIR}/tmp/brainstorm-${SESSION_ID}` as fallback
138
+ - `stop-server.sh`: cleanup condition should match both `/tmp/*` and `*/.agent/tmp/*`
139
+ - `visual-companion.md`: documentation references to `/tmp` → `.agent/tmp/`
140
+ - `testing-skills-with-subagents.md`: example path `/tmp/payment-system` → `.agent/tmp/payment-system`
141
+ - Rust reference docs: all `/tmp/` example paths → `.agent/tmp/` equivalents
@@ -46,6 +46,9 @@ All skills are symlinked into `.agent/skills/` and are automatically available.
46
46
  | `saas-architect` | Multi-tenant SaaS architecture, tenant isolation |
47
47
  | `devops-engineer` | CI/CD, infrastructure, deployment, monitoring |
48
48
  | `security-engineer` | App security, auth, GDPR, security audits |
49
+ | `frontend-design` | Web components, pages, artifacts — high design quality, avoids generic AI aesthetics |
50
+ | `mobile-uiux-promax` | Mobile app UI for iOS, Android, React Native, Flutter, SwiftUI, Compose |
51
+ | `rust-developer` | Rust code, ownership/borrow errors, async patterns, idiomatic Rust |
49
52
 
50
53
  ### Business & Growth
51
54
 
@@ -111,9 +111,10 @@ digraph brainstorming {
111
111
  - Write the validated design (spec) to `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`
112
112
  - (User preferences for spec location override this default)
113
113
  - Use elements-of-style:writing-clearly-and-concisely skill if available
114
- - **Commit the design document to git** but first check `.agent/config.yml`:
115
- - If `auto_commit: true` (default): run `git add <path> && git commit -m "docs: add <topic> design spec"`
116
- - If `auto_commit: false`: skip commit and staging entirely. Print: "Skipping commit (auto_commit: false in .agent/config.yml). File is ready for manual commit."
114
+ - Commit the design document to git (if `auto_commit` is enabled):
115
+ - Read `.agent/config.yml` check `auto_commit` setting
116
+ - If `auto_commit: true` (default when absent): `git add <path> && git commit -m "docs: add <topic> design spec"`
117
+ - If `auto_commit: false`: skip commit and staging entirely. Print: "Skipping commit (auto_commit: false in .agent/config.yml). File is ready for manual commit."
117
118
 
118
119
  **Spec Self-Review:**
119
120
  After writing the spec document, look at it with fresh eyes:
@@ -76,7 +76,7 @@ function decodeFrame(buffer) {
76
76
  const PORT = process.env.BRAINSTORM_PORT || (49152 + Math.floor(Math.random() * 16383));
77
77
  const HOST = process.env.BRAINSTORM_HOST || '127.0.0.1';
78
78
  const URL_HOST = process.env.BRAINSTORM_URL_HOST || (HOST === '127.0.0.1' ? 'localhost' : HOST);
79
- const SESSION_DIR = process.env.BRAINSTORM_DIR || '/tmp/brainstorm';
79
+ const SESSION_DIR = process.env.BRAINSTORM_DIR || path.resolve(__dirname, '..', '..', '..', 'tmp', 'brainstorm');
80
80
  const CONTENT_DIR = path.join(SESSION_DIR, 'content');
81
81
  const STATE_DIR = path.join(SESSION_DIR, 'state');
82
82
  let ownerPid = process.env.BRAINSTORM_OWNER_PID ? Number(process.env.BRAINSTORM_OWNER_PID) : null;
@@ -7,7 +7,7 @@
7
7
  #
8
8
  # Options:
9
9
  # --project-dir <path> Store session files under <path>/.superpowers/brainstorm/
10
- # instead of /tmp. Files persist after server stops.
10
+ # instead of .agent/tmp/. Files persist after server stops.
11
11
  # --host <bind-host> Host/interface to bind (default: 127.0.0.1).
12
12
  # Use 0.0.0.0 in remote/containerized environments.
13
13
  # --url-host <host> Hostname shown in returned URL JSON.
@@ -77,10 +77,13 @@ fi
77
77
  # Generate unique session directory
78
78
  SESSION_ID="$$-$(date +%s)"
79
79
 
80
+ # SCRIPT_DIR is .agent/skills/brainstorming/scripts — walk up to .agent/
81
+ AGENT_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)"
82
+
80
83
  if [[ -n "$PROJECT_DIR" ]]; then
81
84
  SESSION_DIR="${PROJECT_DIR}/.superpowers/brainstorm/${SESSION_ID}"
82
85
  else
83
- SESSION_DIR="/tmp/brainstorm-${SESSION_ID}"
86
+ SESSION_DIR="${AGENT_DIR}/tmp/brainstorm-${SESSION_ID}"
84
87
  fi
85
88
 
86
89
  STATE_DIR="${SESSION_DIR}/state"
@@ -3,8 +3,8 @@
3
3
  # Usage: stop-server.sh <session_dir>
4
4
  #
5
5
  # Kills the server process. Only deletes session directory if it's
6
- # under /tmp (ephemeral). Persistent directories (.superpowers/) are
7
- # kept so mockups can be reviewed later.
6
+ # ephemeral (/tmp or .agent/tmp). Persistent directories (.superpowers/)
7
+ # are kept so mockups can be reviewed later.
8
8
 
9
9
  SESSION_DIR="$1"
10
10
 
@@ -45,8 +45,8 @@ if [[ -f "$PID_FILE" ]]; then
45
45
 
46
46
  rm -f "$PID_FILE" "${STATE_DIR}/server.log"
47
47
 
48
- # Only delete ephemeral /tmp directories
49
- if [[ "$SESSION_DIR" == /tmp/* ]]; then
48
+ # Only delete ephemeral directories (/tmp or .agent/tmp)
49
+ if [[ "$SESSION_DIR" == /tmp/* ]] || [[ "$SESSION_DIR" == */.agent/tmp/* ]]; then
50
50
  rm -rf "$SESSION_DIR"
51
51
  fi
52
52
 
@@ -45,17 +45,16 @@ Save `screen_dir` and `state_dir` from the response. Tell user to open the URL.
45
45
 
46
46
  **Finding connection info:** The server writes its startup JSON to `$STATE_DIR/server-info`. If you launched the server in the background and didn't capture stdout, read that file to get the URL and port. When using `--project-dir`, check `<project>/.superpowers/brainstorm/` for the session directory.
47
47
 
48
- **Note:** Pass the project root as `--project-dir` so mockups persist in `.superpowers/brainstorm/` and survive server restarts. Without it, files go to `/tmp` and get cleaned up. Remind the user to add `.superpowers/` to `.gitignore` if it's not already there.
48
+ **Note:** Pass the project root as `--project-dir` so mockups persist in `.superpowers/brainstorm/` and survive server restarts. Without it, files go to `.agent/tmp/` and get cleaned up on server stop. Remind the user to add `.superpowers/` to `.gitignore` if it's not already there.
49
49
 
50
- **Launching the server by platform:**
50
+ **Launching the server:**
51
51
 
52
- **Antigravity:**
53
52
  ```bash
54
53
  # Launch the server normally
55
54
  scripts/start-server.sh --project-dir /path/to/project
56
55
  ```
57
56
 
58
- **Other environments:** The server must keep running in the background across conversation turns. If your environment reaps detached processes, use `--foreground` and launch the command with your platform's background execution mechanism.
57
+ The script backgrounds the server itself. If your environment reaps detached processes, use `--foreground` and launch the command with your platform's background execution mechanism.
59
58
 
60
59
  If the URL is unreachable from your browser (common in remote/containerized setups), bind a non-loopback host:
61
60
 
@@ -256,7 +255,7 @@ If `$STATE_DIR/events` doesn't exist, the user didn't interact with the browser
256
255
  scripts/stop-server.sh $SESSION_DIR
257
256
  ```
258
257
 
259
- If the session used `--project-dir`, mockup files persist in `.superpowers/brainstorm/` for later reference. Only `/tmp` sessions get deleted on stop.
258
+ If the session used `--project-dir`, mockup files persist in `.superpowers/brainstorm/` for later reference. Only ephemeral sessions (`.agent/tmp/`) get deleted on stop.
260
259
 
261
260
  ## Reference
262
261
 
@@ -67,24 +67,22 @@ Which option?
67
67
 
68
68
  #### Option 1: Merge Locally
69
69
 
70
- **Before git write steps:** Check `.agent/config.yml` for `auto_commit`.
71
- - If `auto_commit: false`: skip all git write operations below, print "Skipping git operation (auto_commit: false)."
72
- - If `auto_commit: true` (or absent): proceed normally.
70
+ Read `.agent/config.yml` check `auto_commit` setting. If `auto_commit: false`: skip the merge, print "Skipping git operation (auto_commit: false)." and go to Step 5. If `auto_commit: true` (or absent): proceed.
73
71
 
74
72
  ```bash
75
73
  # Switch to base branch
76
74
  git checkout <base-branch>
77
75
 
78
- # Pull latest (blocked if auto_commit: false)
76
+ # Pull latest
79
77
  git pull
80
78
 
81
- # Merge feature branch (blocked if auto_commit: false)
79
+ # Merge feature branch
82
80
  git merge <feature-branch>
83
81
 
84
82
  # Verify tests on merged result
85
83
  <test command>
86
84
 
87
- # If tests pass (blocked if auto_commit: false)
85
+ # If tests pass
88
86
  git branch -d <feature-branch>
89
87
  ```
90
88
 
@@ -92,15 +90,13 @@ Then: Cleanup worktree (Step 5)
92
90
 
93
91
  #### Option 2: Push and Create PR
94
92
 
95
- **Before git write steps:** Check `.agent/config.yml` for `auto_commit`.
96
- - If `auto_commit: false`: skip all git write operations below, print "Skipping git operation (auto_commit: false)."
97
- - If `auto_commit: true` (or absent): proceed normally.
93
+ Read `.agent/config.yml` check `auto_commit` setting. If `auto_commit: false`: skip the push, print "Skipping git operation (auto_commit: false)." If `auto_commit: true` (or absent): proceed.
98
94
 
99
95
  ```bash
100
- # Push branch (blocked if auto_commit: false)
96
+ # Push branch
101
97
  git push -u origin <feature-branch>
102
98
 
103
- # Create PR (blocked if auto_commit: false)
99
+ # Create PR
104
100
  gh pr create --title "<title>" --body "$(cat <<'EOF'
105
101
  ## Summary
106
102
  <2-3 bullets of what changed>
@@ -133,14 +129,13 @@ Type 'discard' to confirm.
133
129
 
134
130
  Wait for exact confirmation.
135
131
 
136
- **Before git write steps:** Check `.agent/config.yml` for `auto_commit`.
137
- - If `auto_commit: false`: skip all git write operations below, print "Skipping git operation (auto_commit: false)."
138
- - If `auto_commit: true` (or absent): proceed normally.
139
-
140
132
  If confirmed:
133
+
134
+ Read `.agent/config.yml` — check `auto_commit` setting. If `auto_commit: false`: skip the branch delete, print "Skipping git operation (auto_commit: false)." If `auto_commit: true` (or absent): proceed.
135
+
141
136
  ```bash
142
137
  git checkout <base-branch>
143
- git branch -D <feature-branch> # blocked if auto_commit: false
138
+ git branch -D <feature-branch>
144
139
  ```
145
140
 
146
141
  Then: Cleanup worktree (Step 5)
@@ -16,7 +16,7 @@ PGO uses real runtime behavior to guide compiler optimization decisions. By prof
16
16
 
17
17
  ```bash
18
18
  # Step 1: Build instrumented binary
19
- RUSTFLAGS="-Cprofile-generate=/tmp/pgo-data" \
19
+ RUSTFLAGS="-Cprofile-generate=.agent/tmp/pgo-data" \
20
20
  cargo build --release
21
21
 
22
22
  # Step 2: Run representative workloads
@@ -25,10 +25,10 @@ RUSTFLAGS="-Cprofile-generate=/tmp/pgo-data" \
25
25
  ./target/release/my_app < typical_workload.txt
26
26
 
27
27
  # Step 3: Merge profile data
28
- llvm-profdata merge -o /tmp/pgo-data/merged.profdata /tmp/pgo-data
28
+ llvm-profdata merge -o .agent/tmp/pgo-data/merged.profdata .agent/tmp/pgo-data
29
29
 
30
30
  # Step 4: Build optimized binary using profile
31
- RUSTFLAGS="-Cprofile-use=/tmp/pgo-data/merged.profdata" \
31
+ RUSTFLAGS="-Cprofile-use=.agent/tmp/pgo-data/merged.profdata" \
32
32
  cargo build --release
33
33
  ```
34
34
 
@@ -50,7 +50,7 @@ opt-level = 3
50
50
  #!/bin/bash
51
51
  set -e
52
52
 
53
- PGO_DIR=/tmp/pgo-$(date +%s)
53
+ PGO_DIR=.agent/tmp/pgo-$(date +%s)
54
54
 
55
55
  # Clean
56
56
  cargo clean
@@ -133,16 +133,16 @@ jobs:
133
133
  run: sudo apt-get install llvm
134
134
 
135
135
  - name: Instrumented build
136
- run: RUSTFLAGS="-Cprofile-generate=/tmp/pgo" cargo build --release
136
+ run: RUSTFLAGS="-Cprofile-generate=.agent/tmp/pgo" cargo build --release
137
137
 
138
138
  - name: Run profiling workloads
139
139
  run: ./scripts/run_profiling_workloads.sh
140
140
 
141
141
  - name: Merge profiles
142
- run: llvm-profdata merge -o /tmp/pgo/merged.profdata /tmp/pgo
142
+ run: llvm-profdata merge -o .agent/tmp/pgo/merged.profdata .agent/tmp/pgo
143
143
 
144
144
  - name: Optimized build
145
- run: RUSTFLAGS="-Cprofile-use=/tmp/pgo/merged.profdata" cargo build --release
145
+ run: RUSTFLAGS="-Cprofile-use=.agent/tmp/pgo/merged.profdata" cargo build --release
146
146
 
147
147
  - name: Upload artifact
148
148
  uses: actions/upload-artifact@v4
@@ -11,7 +11,7 @@ Tests often need setup and teardown—creating temp files, starting servers, set
11
11
  ```rust
12
12
  #[test]
13
13
  fn test_with_temp_file() {
14
- let path = "/tmp/test_file.txt";
14
+ let path = ".agent/tmp/test_file.txt";
15
15
  std::fs::write(path, "test data").unwrap();
16
16
 
17
17
  let result = process_file(path);
@@ -132,7 +132,7 @@ use scopeguard::defer;
132
132
 
133
133
  #[test]
134
134
  fn test_with_defer() {
135
- let path = "/tmp/test_file.txt";
135
+ let path = ".agent/tmp/test_file.txt";
136
136
  std::fs::write(path, "data").unwrap();
137
137
 
138
138
  defer! {
@@ -32,6 +32,7 @@ digraph when_to_use {
32
32
  ```
33
33
 
34
34
  **vs. Executing Plans (parallel session):**
35
+
35
36
  - Same session (no context switch)
36
37
  - Fresh subagent per task (no context pollution)
37
38
  - Two-stage review after each task: spec compliance first, then code quality
@@ -95,6 +96,7 @@ Use the least powerful model that can handle each role to conserve cost and incr
95
96
  **Architecture, design, and review tasks**: use the most capable available model.
96
97
 
97
98
  **Task complexity signals:**
99
+
98
100
  - Touches 1-2 files with a complete spec → cheap model
99
101
  - Touches multiple files with integration concerns → standard model
100
102
  - Requires design judgment or broad codebase understanding → most capable model
@@ -110,6 +112,7 @@ Implementer subagents report one of four statuses. Handle each appropriately:
110
112
  **NEEDS_CONTEXT:** The implementer needs information that wasn't provided. Provide the missing context and re-dispatch.
111
113
 
112
114
  **BLOCKED:** The implementer cannot complete the task. Assess the blocker:
115
+
113
116
  1. If it's a context problem, provide more context and re-dispatch with the same model
114
117
  2. If the task requires more reasoning, re-dispatch with a more capable model
115
118
  3. If the task is too large, break it into smaller pieces
@@ -202,23 +205,27 @@ Done!
202
205
  ## Advantages
203
206
 
204
207
  **vs. Manual execution:**
208
+
205
209
  - Subagents follow TDD naturally
206
210
  - Fresh context per task (no confusion)
207
211
  - Parallel-safe (subagents don't interfere)
208
212
  - Subagent can ask questions (before AND during work)
209
213
 
210
214
  **vs. Executing Plans:**
215
+
211
216
  - Same session (no handoff)
212
217
  - Continuous progress (no waiting)
213
218
  - Review checkpoints automatic
214
219
 
215
220
  **Efficiency gains:**
221
+
216
222
  - No file reading overhead (controller provides full text)
217
223
  - Controller curates exactly what context is needed
218
224
  - Subagent gets complete information upfront
219
225
  - Questions surfaced before work begins (not after)
220
226
 
221
227
  **Quality gates:**
228
+
222
229
  - Self-review catches issues before handoff
223
230
  - Two-stage review: spec compliance, then code quality
224
231
  - Review loops ensure fixes actually work
@@ -226,6 +233,7 @@ Done!
226
233
  - Code quality ensures implementation is well-built
227
234
 
228
235
  **Cost:**
236
+
229
237
  - More subagent invocations (implementer + 2 reviewers per task)
230
238
  - Controller does more prep work (extracting all tasks upfront)
231
239
  - Review loops add iterations
@@ -234,6 +242,7 @@ Done!
234
242
  ## Red Flags
235
243
 
236
244
  **Never:**
245
+
237
246
  - Start implementation on main/master branch without explicit user consent
238
247
  - Skip reviews (spec compliance OR code quality)
239
248
  - Proceed with unfixed issues
@@ -248,35 +257,42 @@ Done!
248
257
  - Move to next task while either review has open issues
249
258
 
250
259
  **Before implementer commits:** Check `.agent/config.yml` for `auto_commit` setting.
260
+
251
261
  - If `auto_commit: true` (default): commit normally with `git add` + `git commit`
252
262
  - If `auto_commit: false`: skip commit and staging entirely. Print: "Skipping commit (auto_commit: false in .agent/config.yml). Files left as modified for manual commit."
253
263
 
254
264
  **If subagent asks questions:**
265
+
255
266
  - Answer clearly and completely
256
267
  - Provide additional context if needed
257
268
  - Don't rush them into implementation
258
269
 
259
270
  **If reviewer finds issues:**
271
+
260
272
  - Implementer (same subagent) fixes them
261
273
  - Reviewer reviews again
262
274
  - Repeat until approved
263
275
  - Don't skip the re-review
264
276
 
265
277
  **If subagent fails task:**
278
+
266
279
  - Dispatch fix subagent with specific instructions
267
280
  - Don't try to fix manually (context pollution)
268
281
 
269
282
  ## Integration
270
283
 
271
284
  **Required workflow skills:**
285
+
272
286
  - **superpowers:using-git-worktrees** - REQUIRED: Set up isolated workspace before starting
273
287
  - **superpowers:writing-plans** - Creates the plan this skill executes
274
288
  - **superpowers:requesting-code-review** - Code review template for reviewer subagents
275
289
  - **superpowers:finishing-a-development-branch** - Complete development after all tasks
276
290
 
277
291
  **Subagents should use:**
292
+
278
293
  - **superpowers:test-driven-development** - Subagents follow TDD for each task
279
294
  - **Domain skills matching the task context** - e.g. `mobile-developer` for React Native work, `backend-developer` for API work, `frontend-developer` for web UI. Include only the relevant SKILL.md in the implementer prompt context; load specific references on demand as the task requires them.
280
295
 
281
296
  **Alternative workflow:**
297
+
282
298
  - **superpowers:executing-plans** - Use for parallel session instead of same-session execution
@@ -28,13 +28,14 @@ Task tool (general-purpose):
28
28
 
29
29
  ## Your Job
30
30
 
31
+ Once you're clear on requirements:
31
32
  1. Implement exactly what the task specifies
32
33
  2. Write tests (following TDD if task says to)
33
34
  3. Verify implementation works
34
35
  4. Commit your work (if auto_commit is enabled)
35
- - Read `.agent/config.yml` to check the `auto_commit` setting
36
- - If `auto_commit: true` (or not set): `git add` changed files + `git commit`
37
- - If `auto_commit: false`: skip commit and staging entirely. Print: "Skipping commit (auto_commit: false in .agent/config.yml). Files left as modified for manual commit."
36
+ - Read `.agent/config.yml` check `auto_commit` setting
37
+ - If `auto_commit: true` (or not set): `git add` + `git commit`
38
+ - If `auto_commit: false`: skip commit and staging entirely, print "Skipping commit (auto_commit: false)."
38
39
  5. Self-review (see below)
39
40
  6. Report back
40
41
 
@@ -63,9 +63,10 @@ git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/d
63
63
 
64
64
  Per Jesse's rule "Fix broken things immediately":
65
65
  1. Add appropriate line to .gitignore
66
- 2. Commit the change (if auto_commit enabled)
67
- - Read `.agent/config.yml` — if `auto_commit: false`: skip commit, print "Skipping git operation (auto_commit: false)."
66
+ 2. Commit the change (if `auto_commit` is enabled):
67
+ - Read `.agent/config.yml` — check `auto_commit` setting
68
68
  - If `auto_commit: true` (or absent): `git add .gitignore && git commit -m "chore: ignore worktree directory"`
69
+ - If `auto_commit: false`: skip commit, print "Skipping git operation (auto_commit: false)."
69
70
  3. Proceed with worktree creation
70
71
 
71
72
  **Why critical:** Prevents accidentally committing worktree contents to repository.
@@ -19,21 +19,23 @@ This is not negotiable. This is not optional. You cannot rationalize your way ou
19
19
 
20
20
  Superpowers skills override default system prompt behavior, but **user instructions always take precedence**:
21
21
 
22
- 1. **User's explicit instructions** (GEMINI.md, AGENTS.md, direct requests) — highest priority
22
+ 1. **User's explicit instructions** (direct requests, project config) — highest priority
23
23
  2. **Superpowers skills** — override default system behavior where they conflict
24
24
  3. **Default system prompt** — lowest priority
25
25
 
26
- If 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.
26
+ If the user says "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control.
27
27
 
28
28
  ## How to Access Skills
29
29
 
30
- **In Antigravity:** Use `view_file` on `.agent/skills/<skill-name>/SKILL.md` to read a skill. Skills are detected automatically from their `description` field.
30
+ Use `view_file` on the skill's `SKILL.md`:
31
+ ```
32
+ .agent/skills/<skill-name>/SKILL.md
33
+ ```
34
+ Example: `.agent/skills/brainstorming/SKILL.md`
31
35
 
32
36
  ## Platform Adaptation
33
37
 
34
- This package is configured for **Google Antigravity**. Tool name mappings are handled automatically via `GEMINI.md` in your workspace.
35
-
36
- For tool name equivalents, see `references/antigravity-tools.md`.
38
+ This package is configured for **Google Antigravity**. Tool name equivalents are documented in `references/antigravity-tools.md`.
37
39
 
38
40
  # Using Skills
39
41
 
@@ -0,0 +1,52 @@
1
+ # Copilot CLI 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 | Copilot CLI equivalent |
6
+ |-----------------|----------------------|
7
+ | `Read` (file reading) | `view` |
8
+ | `Write` (file creation) | `create` |
9
+ | `Edit` (file editing) | `edit` |
10
+ | `Bash` (run commands) | `bash` |
11
+ | `Grep` (search file content) | `grep` |
12
+ | `Glob` (search files by name) | `glob` |
13
+ | `Skill` tool (invoke a skill) | `skill` |
14
+ | `WebFetch` | `web_fetch` |
15
+ | `Task` tool (dispatch subagent) | `task` (see [Agent types](#agent-types)) |
16
+ | Multiple `Task` calls (parallel) | Multiple `task` calls |
17
+ | Task status/output | `read_agent`, `list_agents` |
18
+ | `TodoWrite` (task tracking) | `sql` with built-in `todos` table |
19
+ | `WebSearch` | No equivalent — use `web_fetch` with a search engine URL |
20
+ | `EnterPlanMode` / `ExitPlanMode` | No equivalent — stay in the main session |
21
+
22
+ ## Agent types
23
+
24
+ Copilot CLI's `task` tool accepts an `agent_type` parameter:
25
+
26
+ | Claude Code agent | Copilot CLI equivalent |
27
+ |-------------------|----------------------|
28
+ | `general-purpose` | `"general-purpose"` |
29
+ | `Explore` | `"explore"` |
30
+ | Named plugin agents (e.g. `superpowers:code-reviewer`) | Discovered automatically from installed plugins |
31
+
32
+ ## Async shell sessions
33
+
34
+ Copilot CLI supports persistent async shell sessions, which have no direct Claude Code equivalent:
35
+
36
+ | Tool | Purpose |
37
+ |------|---------|
38
+ | `bash` with `async: true` | Start a long-running command in the background |
39
+ | `write_bash` | Send input to a running async session |
40
+ | `read_bash` | Read output from an async session |
41
+ | `stop_bash` | Terminate an async session |
42
+ | `list_bash` | List all active shell sessions |
43
+
44
+ ## Additional Copilot CLI tools
45
+
46
+ | Tool | Purpose |
47
+ |------|---------|
48
+ | `store_memory` | Persist facts about the codebase for future sessions |
49
+ | `report_intent` | Update the UI status line with current intent |
50
+ | `sql` | Query the session's SQLite database (todos, metadata) |
51
+ | `fetch_copilot_cli_documentation` | Look up Copilot CLI documentation |
52
+ | GitHub MCP tools (`github-mcp-server-*`) | Native GitHub API access (issues, PRs, code search) |
@@ -97,13 +97,15 @@ Expected: PASS
97
97
 
98
98
  - [ ] **Step 5: Commit (if auto_commit enabled)**
99
99
 
100
- Check `.agent/config.yml` for `auto_commit` setting:
101
- - If `auto_commit: true` (default):
100
+ Check `.agent/config.yml` for `auto_commit` setting.
101
+
102
+ If `auto_commit: true` (default when absent):
102
103
  ```bash
103
104
  git add tests/path/test.py src/path/file.py
104
105
  git commit -m "feat: add specific feature"
105
106
  ```
106
- - If `auto_commit: false`: skip commit and staging. Print: "Skipping commit (auto_commit: false)."
107
+
108
+ If `auto_commit: false`: skip commit and staging. Print: "Skipping commit (auto_commit: false)."
107
109
  ````
108
110
 
109
111
  ## No Placeholders
@@ -9,7 +9,7 @@ description: Use when creating new skills, editing existing skills, or verifying
9
9
 
10
10
  **Writing skills IS Test-Driven Development applied to process documentation.**
11
11
 
12
- **Personal skills live in agent-specific directories (`~/.agent/skills` for Antigravity)**
12
+ **Personal skills live in `~/.agent/skills`**
13
13
 
14
14
  You write test cases (pressure scenarios with subagents), watch them fail (baseline behavior), write the skill (documentation), watch tests pass (agents comply), and refactor (close loopholes).
15
15
 
@@ -145,7 +145,7 @@ Forces explicit choice.
145
145
 
146
146
  1. **Concrete options** - Force A/B/C choice, not open-ended
147
147
  2. **Real constraints** - Specific times, actual consequences
148
- 3. **Real file paths** - `/tmp/payment-system` not "a project"
148
+ 3. **Real file paths** - `.agent/tmp/payment-system` not "a project"
149
149
  4. **Make agent act** - "What do you do?" not "What should you do?"
150
150
  5. **No easy outs** - Can't defer to "I'd ask your human partner" without choosing
151
151
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "tag": "v5.0.6",
3
- "updated_at": "2026-03-28T11:32:19Z",
2
+ "tag": "v5.0.7",
3
+ "updated_at": "2026-04-02T12:29:10Z",
4
4
  "source": "https://github.com/obra/superpowers"
5
5
  }
@@ -0,0 +1,9 @@
1
+ # Antigravity Superpowers — Project Config
2
+ #
3
+ # Configure per-project behavior by editing this file.
4
+ # Skills read this file to determine how to behave in this project.
5
+
6
+ # auto_commit: true | false
7
+ # When true (default), AI automatically commits after completing tasks and writing design docs.
8
+ # When false, all git commits and staging are skipped; files are left as modified for manual commit.
9
+ auto_commit: false
@@ -8,13 +8,13 @@ This workflow has two phases:
8
8
 
9
9
  // turbo
10
10
  1. Preserve user config (if exists):
11
- `[ -f .agent/config.yml ] && cp .agent/config.yml /tmp/agent-config-backup.yml && echo "Config backed up" || echo "No config to backup"`
11
+ `mkdir -p .agent/tmp && [ -f .agent/config.yml ] && cp .agent/config.yml .agent/tmp/agent-config-backup.yml && echo "Config backed up" || echo "No config to backup"`
12
12
 
13
13
  // turbo
14
14
  2. Run the update script:
15
15
  `bash .agent/.shared/update-superpowers.sh`
16
16
 
17
- - If output ends with "Already up to date" → restore config if backed up (`[ -f /tmp/agent-config-backup.yml ] && cp /tmp/agent-config-backup.yml .agent/config.yml`), then **STOP**. Nothing to do.
17
+ - If output ends with "Already up to date" → restore config if backed up (`[ -f .agent/tmp/agent-config-backup.yml ] && cp .agent/tmp/agent-config-backup.yml .agent/config.yml`), then **STOP**. Nothing to do.
18
18
  - If clone fails → restore config if backed up, then **STOP**. Report the error to the user.
19
19
  - On success the script prints `SCRIPT_DONE:<new-tag>` — note the new tag and continue.
20
20
 
@@ -24,7 +24,7 @@ This workflow has two phases:
24
24
 
25
25
  // turbo
26
26
  4. Restore user config:
27
- `[ -f /tmp/agent-config-backup.yml ] && cp /tmp/agent-config-backup.yml .agent/config.yml && echo "Config restored" || echo "No config to restore"`
27
+ `[ -f .agent/tmp/agent-config-backup.yml ] && cp .agent/tmp/agent-config-backup.yml .agent/config.yml && echo "Config restored" || echo "No config to restore"`
28
28
 
29
29
  5. **Phase 2 — Update skill list in rules**
30
30