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,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
  |--------|---------|-----|------|--------|----------|
@@ -126,60 +123,60 @@ State persists between calls (cookies, tabs, login sessions).
126
123
  ```bash
127
124
  _ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
128
125
  B=""
129
- [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse"
126
+ [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/opengstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/opengstack/browse/dist/browse"
130
127
  [ -z "$B" ] && B=~/.claude/skills/opengstack/browse/dist/browse
131
128
  if [ -x "$B" ]; then
132
- echo "READY: $B"
129
+ echo "READY: $B"
133
130
  else
134
- echo "NEEDS_SETUP"
131
+ echo "NEEDS_SETUP"
135
132
  fi
136
133
 
137
134
  If `NEEDS_SETUP`:
138
- 1. Tell the user: "gstack browse needs a one-time build (~10 seconds). OK to proceed?" Then STOP and wait.
135
+ 1. Tell the user: "opengstack browse needs a one-time build (~10 seconds). OK to proceed?" Then STOP and wait.
139
136
  2. Run: `cd <SKILL_DIR> && ./setup`
140
137
  3. If `bun` is not installed:
141
- ```bash
142
- if ! command -v bun >/dev/null 2>&1; then
143
- curl -fsSL https://bun.sh/install | BUN_VERSION=1.3.10 bash
144
- fi
145
- ```
138
+ ```bash
139
+ if ! command -v bun >/dev/null 2>&1; then
140
+ curl -fsSL https://bun.sh/install | BUN_VERSION=1.3.10 bash
141
+ fi
142
+ ```
146
143
 
147
144
  ## Core QA Patterns
148
145
 
149
146
  ### 1. Verify a page loads correctly
150
147
  ```bash
151
148
  $B goto https://yourapp.com
152
- $B text # content loads?
153
- $B console # JS errors?
154
- $B network # failed requests?
155
- $B is visible ".main-content" # key elements present?
149
+ $B text # content loads?
150
+ $B console # JS errors?
151
+ $B network # failed requests?
152
+ $B is visible ".main-content" # key elements present?
156
153
 
157
154
  ### 2. Test a user flow
158
155
  ```bash
159
156
  $B goto https://app.com/login
160
- $B snapshot -i # see all interactive elements
157
+ $B snapshot -i # see all interactive elements
161
158
  $B fill @e3 "user@test.com"
162
159
  $B fill @e4 "password"
163
- $B click @e5 # submit
164
- $B snapshot -D # diff: what changed after submit?
165
- $B is visible ".dashboard" # success state present?
160
+ $B click @e5 # submit
161
+ $B snapshot -D # diff: what changed after submit?
162
+ $B is visible ".dashboard" # success state present?
166
163
 
167
164
  ### 3. Verify an action worked
168
165
  ```bash
169
- $B snapshot # baseline
170
- $B click @e3 # do something
171
- $B snapshot -D # unified diff shows exactly what changed
166
+ $B snapshot # baseline
167
+ $B click @e3 # do something
168
+ $B snapshot -D # unified diff shows exactly what changed
172
169
 
173
170
  ### 4. Visual evidence for bug reports
174
171
  ```bash
175
- $B snapshot -i -a -o /tmp/annotated.png # labeled screenshot
176
- $B screenshot /tmp/bug.png # plain screenshot
177
- $B console # error log
172
+ $B snapshot -i -a -o /tmp/annotated.png # labeled screenshot
173
+ $B screenshot /tmp/bug.png # plain screenshot
174
+ $B console # error log
178
175
 
179
176
  ### 5. Find all clickable elements (including non-ARIA)
180
177
  ```bash
181
- $B snapshot -C # finds divs with cursor:pointer, onclick, tabindex
182
- $B click @c1 # interact with them
178
+ $B snapshot -C # finds divs with cursor:pointer, onclick, tabindex
179
+ $B click @c1 # interact with them
183
180
 
184
181
  ### 6. Assert element states
185
182
  ```bash
@@ -193,8 +190,8 @@ $B js "document.body.textContent.includes('Success')"
193
190
 
194
191
  ### 7. Test responsive layouts
195
192
  ```bash
196
- $B responsive /tmp/layout # mobile + tablet + desktop screenshots
197
- $B viewport 375x812 # or set specific viewport
193
+ $B responsive /tmp/layout # mobile + tablet + desktop screenshots
194
+ $B viewport 375x812 # or set specific viewport
198
195
  $B screenshot /tmp/mobile.png
199
196
 
200
197
  ### 8. Test file uploads
@@ -204,10 +201,10 @@ $B is visible ".upload-success"
204
201
 
205
202
  ### 9. Test dialogs
206
203
  ```bash
207
- $B dialog-accept "yes" # set up handler
208
- $B click "#delete-button" # trigger dialog
209
- $B dialog # see what appeared
210
- $B snapshot -D # verify deletion happened
204
+ $B dialog-accept "yes" # set up handler
205
+ $B click "#delete-button" # trigger dialog
206
+ $B dialog # see what appeared
207
+ $B snapshot -D # verify deletion happened
211
208
 
212
209
  ### 10. Compare environments
213
210
  ```bash
@@ -226,8 +223,8 @@ login), hand off to the user:
226
223
  $B handoff "Stuck on CAPTCHA at login page"
227
224
 
228
225
  # 2. Tell the user what happened (via AskUserQuestion)
229
- # "I've opened Chrome at the login page. Please solve the CAPTCHA
230
- # and let me know when you're done."
226
+ # "I've opened Chrome at the login page. Please solve the CAPTCHA
227
+ # and let me know when you're done."
231
228
 
232
229
  # 3. When user says "done", re-snapshot and continue
233
230
  $B resume
@@ -245,15 +242,14 @@ After `resume`, you get a fresh snapshot of wherever the user left off.
245
242
 
246
243
  The snapshot is your primary tool for understanding and interacting with pages.
247
244
 
248
-
249
- -i --interactive Interactive elements only (buttons, links, inputs) with @e refs
250
- -c --compact Compact (no empty structural nodes)
251
- -d <N> --depth Limit tree depth (0 = root only, default: unlimited)
252
- -s <sel> --selector Scope to CSS selector
253
- -D --diff Unified diff against previous snapshot (first call stores baseline)
254
- -a --annotate Annotated screenshot with red overlay boxes and ref labels
255
- -o <path> --output Output path for annotated screenshot (default: <temp>/browse-annotated.png)
256
- -C --cursor-interactive Cursor-interactive elements (@c refs — divs with pointer, onclick)
245
+ -i --interactive Interactive elements only (buttons, links, inputs) with @e refs
246
+ -c --compact Compact (no empty structural nodes)
247
+ -d <N> --depth Limit tree depth (0 = root only, default: unlimited)
248
+ -s <sel> --selector Scope to CSS selector
249
+ -D --diff Unified diff against previous snapshot (first call stores baseline)
250
+ -a --annotate Annotated screenshot with red overlay boxes and ref labels
251
+ -o <path> --output Output path for annotated screenshot (default: <temp>/browse-annotated.png)
252
+ -C --cursor-interactive Cursor-interactive elements (@c refs divs with pointer, onclick)
257
253
 
258
254
  All flags can be combined freely. `-o` only applies when `-a` is also used.
259
255
  Example: `$B snapshot -i -a -C -o /tmp/annotated.png`
@@ -263,15 +259,15 @@ Example: `$B snapshot -i -a -C -o /tmp/annotated.png`
263
259
 
264
260
  After snapshot, use @refs as selectors in any command:
265
261
  ```bash
266
- $B click @e3 $B fill @e4 "value" $B hover @e1
267
- $B html @e2 $B css @e5 "color" $B attrs @e6
268
- $B click @c1 # cursor-interactive ref (from -C)
262
+ $B click @e3 $B fill @e4 "value" $B hover @e1
263
+ $B html @e2 $B css @e5 "color" $B attrs @e6
264
+ $B click @c1 # cursor-interactive ref (from -C)
269
265
 
270
266
  **Output format:** indented accessibility tree with @ref IDs, one element per line.
271
267
 
272
- @e1
273
- @e2 [textbox] "Email"
274
- @e3 [button] "Submit"
268
+ @e1
269
+ @e2 [textbox] "Email"
270
+ @e3 [button] "Submit"
275
271
 
276
272
  Refs are invalidated on navigation — run `snapshot` again after `goto`.
277
273
 
@@ -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
 
@@ -8,8 +8,8 @@ patterns before running. If a destructive command is detected, you'll be warned
8
8
  and can choose to proceed or cancel.
9
9
 
10
10
  ```bash
11
- mkdir -p ~/.gstack/analytics
12
- echo '{"skill":"careful","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
11
+ mkdir -p ~/.opengstack/analytics
12
+ echo '{"skill":"careful","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
13
13
 
14
14
  ## What's protected
15
15
 
package/commands/codex.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
 
package/commands/cso.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,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