Ver Fonte

Move brainstorm-server into skill directory per agentskills spec

Moves lib/brainstorm-server/ → skills/brainstorming/scripts/ so the
brainstorming skill uses relative paths (scripts/start-server.sh) instead
of ${CLAUDE_PLUGIN_ROOT}/lib/brainstorm-server/. This follows the
agentskills.io specification for portable, cross-platform skills.

Updates visual-companion.md references and test paths. All tests pass.
Jesse Vincent há 6 meses atrás
pai
commit
419889b0d3

+ 0 - 0
lib/brainstorm-server/frame-template.html → skills/brainstorming/scripts/frame-template.html


+ 0 - 0
lib/brainstorm-server/helper.js → skills/brainstorming/scripts/helper.js


+ 0 - 0
lib/brainstorm-server/index.js → skills/brainstorming/scripts/index.js


+ 0 - 0
lib/brainstorm-server/package-lock.json → skills/brainstorming/scripts/package-lock.json


+ 0 - 0
lib/brainstorm-server/package.json → skills/brainstorming/scripts/package.json


+ 0 - 0
lib/brainstorm-server/start-server.sh → skills/brainstorming/scripts/start-server.sh


+ 0 - 0
lib/brainstorm-server/stop-server.sh → skills/brainstorming/scripts/stop-server.sh


+ 6 - 6
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)
-${CLAUDE_PLUGIN_ROOT}/lib/brainstorm-server/start-server.sh --project-dir /path/to/project
+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"}
@@ -49,7 +49,7 @@ Save `screen_dir` from the response. Tell user to open the URL.
 **If background processes are reaped in your environment:** run in foreground from a persistent terminal session:
 
 ```bash
-${CLAUDE_PLUGIN_ROOT}/lib/brainstorm-server/start-server.sh --project-dir /path/to/project --foreground
+scripts/start-server.sh --project-dir /path/to/project --foreground
 ```
 
 In `--foreground` mode, the command stays attached and serves until interrupted.
@@ -57,7 +57,7 @@ In `--foreground` mode, the command stays attached and serves until interrupted.
 If the URL is unreachable from your browser (common in remote/containerized setups), bind a non-loopback host:
 
 ```bash
-${CLAUDE_PLUGIN_ROOT}/lib/brainstorm-server/start-server.sh \
+scripts/start-server.sh \
   --project-dir /path/to/project \
   --host 0.0.0.0 \
   --url-host localhost
@@ -249,12 +249,12 @@ If `.events` doesn't exist, the user didn't interact with the browser — use on
 ## Cleaning Up
 
 ```bash
-${CLAUDE_PLUGIN_ROOT}/lib/brainstorm-server/stop-server.sh $SCREEN_DIR
+scripts/stop-server.sh $SCREEN_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): `${CLAUDE_PLUGIN_ROOT}/lib/brainstorm-server/frame-template.html`
-- Helper script (client-side): `${CLAUDE_PLUGIN_ROOT}/lib/brainstorm-server/helper.js`
+- Frame template (CSS reference): `scripts/frame-template.html`
+- Helper script (client-side): `scripts/helper.js`

+ 3 - 3
tests/brainstorm-server/server.test.js

@@ -5,7 +5,7 @@ const fs = require('fs');
 const path = require('path');
 const assert = require('assert');
 
-const SERVER_PATH = path.join(__dirname, '../../lib/brainstorm-server/index.js');
+const SERVER_PATH = path.join(__dirname, '../../skills/brainstorming/scripts/index.js');
 const TEST_PORT = 3334;
 const TEST_DIR = '/tmp/brainstorm-test';
 
@@ -160,7 +160,7 @@ async function runTests() {
     // Test 7: Helper.js includes toggleSelect and send functions
     console.log('Test 7: Helper.js provides toggleSelect and send');
     const helperContent = fs.readFileSync(
-      path.join(__dirname, '../../lib/brainstorm-server/helper.js'), 'utf-8'
+      path.join(__dirname, '../../skills/brainstorming/scripts/helper.js'), 'utf-8'
     );
     assert(helperContent.includes('toggleSelect'), 'helper.js should define toggleSelect');
     assert(helperContent.includes('sendEvent'), 'helper.js should define sendEvent');
@@ -172,7 +172,7 @@ async function runTests() {
     // Test 8: Indicator bar uses CSS variables (theme support)
     console.log('Test 8: Indicator bar uses CSS variables');
     const templateContent = fs.readFileSync(
-      path.join(__dirname, '../../lib/brainstorm-server/frame-template.html'), 'utf-8'
+      path.join(__dirname, '../../skills/brainstorming/scripts/frame-template.html'), 'utf-8'
     );
     assert(templateContent.includes('indicator-bar'), 'Template should have indicator bar');
     assert(templateContent.includes('indicator-text'), 'Template should have indicator text element');