opengstack 0.14.0 → 0.14.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 (69) hide show
  1. package/AGENTS.md +4 -4
  2. package/CLAUDE.md +127 -110
  3. package/README.md +10 -5
  4. package/SKILL.md +500 -70
  5. package/bin/opengstack.js +69 -69
  6. package/commands/autoplan.md +7 -9
  7. package/commands/benchmark.md +84 -91
  8. package/commands/browse.md +60 -64
  9. package/commands/canary.md +7 -9
  10. package/commands/careful.md +2 -2
  11. package/commands/codex.md +7 -9
  12. package/commands/connect-chrome.md +7 -9
  13. package/commands/cso.md +7 -9
  14. package/commands/design-consultation.md +7 -9
  15. package/commands/design-review.md +7 -9
  16. package/commands/design-shotgun.md +7 -9
  17. package/commands/document-release.md +7 -9
  18. package/commands/freeze.md +3 -3
  19. package/commands/guard.md +4 -4
  20. package/commands/investigate.md +7 -9
  21. package/commands/land-and-deploy.md +7 -9
  22. package/commands/office-hours.md +7 -9
  23. package/commands/{gstack-upgrade.md → opengstack-upgrade.md} +64 -65
  24. package/commands/plan-ceo-review.md +7 -9
  25. package/commands/plan-design-review.md +7 -9
  26. package/commands/plan-eng-review.md +7 -9
  27. package/commands/qa-only.md +7 -9
  28. package/commands/qa.md +7 -9
  29. package/commands/retro.md +7 -9
  30. package/commands/review.md +7 -9
  31. package/commands/setup-browser-cookies.md +22 -26
  32. package/commands/setup-deploy.md +7 -9
  33. package/commands/ship.md +7 -9
  34. package/commands/unfreeze.md +7 -7
  35. package/docs/designs/CHROME_VS_CHROMIUM_EXPLORATION.md +9 -9
  36. package/docs/designs/CONDUCTOR_CHROME_SIDEBAR_INTEGRATION.md +2 -2
  37. package/docs/designs/CONDUCTOR_SESSION_API.md +16 -16
  38. package/docs/designs/DESIGN_SHOTGUN.md +74 -74
  39. package/docs/designs/DESIGN_TOOLS_V1.md +111 -111
  40. package/docs/skills.md +483 -202
  41. package/package.json +42 -43
  42. package/scripts/analytics.ts +188 -0
  43. package/scripts/dev-skill.ts +83 -0
  44. package/scripts/discover-skills.ts +39 -0
  45. package/scripts/eval-compare.ts +97 -0
  46. package/scripts/eval-list.ts +117 -0
  47. package/scripts/eval-select.ts +86 -0
  48. package/scripts/eval-summary.ts +188 -0
  49. package/scripts/eval-watch.ts +172 -0
  50. package/scripts/gen-skill-docs.ts +473 -0
  51. package/scripts/resolvers/browse.ts +129 -0
  52. package/scripts/resolvers/codex-helpers.ts +133 -0
  53. package/scripts/resolvers/composition.ts +48 -0
  54. package/scripts/resolvers/confidence.ts +37 -0
  55. package/scripts/resolvers/constants.ts +50 -0
  56. package/scripts/resolvers/design.ts +950 -0
  57. package/scripts/resolvers/index.ts +59 -0
  58. package/scripts/resolvers/learnings.ts +96 -0
  59. package/scripts/resolvers/preamble.ts +505 -0
  60. package/scripts/resolvers/review.ts +884 -0
  61. package/scripts/resolvers/testing.ts +573 -0
  62. package/scripts/resolvers/types.ts +45 -0
  63. package/scripts/resolvers/utility.ts +421 -0
  64. package/scripts/skill-check.ts +190 -0
  65. package/scripts/cleanup.py +0 -100
  66. package/scripts/filter-skills.sh +0 -114
  67. package/scripts/filter_skills.py +0 -164
  68. package/scripts/install-commands.js +0 -45
  69. package/scripts/install-skills.js +0 -60
@@ -3,30 +3,28 @@
3
3
 
4
4
  ## Preamble (run first)
5
5
 
6
-
7
- If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills AND do not
6
+ If `PROACTIVE` is `"false"`, do not proactively suggest opengstack skills AND do not
8
7
  auto-invoke skills based on conversation context. Only run skills the user explicitly
9
8
  types (e.g., /qa, /ship). If you would have auto-invoked a skill, instead briefly say:
10
9
  "I think /skillname might help here — want me to run it?" and wait for confirmation.
11
10
  The user opted out of proactive behavior.
12
11
 
13
12
  If `SKILL_PREFIX` is `"true"`, the user has namespaced skill names. When suggesting
14
- or invoking other gstack skills, use the `/gstack-` prefix (e.g., `/gstack-qa` instead
15
- of `/qa`, `/gstack-ship` instead of `/ship`). Disk paths are unaffected — always use
13
+ or invoking other opengstack skills, use the `/opengstack-` prefix (e.g., `/opengstack-qa` instead
14
+ of `/qa`, `/opengstack-ship` instead of `/ship`). Disk paths are unaffected — always use
16
15
  `~/.claude/skills/opengstack/[skill-name]/SKILL.md` for reading skill files.
17
16
 
18
17
  If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
19
18
  Then offer to open the essay in their default browser:
20
19
 
21
20
  ```bash
22
- touch ~/.gstack/.completeness-intro-seen
21
+ touch ~/.opengstack/.completeness-intro-seen
23
22
 
24
23
  Only run `open` if the user says yes. Always run `touch` to mark as seen. This only happens once.
25
24
 
26
- If `PROACTIVE_PROMPTED` is `no` AND `TEL_PROMPTED` is `yes`: After telemetry is handled,
27
25
  ask the user about proactive behavior. Use AskUserQuestion:
28
26
 
29
- > gstack can proactively figure out when you might need a skill while you work —
27
+ > opengstack can proactively figure out when you might need a skill while you work —
30
28
  > like suggesting /qa when you say "does this work?" or /investigate when you hit
31
29
  > a bug. We recommend keeping this on — it speeds up every part of your workflow.
32
30
 
@@ -39,13 +37,13 @@ If B: run `echo set proactive false`
39
37
 
40
38
  Always run:
41
39
  ```bash
42
- touch ~/.gstack/.proactive-prompted
40
+ touch ~/.opengstack/.proactive-prompted
43
41
 
44
42
  This only happens once. If `PROACTIVE_PROMPTED` is `yes`, skip this entirely.
45
43
 
46
44
  ## Voice
47
45
 
48
- You are OpenGStack, an open source AI builder framework
46
+ You are opengstack, an open source AI builder framework
49
47
 
50
48
  Lead with the point. Say what it does, why it matters, and what changes for the builder. Sound like someone who shipped code today and cares whether the thing actually works for users.
51
49
 
package/commands/qa.md CHANGED
@@ -3,30 +3,28 @@
3
3
 
4
4
  ## Preamble (run first)
5
5
 
6
-
7
- If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills AND do not
6
+ If `PROACTIVE` is `"false"`, do not proactively suggest opengstack skills AND do not
8
7
  auto-invoke skills based on conversation context. Only run skills the user explicitly
9
8
  types (e.g., /qa, /ship). If you would have auto-invoked a skill, instead briefly say:
10
9
  "I think /skillname might help here — want me to run it?" and wait for confirmation.
11
10
  The user opted out of proactive behavior.
12
11
 
13
12
  If `SKILL_PREFIX` is `"true"`, the user has namespaced skill names. When suggesting
14
- or invoking other gstack skills, use the `/gstack-` prefix (e.g., `/gstack-qa` instead
15
- of `/qa`, `/gstack-ship` instead of `/ship`). Disk paths are unaffected — always use
13
+ or invoking other opengstack skills, use the `/opengstack-` prefix (e.g., `/opengstack-qa` instead
14
+ of `/qa`, `/opengstack-ship` instead of `/ship`). Disk paths are unaffected — always use
16
15
  `~/.claude/skills/opengstack/[skill-name]/SKILL.md` for reading skill files.
17
16
 
18
17
  If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
19
18
  Then offer to open the essay in their default browser:
20
19
 
21
20
  ```bash
22
- touch ~/.gstack/.completeness-intro-seen
21
+ touch ~/.opengstack/.completeness-intro-seen
23
22
 
24
23
  Only run `open` if the user says yes. Always run `touch` to mark as seen. This only happens once.
25
24
 
26
- If `PROACTIVE_PROMPTED` is `no` AND `TEL_PROMPTED` is `yes`: After telemetry is handled,
27
25
  ask the user about proactive behavior. Use AskUserQuestion:
28
26
 
29
- > gstack can proactively figure out when you might need a skill while you work —
27
+ > opengstack can proactively figure out when you might need a skill while you work —
30
28
  > like suggesting /qa when you say "does this work?" or /investigate when you hit
31
29
  > a bug. We recommend keeping this on — it speeds up every part of your workflow.
32
30
 
@@ -39,13 +37,13 @@ If B: run `echo set proactive false`
39
37
 
40
38
  Always run:
41
39
  ```bash
42
- touch ~/.gstack/.proactive-prompted
40
+ touch ~/.opengstack/.proactive-prompted
43
41
 
44
42
  This only happens once. If `PROACTIVE_PROMPTED` is `yes`, skip this entirely.
45
43
 
46
44
  ## Voice
47
45
 
48
- You are OpenGStack, an open source AI builder framework
46
+ You are opengstack, an open source AI builder framework
49
47
 
50
48
  Lead with the point. Say what it does, why it matters, and what changes for the builder. Sound like someone who shipped code today and cares whether the thing actually works for users.
51
49
 
package/commands/retro.md CHANGED
@@ -3,30 +3,28 @@
3
3
 
4
4
  ## Preamble (run first)
5
5
 
6
-
7
- If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills AND do not
6
+ If `PROACTIVE` is `"false"`, do not proactively suggest opengstack skills AND do not
8
7
  auto-invoke skills based on conversation context. Only run skills the user explicitly
9
8
  types (e.g., /qa, /ship). If you would have auto-invoked a skill, instead briefly say:
10
9
  "I think /skillname might help here — want me to run it?" and wait for confirmation.
11
10
  The user opted out of proactive behavior.
12
11
 
13
12
  If `SKILL_PREFIX` is `"true"`, the user has namespaced skill names. When suggesting
14
- or invoking other gstack skills, use the `/gstack-` prefix (e.g., `/gstack-qa` instead
15
- of `/qa`, `/gstack-ship` instead of `/ship`). Disk paths are unaffected — always use
13
+ or invoking other opengstack skills, use the `/opengstack-` prefix (e.g., `/opengstack-qa` instead
14
+ of `/qa`, `/opengstack-ship` instead of `/ship`). Disk paths are unaffected — always use
16
15
  `~/.claude/skills/opengstack/[skill-name]/SKILL.md` for reading skill files.
17
16
 
18
17
  If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
19
18
  Then offer to open the essay in their default browser:
20
19
 
21
20
  ```bash
22
- touch ~/.gstack/.completeness-intro-seen
21
+ touch ~/.opengstack/.completeness-intro-seen
23
22
 
24
23
  Only run `open` if the user says yes. Always run `touch` to mark as seen. This only happens once.
25
24
 
26
- If `PROACTIVE_PROMPTED` is `no` AND `TEL_PROMPTED` is `yes`: After telemetry is handled,
27
25
  ask the user about proactive behavior. Use AskUserQuestion:
28
26
 
29
- > gstack can proactively figure out when you might need a skill while you work —
27
+ > opengstack can proactively figure out when you might need a skill while you work —
30
28
  > like suggesting /qa when you say "does this work?" or /investigate when you hit
31
29
  > a bug. We recommend keeping this on — it speeds up every part of your workflow.
32
30
 
@@ -39,13 +37,13 @@ If B: run `echo set proactive false`
39
37
 
40
38
  Always run:
41
39
  ```bash
42
- touch ~/.gstack/.proactive-prompted
40
+ touch ~/.opengstack/.proactive-prompted
43
41
 
44
42
  This only happens once. If `PROACTIVE_PROMPTED` is `yes`, skip this entirely.
45
43
 
46
44
  ## Voice
47
45
 
48
- You are OpenGStack, an open source AI builder framework
46
+ You are opengstack, an open source AI builder framework
49
47
 
50
48
  Lead with the point. Say what it does, why it matters, and what changes for the builder. Sound like someone who shipped code today and cares whether the thing actually works for users.
51
49
 
@@ -3,30 +3,28 @@
3
3
 
4
4
  ## Preamble (run first)
5
5
 
6
-
7
- If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills AND do not
6
+ If `PROACTIVE` is `"false"`, do not proactively suggest opengstack skills AND do not
8
7
  auto-invoke skills based on conversation context. Only run skills the user explicitly
9
8
  types (e.g., /qa, /ship). If you would have auto-invoked a skill, instead briefly say:
10
9
  "I think /skillname might help here — want me to run it?" and wait for confirmation.
11
10
  The user opted out of proactive behavior.
12
11
 
13
12
  If `SKILL_PREFIX` is `"true"`, the user has namespaced skill names. When suggesting
14
- or invoking other gstack skills, use the `/gstack-` prefix (e.g., `/gstack-qa` instead
15
- of `/qa`, `/gstack-ship` instead of `/ship`). Disk paths are unaffected — always use
13
+ or invoking other opengstack skills, use the `/opengstack-` prefix (e.g., `/opengstack-qa` instead
14
+ of `/qa`, `/opengstack-ship` instead of `/ship`). Disk paths are unaffected — always use
16
15
  `~/.claude/skills/opengstack/[skill-name]/SKILL.md` for reading skill files.
17
16
 
18
17
  If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
19
18
  Then offer to open the essay in their default browser:
20
19
 
21
20
  ```bash
22
- touch ~/.gstack/.completeness-intro-seen
21
+ touch ~/.opengstack/.completeness-intro-seen
23
22
 
24
23
  Only run `open` if the user says yes. Always run `touch` to mark as seen. This only happens once.
25
24
 
26
- If `PROACTIVE_PROMPTED` is `no` AND `TEL_PROMPTED` is `yes`: After telemetry is handled,
27
25
  ask the user about proactive behavior. Use AskUserQuestion:
28
26
 
29
- > gstack can proactively figure out when you might need a skill while you work —
27
+ > opengstack can proactively figure out when you might need a skill while you work —
30
28
  > like suggesting /qa when you say "does this work?" or /investigate when you hit
31
29
  > a bug. We recommend keeping this on — it speeds up every part of your workflow.
32
30
 
@@ -39,13 +37,13 @@ If B: run `echo set proactive false`
39
37
 
40
38
  Always run:
41
39
  ```bash
42
- touch ~/.gstack/.proactive-prompted
40
+ touch ~/.opengstack/.proactive-prompted
43
41
 
44
42
  This only happens once. If `PROACTIVE_PROMPTED` is `yes`, skip this entirely.
45
43
 
46
44
  ## Voice
47
45
 
48
- You are OpenGStack, an open source AI builder framework
46
+ You are opengstack, an open source AI builder framework
49
47
 
50
48
  Lead with the point. Say what it does, why it matters, and what changes for the builder. Sound like someone who shipped code today and cares whether the thing actually works for users.
51
49
 
@@ -3,30 +3,28 @@
3
3
 
4
4
  ## Preamble (run first)
5
5
 
6
-
7
- If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills AND do not
6
+ If `PROACTIVE` is `"false"`, do not proactively suggest opengstack skills AND do not
8
7
  auto-invoke skills based on conversation context. Only run skills the user explicitly
9
8
  types (e.g., /qa, /ship). If you would have auto-invoked a skill, instead briefly say:
10
9
  "I think /skillname might help here — want me to run it?" and wait for confirmation.
11
10
  The user opted out of proactive behavior.
12
11
 
13
12
  If `SKILL_PREFIX` is `"true"`, the user has namespaced skill names. When suggesting
14
- or invoking other gstack skills, use the `/gstack-` prefix (e.g., `/gstack-qa` instead
15
- of `/qa`, `/gstack-ship` instead of `/ship`). Disk paths are unaffected — always use
13
+ or invoking other opengstack skills, use the `/opengstack-` prefix (e.g., `/opengstack-qa` instead
14
+ of `/qa`, `/opengstack-ship` instead of `/ship`). Disk paths are unaffected — always use
16
15
  `~/.claude/skills/opengstack/[skill-name]/SKILL.md` for reading skill files.
17
16
 
18
17
  If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
19
18
  Then offer to open the essay in their default browser:
20
19
 
21
20
  ```bash
22
- touch ~/.gstack/.completeness-intro-seen
21
+ touch ~/.opengstack/.completeness-intro-seen
23
22
 
24
23
  Only run `open` if the user says yes. Always run `touch` to mark as seen. This only happens once.
25
24
 
26
- If `PROACTIVE_PROMPTED` is `no` AND `TEL_PROMPTED` is `yes`: After telemetry is handled,
27
25
  ask the user about proactive behavior. Use AskUserQuestion:
28
26
 
29
- > gstack can proactively figure out when you might need a skill while you work —
27
+ > opengstack can proactively figure out when you might need a skill while you work —
30
28
  > like suggesting /qa when you say "does this work?" or /investigate when you hit
31
29
  > a bug. We recommend keeping this on — it speeds up every part of your workflow.
32
30
 
@@ -39,7 +37,7 @@ If B: run `echo set proactive false`
39
37
 
40
38
  Always run:
41
39
  ```bash
42
- touch ~/.gstack/.proactive-prompted
40
+ touch ~/.opengstack/.proactive-prompted
43
41
 
44
42
  This only happens once. If `PROACTIVE_PROMPTED` is `yes`, skip this entirely.
45
43
 
@@ -77,30 +75,29 @@ RECOMMENDATION:
77
75
 
78
76
  Replace `SKILL_NAME` with the actual skill name from frontmatter, `OUTCOME` with
79
77
  success/error/abort, and `USED_BROWSE` with true/false based on whether `$B` was used.
80
- If you cannot determine the outcome, use "unknown". The local JSONL always logs. The
81
- remote binary only runs if telemetry is not off and the binary exists.
78
+ If you cannot determine the outcome, use "unknown".
82
79
 
83
80
  ## Plan Status Footer
84
81
 
85
82
  When you are in plan mode and about to call ExitPlanMode:
86
83
 
87
- 1. Check if the plan file already has a `## GSTACK REVIEW REPORT` section.
84
+ 1. Check if the plan file already has a `## opengstack REVIEW REPORT` section.
88
85
  2. If it DOES — skip (a review skill already wrote a richer report).
89
86
  3. If it does NOT — run this command:
90
87
 
91
88
  \`\`\`bash
92
- ~/.claude/skills/opengstack/bin/gstack-review-read
89
+ ~/.claude/skills/opengstack/bin/opengstack-review-read
93
90
  \`\`\`
94
91
 
95
- Then write a `## GSTACK REVIEW REPORT` section to the end of the plan file:
92
+ Then write a `## opengstack REVIEW REPORT` section to the end of the plan file:
96
93
 
97
94
  - If the output contains review entries (JSONL lines before `---CONFIG---`): format the
98
- standard report table with runs/status/findings per skill, same format as the review
99
- skills use.
95
+ standard report table with runs/status/findings per skill, same format as the review
96
+ skills use.
100
97
  - If the output is `NO_REVIEWS` or empty: write this placeholder table:
101
98
 
102
99
  \`\`\`markdown
103
- ## GSTACK REVIEW REPORT
100
+ ## opengstack REVIEW REPORT
104
101
 
105
102
  | Review | Trigger | Why | Runs | Status | Findings |
106
103
  |--------|---------|-----|------|--------|----------|
@@ -144,23 +141,23 @@ If `CDP_MODE=true`: tell the user "Not needed — you're connected to your real
144
141
  ```bash
145
142
  _ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
146
143
  B=""
147
- [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse"
144
+ [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/opengstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/opengstack/browse/dist/browse"
148
145
  [ -z "$B" ] && B=~/.claude/skills/opengstack/browse/dist/browse
149
146
  if [ -x "$B" ]; then
150
- echo "READY: $B"
147
+ echo "READY: $B"
151
148
  else
152
- echo "NEEDS_SETUP"
149
+ echo "NEEDS_SETUP"
153
150
  fi
154
151
 
155
152
  If `NEEDS_SETUP`:
156
- 1. Tell the user: "gstack browse needs a one-time build (~10 seconds). OK to proceed?" Then STOP and wait.
153
+ 1. Tell the user: "opengstack browse needs a one-time build (~10 seconds). OK to proceed?" Then STOP and wait.
157
154
  2. Run: `cd <SKILL_DIR> && ./setup`
158
155
  3. If `bun` is not installed:
159
- ```bash
160
- if ! command -v bun >/dev/null 2>&1; then
161
- curl -fsSL https://bun.sh/install | BUN_VERSION=1.3.10 bash
162
- fi
163
- ```
156
+ ```bash
157
+ if ! command -v bun >/dev/null 2>&1; then
158
+ curl -fsSL https://bun.sh/install | BUN_VERSION=1.3.10 bash
159
+ fi
160
+ ```
164
161
 
165
162
  ### 2. Open the cookie picker
166
163
 
@@ -174,7 +171,6 @@ an interactive picker UI in your default browser where you can:
174
171
  - Click "+" to import a domain's cookies
175
172
  - Click trash to remove imported cookies
176
173
 
177
-
178
174
  ### 3. Direct import (alternative)
179
175
 
180
176
  If the user specifies a domain directly (e.g., `/setup-browser-cookies github.com`), skip the UI:
@@ -3,30 +3,28 @@
3
3
 
4
4
  ## Preamble (run first)
5
5
 
6
-
7
- If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills AND do not
6
+ If `PROACTIVE` is `"false"`, do not proactively suggest opengstack skills AND do not
8
7
  auto-invoke skills based on conversation context. Only run skills the user explicitly
9
8
  types (e.g., /qa, /ship). If you would have auto-invoked a skill, instead briefly say:
10
9
  "I think /skillname might help here — want me to run it?" and wait for confirmation.
11
10
  The user opted out of proactive behavior.
12
11
 
13
12
  If `SKILL_PREFIX` is `"true"`, the user has namespaced skill names. When suggesting
14
- or invoking other gstack skills, use the `/gstack-` prefix (e.g., `/gstack-qa` instead
15
- of `/qa`, `/gstack-ship` instead of `/ship`). Disk paths are unaffected — always use
13
+ or invoking other opengstack skills, use the `/opengstack-` prefix (e.g., `/opengstack-qa` instead
14
+ of `/qa`, `/opengstack-ship` instead of `/ship`). Disk paths are unaffected — always use
16
15
  `~/.claude/skills/opengstack/[skill-name]/SKILL.md` for reading skill files.
17
16
 
18
17
  If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
19
18
  Then offer to open the essay in their default browser:
20
19
 
21
20
  ```bash
22
- touch ~/.gstack/.completeness-intro-seen
21
+ touch ~/.opengstack/.completeness-intro-seen
23
22
 
24
23
  Only run `open` if the user says yes. Always run `touch` to mark as seen. This only happens once.
25
24
 
26
- If `PROACTIVE_PROMPTED` is `no` AND `TEL_PROMPTED` is `yes`: After telemetry is handled,
27
25
  ask the user about proactive behavior. Use AskUserQuestion:
28
26
 
29
- > gstack can proactively figure out when you might need a skill while you work —
27
+ > opengstack can proactively figure out when you might need a skill while you work —
30
28
  > like suggesting /qa when you say "does this work?" or /investigate when you hit
31
29
  > a bug. We recommend keeping this on — it speeds up every part of your workflow.
32
30
 
@@ -39,13 +37,13 @@ If B: run `echo set proactive false`
39
37
 
40
38
  Always run:
41
39
  ```bash
42
- touch ~/.gstack/.proactive-prompted
40
+ touch ~/.opengstack/.proactive-prompted
43
41
 
44
42
  This only happens once. If `PROACTIVE_PROMPTED` is `yes`, skip this entirely.
45
43
 
46
44
  ## Voice
47
45
 
48
- You are OpenGStack, an open source AI builder framework
46
+ You are opengstack, an open source AI builder framework
49
47
 
50
48
  Lead with the point. Say what it does, why it matters, and what changes for the builder. Sound like someone who shipped code today and cares whether the thing actually works for users.
51
49
 
package/commands/ship.md CHANGED
@@ -3,30 +3,28 @@
3
3
 
4
4
  ## Preamble (run first)
5
5
 
6
-
7
- If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills AND do not
6
+ If `PROACTIVE` is `"false"`, do not proactively suggest opengstack skills AND do not
8
7
  auto-invoke skills based on conversation context. Only run skills the user explicitly
9
8
  types (e.g., /qa, /ship). If you would have auto-invoked a skill, instead briefly say:
10
9
  "I think /skillname might help here — want me to run it?" and wait for confirmation.
11
10
  The user opted out of proactive behavior.
12
11
 
13
12
  If `SKILL_PREFIX` is `"true"`, the user has namespaced skill names. When suggesting
14
- or invoking other gstack skills, use the `/gstack-` prefix (e.g., `/gstack-qa` instead
15
- of `/qa`, `/gstack-ship` instead of `/ship`). Disk paths are unaffected — always use
13
+ or invoking other opengstack skills, use the `/opengstack-` prefix (e.g., `/opengstack-qa` instead
14
+ of `/qa`, `/opengstack-ship` instead of `/ship`). Disk paths are unaffected — always use
16
15
  `~/.claude/skills/opengstack/[skill-name]/SKILL.md` for reading skill files.
17
16
 
18
17
  If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
19
18
  Then offer to open the essay in their default browser:
20
19
 
21
20
  ```bash
22
- touch ~/.gstack/.completeness-intro-seen
21
+ touch ~/.opengstack/.completeness-intro-seen
23
22
 
24
23
  Only run `open` if the user says yes. Always run `touch` to mark as seen. This only happens once.
25
24
 
26
- If `PROACTIVE_PROMPTED` is `no` AND `TEL_PROMPTED` is `yes`: After telemetry is handled,
27
25
  ask the user about proactive behavior. Use AskUserQuestion:
28
26
 
29
- > gstack can proactively figure out when you might need a skill while you work —
27
+ > opengstack can proactively figure out when you might need a skill while you work —
30
28
  > like suggesting /qa when you say "does this work?" or /investigate when you hit
31
29
  > a bug. We recommend keeping this on — it speeds up every part of your workflow.
32
30
 
@@ -39,13 +37,13 @@ If B: run `echo set proactive false`
39
37
 
40
38
  Always run:
41
39
  ```bash
42
- touch ~/.gstack/.proactive-prompted
40
+ touch ~/.opengstack/.proactive-prompted
43
41
 
44
42
  This only happens once. If `PROACTIVE_PROMPTED` is `yes`, skip this entirely.
45
43
 
46
44
  ## Voice
47
45
 
48
- You are OpenGStack, an open source AI builder framework
46
+ You are opengstack, an open source AI builder framework
49
47
 
50
48
  Lead with the point. Say what it does, why it matters, and what changes for the builder. Sound like someone who shipped code today and cares whether the thing actually works for users.
51
49
 
@@ -6,19 +6,19 @@
6
6
  Remove the edit restriction set by `/freeze`, allowing edits to all directories.
7
7
 
8
8
  ```bash
9
- mkdir -p ~/.gstack/analytics
10
- echo '{"skill":"unfreeze","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true
9
+ mkdir -p ~/.opengstack/analytics
10
+ echo '{"skill":"unfreeze","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.opengstack/analytics/skill-usage.jsonl 2>/dev/null || true
11
11
 
12
12
  ## Clear the boundary
13
13
 
14
14
  ```bash
15
- STATE_DIR="${CLAUDE_PLUGIN_DATA:-$HOME/.gstack}"
15
+ STATE_DIR="${CLAUDE_PLUGIN_DATA:-$HOME/.OpenGStack}"
16
16
  if [ -f "$STATE_DIR/freeze-dir.txt" ]; then
17
- PREV=$(cat "$STATE_DIR/freeze-dir.txt")
18
- rm -f "$STATE_DIR/freeze-dir.txt"
19
- echo "Freeze boundary cleared (was: $PREV). Edits are now allowed everywhere."
17
+ PREV=$(cat "$STATE_DIR/freeze-dir.txt")
18
+ rm -f "$STATE_DIR/freeze-dir.txt"
19
+ echo "Freeze boundary cleared (was: $PREV). Edits are now allowed everywhere."
20
20
  else
21
- echo "No freeze boundary was set."
21
+ echo "No freeze boundary was set."
22
22
  fi
23
23
 
24
24
  session — they will just allow everything since no state file exists. To re-freeze,
@@ -56,19 +56,19 @@ During a `/office-hours` design session, we traced the architecture and discover
56
56
 
57
57
  ```
58
58
  Browser States:
59
- HEADLESS (default) ←→ HEADED ($B connect or $B handoff)
60
- Playwright Playwright (same engine)
61
- launch() launchPersistentContext()
62
- invisible visible + extension + side panel
59
+ HEADLESS (default) ←→ HEADED ($B connect or $B handoff)
60
+ Playwright Playwright (same engine)
61
+ launch() launchPersistentContext()
62
+ invisible visible + extension + side panel
63
63
 
64
64
  Sidebar (orthogonal add-on, headed only):
65
- Activity tab — always on, shows live browse commands
66
- Refs tab — always on, shows @ref overlays
67
- Chat tab — opt-in via --chat, experimental standalone agent
65
+ Activity tab — always on, shows live browse commands
66
+ Refs tab — always on, shows @ref overlays
67
+ Chat tab — opt-in via --chat, experimental standalone agent
68
68
 
69
69
  Data Bridge (sidebar → workspace):
70
- Sidebar writes to .context/sidebar-inbox/*.json
71
- Workspace reads via $B inbox
70
+ Sidebar writes to .context/sidebar-inbox/*.json
71
+ Workspace reads via $B inbox
72
72
  ```
73
73
 
74
74
  ## Why Not Real Chrome?
@@ -40,7 +40,7 @@ Today, `/qa` and `/design-review` feel like a black box. Claude says "I found 3
40
40
  - **You can interrupt** — "no, test the mobile view" or "skip that page" — without switching windows
41
41
  - **One agent, two views** — the same Claude that's editing your code is also controlling the browser. No context duplication, no stale state
42
42
 
43
- ## What's already built (gstack side)
43
+ ## What's already built (opengstack side)
44
44
 
45
45
  Everything on our side is done and shipping:
46
46
 
@@ -54,4 +54,4 @@ Everything on our side is done and shipping:
54
54
 
55
55
  The only change on our side: swap the data source from "local `claude -p` subprocess" to "Conductor session stream." The extension code stays the same.
56
56
 
57
- **Estimated effort:** 2-3 days Conductor engineering, 1 day gstack integration.
57
+ **Estimated effort:** 2-3 days Conductor engineering, 1 day opengstack integration.
@@ -2,16 +2,16 @@
2
2
 
3
3
  ## Problem
4
4
 
5
- When Claude controls your real browser via CDP (gstack `$B connect`), you look at two
5
+ When Claude controls your real browser via CDP (opengstack `$B connect`), you look at two
6
6
  windows: **Conductor** (to see Claude's thinking) and **Chrome** (to see Claude's actions).
7
7
 
8
- gstack's Chrome extension Side Panel shows browse activity — every command, result,
8
+ OpenGStack's Chrome extension Side Panel shows browse activity — every command, result,
9
9
  and error. But for *full* session mirroring (Claude's thinking, tool calls, code edits),
10
10
  the Side Panel needs Conductor to expose the conversation stream.
11
11
 
12
12
  ## What this enables
13
13
 
14
- A "Session" tab in the gstack Chrome extension Side Panel that shows:
14
+ A "Session" tab in the opengstack Chrome extension Side Panel that shows:
15
15
  - Claude's thinking/content (truncated for performance)
16
16
  - Tool call names + icons (Edit, Bash, Read, etc.)
17
17
  - Turn boundaries with cost estimates
@@ -51,16 +51,16 @@ Discovery endpoint listing active workspaces.
51
51
 
52
52
  ```json
53
53
  {
54
- "workspaces": [
55
- {
56
- "id": "abc123",
57
- "name": "gstack",
58
- "branch": "garrytan/chrome-extension-ctrl",
59
- "directory": "/Users/garry/gstack",
60
- "pid": 12345,
61
- "active": true
62
- }
63
- ]
54
+ "workspaces": [
55
+ {
56
+ "id": "abc123",
57
+ "name": "opengstack",
58
+ "branch": "
59
+ "directory": "~/opengstack",
60
+ "pid": 12345,
61
+ "active": true
62
+ }
63
+ ]
64
64
  }
65
65
  ```
66
66
 
@@ -71,11 +71,11 @@ The Chrome extension auto-selects a workspace by matching the browse server's gi
71
71
 
72
72
  - **Localhost-only.** Same trust model as Claude Code's own debug output.
73
73
  - **No auth required.** If Conductor wants auth, include a Bearer token in the
74
- workspace listing that the extension passes on SSE requests.
74
+ workspace listing that the extension passes on SSE requests.
75
75
  - **Content truncation** is a privacy feature — long code outputs, file contents, and
76
- sensitive tool results never leave Conductor's full UI.
76
+ sensitive tool results never leave Conductor's full UI.
77
77
 
78
- ## What gstack builds (extension side)
78
+ ## What opengstack builds (extension side)
79
79
 
80
80
  Already scaffolded in the Side Panel "Session" tab (currently shows placeholder).
81
81