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.
- package/AGENTS.md +4 -4
- package/CLAUDE.md +127 -110
- package/README.md +10 -5
- package/SKILL.md +500 -70
- package/bin/opengstack.js +69 -69
- package/commands/autoplan.md +7 -9
- package/commands/benchmark.md +84 -91
- package/commands/browse.md +60 -64
- package/commands/canary.md +7 -9
- package/commands/careful.md +2 -2
- package/commands/codex.md +7 -9
- package/commands/connect-chrome.md +7 -9
- package/commands/cso.md +7 -9
- package/commands/design-consultation.md +7 -9
- package/commands/design-review.md +7 -9
- package/commands/design-shotgun.md +7 -9
- package/commands/document-release.md +7 -9
- package/commands/freeze.md +3 -3
- package/commands/guard.md +4 -4
- package/commands/investigate.md +7 -9
- package/commands/land-and-deploy.md +7 -9
- package/commands/office-hours.md +7 -9
- package/commands/{gstack-upgrade.md → opengstack-upgrade.md} +64 -65
- package/commands/plan-ceo-review.md +7 -9
- package/commands/plan-design-review.md +7 -9
- package/commands/plan-eng-review.md +7 -9
- package/commands/qa-only.md +7 -9
- package/commands/qa.md +7 -9
- package/commands/retro.md +7 -9
- package/commands/review.md +7 -9
- package/commands/setup-browser-cookies.md +22 -26
- package/commands/setup-deploy.md +7 -9
- package/commands/ship.md +7 -9
- package/commands/unfreeze.md +7 -7
- package/docs/designs/CHROME_VS_CHROMIUM_EXPLORATION.md +9 -9
- package/docs/designs/CONDUCTOR_CHROME_SIDEBAR_INTEGRATION.md +2 -2
- package/docs/designs/CONDUCTOR_SESSION_API.md +16 -16
- package/docs/designs/DESIGN_SHOTGUN.md +74 -74
- package/docs/designs/DESIGN_TOOLS_V1.md +111 -111
- package/docs/skills.md +483 -202
- package/package.json +42 -43
- package/scripts/analytics.ts +188 -0
- package/scripts/dev-skill.ts +83 -0
- package/scripts/discover-skills.ts +39 -0
- package/scripts/eval-compare.ts +97 -0
- package/scripts/eval-list.ts +117 -0
- package/scripts/eval-select.ts +86 -0
- package/scripts/eval-summary.ts +188 -0
- package/scripts/eval-watch.ts +172 -0
- package/scripts/gen-skill-docs.ts +473 -0
- package/scripts/resolvers/browse.ts +129 -0
- package/scripts/resolvers/codex-helpers.ts +133 -0
- package/scripts/resolvers/composition.ts +48 -0
- package/scripts/resolvers/confidence.ts +37 -0
- package/scripts/resolvers/constants.ts +50 -0
- package/scripts/resolvers/design.ts +950 -0
- package/scripts/resolvers/index.ts +59 -0
- package/scripts/resolvers/learnings.ts +96 -0
- package/scripts/resolvers/preamble.ts +505 -0
- package/scripts/resolvers/review.ts +884 -0
- package/scripts/resolvers/testing.ts +573 -0
- package/scripts/resolvers/types.ts +45 -0
- package/scripts/resolvers/utility.ts +421 -0
- package/scripts/skill-check.ts +190 -0
- package/scripts/cleanup.py +0 -100
- package/scripts/filter-skills.sh +0 -114
- package/scripts/filter_skills.py +0 -164
- package/scripts/install-commands.js +0 -45
- package/scripts/install-skills.js +0 -60
package/commands/browse.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
|
|
15
|
-
of `/qa`, `/
|
|
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 ~/.
|
|
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
|
-
>
|
|
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 ~/.
|
|
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".
|
|
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 `##
|
|
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/
|
|
89
|
+
~/.claude/skills/opengstack/bin/opengstack-review-read
|
|
93
90
|
\`\`\`
|
|
94
91
|
|
|
95
|
-
Then write a `##
|
|
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
|
-
|
|
99
|
-
|
|
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
|
-
##
|
|
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/
|
|
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
|
-
|
|
129
|
+
echo "READY: $B"
|
|
133
130
|
else
|
|
134
|
-
|
|
131
|
+
echo "NEEDS_SETUP"
|
|
135
132
|
fi
|
|
136
133
|
|
|
137
134
|
If `NEEDS_SETUP`:
|
|
138
|
-
1. Tell the user: "
|
|
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
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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
|
|
153
|
-
$B console
|
|
154
|
-
$B network
|
|
155
|
-
$B is visible ".main-content"
|
|
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
|
|
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
|
|
164
|
-
$B snapshot -D
|
|
165
|
-
$B is visible ".dashboard"
|
|
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
|
|
170
|
-
$B click @e3
|
|
171
|
-
$B snapshot -D
|
|
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
|
|
176
|
-
$B screenshot /tmp/bug.png
|
|
177
|
-
$B console
|
|
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
|
|
182
|
-
$B click @c1
|
|
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
|
|
197
|
-
$B viewport 375x812
|
|
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"
|
|
208
|
-
$B click "#delete-button"
|
|
209
|
-
$B dialog
|
|
210
|
-
$B snapshot -D
|
|
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
|
-
#
|
|
230
|
-
#
|
|
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
|
-
-
|
|
250
|
-
-
|
|
251
|
-
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
255
|
-
-
|
|
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
|
|
267
|
-
$B html @e2
|
|
268
|
-
$B click @c1
|
|
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
|
-
|
|
273
|
-
|
|
274
|
-
|
|
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
|
|
package/commands/canary.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
|
|
15
|
-
of `/qa`, `/
|
|
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 ~/.
|
|
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
|
-
>
|
|
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 ~/.
|
|
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
|
|
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/careful.md
CHANGED
|
@@ -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 ~/.
|
|
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")'"}'
|
|
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
|
|
15
|
-
of `/qa`, `/
|
|
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 ~/.
|
|
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
|
-
>
|
|
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 ~/.
|
|
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
|
|
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
|
|
15
|
-
of `/qa`, `/
|
|
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 ~/.
|
|
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
|
-
>
|
|
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 ~/.
|
|
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
|
|
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
|
|
15
|
-
of `/qa`, `/
|
|
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 ~/.
|
|
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
|
-
>
|
|
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 ~/.
|
|
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
|
|
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
|
|
15
|
-
of `/qa`, `/
|
|
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 ~/.
|
|
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
|
-
>
|
|
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 ~/.
|
|
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
|
|
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
|
|
15
|
-
of `/qa`, `/
|
|
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 ~/.
|
|
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
|
-
>
|
|
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 ~/.
|
|
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
|
|
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
|
|
15
|
-
of `/qa`, `/
|
|
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 ~/.
|
|
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
|
-
>
|
|
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 ~/.
|
|
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
|
|
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
|
|