From e9f518828911f85dd313eb2ac4824075bbc70d7b Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 23 May 2026 16:42:13 -0700 Subject: [PATCH] Make visual-companion.md script paths skill-rooted, not plugin-rooted Issue #1134: agents reading visual-companion.md see bare commands like `scripts/start-server.sh`, correctly identify the plugin install directory, then look for `/scripts/start-server.sh` instead of `/skills/brainstorming/scripts/start-server.sh`. The file doesn't exist at the plugin-rooted path, so the agent concludes the visual companion isn't available and falls back to text-only brainstorming. Multiple independent reproductions in the issue thread, plus one user's agent self-reported: "I assumed the scripts folder was in the root directory of the plugin, it didn't realize it could have been talking about the skill folder itself." Change all `scripts/` references in visual-companion.md to `skills/brainstorming/scripts/`. Agents that correctly identify the plugin root will now join to the right path. Closes #1134. --- skills/brainstorming/visual-companion.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/skills/brainstorming/visual-companion.md b/skills/brainstorming/visual-companion.md index 4b4d9db7..6230d0cc 100644 --- a/skills/brainstorming/visual-companion.md +++ b/skills/brainstorming/visual-companion.md @@ -34,7 +34,7 @@ The server watches a directory for HTML files and serves the newest one to the b ```bash # Start server with persistence (mockups saved to project) -scripts/start-server.sh --project-dir /path/to/project +skills/brainstorming/scripts/start-server.sh --project-dir /path/to/project # Returns: {"type":"server-started","port":52341,"url":"http://localhost:52341", # "screen_dir":"/path/to/project/.superpowers/brainstorm/12345-1706000000/content", @@ -52,7 +52,7 @@ Save `screen_dir` and `state_dir` from the response. Tell user to open the URL. **Claude Code:** ```bash # Default mode works — the script backgrounds the server itself. -scripts/start-server.sh --project-dir /path/to/project +skills/brainstorming/scripts/start-server.sh --project-dir /path/to/project ``` On Windows, the script auto-detects and switches to foreground mode (which blocks the tool call). Use `run_in_background: true` on the Bash tool call so the server survives across conversation turns, then read `$STATE_DIR/server-info` on the next turn to get the URL and port. @@ -61,14 +61,14 @@ On Windows, the script auto-detects and switches to foreground mode (which block ```bash # Codex reaps background processes. The script auto-detects CODEX_CI and # switches to foreground mode. Run it normally — no extra flags needed. -scripts/start-server.sh --project-dir /path/to/project +skills/brainstorming/scripts/start-server.sh --project-dir /path/to/project ``` **Gemini CLI:** ```bash # Use --foreground and set is_background: true on your shell tool call # so the process survives across turns -scripts/start-server.sh --project-dir /path/to/project --foreground +skills/brainstorming/scripts/start-server.sh --project-dir /path/to/project --foreground ``` **Copilot CLI:** @@ -76,7 +76,7 @@ scripts/start-server.sh --project-dir /path/to/project --foreground # Use --foreground and start the server via the bash tool with mode: "async" # so the process survives across turns. Capture the returned shellId for # read_bash / stop_bash if you need to interact with it later. -scripts/start-server.sh --project-dir /path/to/project --foreground +skills/brainstorming/scripts/start-server.sh --project-dir /path/to/project --foreground ``` **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. @@ -84,7 +84,7 @@ scripts/start-server.sh --project-dir /path/to/project --foreground If the URL is unreachable from your browser (common in remote/containerized setups), bind a non-loopback host: ```bash -scripts/start-server.sh \ +skills/brainstorming/scripts/start-server.sh \ --project-dir /path/to/project \ --host 0.0.0.0 \ --url-host localhost @@ -277,12 +277,12 @@ If `$STATE_DIR/events` doesn't exist, the user didn't interact with the browser ## Cleaning Up ```bash -scripts/stop-server.sh $SESSION_DIR +skills/brainstorming/scripts/stop-server.sh $SESSION_DIR ``` If the session used `--project-dir`, mockup files persist in `.superpowers/brainstorm/` for later reference. Only `/tmp` sessions get deleted on stop. ## Reference -- Frame template (CSS reference): `scripts/frame-template.html` -- Helper script (client-side): `scripts/helper.js` +- Frame template (CSS reference): `skills/brainstorming/scripts/frame-template.html` +- Helper script (client-side): `skills/brainstorming/scripts/helper.js`