bigpowers 2.34.0 → 2.34.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 (42) hide show
  1. package/.pi/package.json +2 -2
  2. package/.pi/prompts/deploy.md +53 -28
  3. package/.pi/prompts/develop-tdd.md +5 -80
  4. package/.pi/prompts/migrate-spec.md +273 -197
  5. package/.pi/prompts/publish-package.md +125 -67
  6. package/.pi/prompts/release-branch.md +85 -69
  7. package/.pi/prompts/smoke-test.md +98 -58
  8. package/.pi/prompts/using-bigpowers.md +2 -2
  9. package/.pi/prompts/validate-contracts.md +169 -54
  10. package/.pi/prompts/wire-ci.md +147 -89
  11. package/.pi/skills/deploy/SKILL.md +53 -28
  12. package/.pi/skills/develop-tdd/SKILL.md +5 -80
  13. package/.pi/skills/migrate-spec/SKILL.md +273 -197
  14. package/.pi/skills/publish-package/SKILL.md +125 -67
  15. package/.pi/skills/release-branch/SKILL.md +85 -69
  16. package/.pi/skills/smoke-test/SKILL.md +98 -58
  17. package/.pi/skills/using-bigpowers/SKILL.md +2 -2
  18. package/.pi/skills/validate-contracts/SKILL.md +169 -54
  19. package/.pi/skills/wire-ci/SKILL.md +147 -89
  20. package/CHANGELOG.md +14 -0
  21. package/README.md +4 -4
  22. package/SKILL-INDEX.md +1 -1
  23. package/deploy/REFERENCE.md +82 -0
  24. package/deploy/SKILL.md +3 -63
  25. package/develop-tdd/SKILL.md +5 -80
  26. package/migrate-spec/REFERENCE.md +268 -0
  27. package/migrate-spec/SKILL.md +5 -199
  28. package/package.json +4 -3
  29. package/publish-package/REFERENCE.md +239 -0
  30. package/publish-package/SKILL.md +8 -192
  31. package/release-branch/REFERENCE.md +83 -0
  32. package/release-branch/SKILL.md +2 -69
  33. package/scripts/generate-reference-tables.sh +1 -0
  34. package/scripts/sync-skills.sh +4 -1
  35. package/skills-lock.json +9 -9
  36. package/smoke-test/REFERENCE.md +162 -0
  37. package/smoke-test/SKILL.md +5 -130
  38. package/using-bigpowers/SKILL.md +2 -2
  39. package/validate-contracts/REFERENCE.md +183 -0
  40. package/validate-contracts/SKILL.md +6 -77
  41. package/wire-ci/REFERENCE.md +257 -0
  42. package/wire-ci/SKILL.md +8 -210
@@ -29,30 +29,13 @@ Three modes of validation:
29
29
 
30
30
  All contract files live in `specs/contracts/` and use YAML:
31
31
 
32
- ```
33
- specs/contracts/
34
- ├── users.schema.yaml # API response schema
35
- ├── i18n-keys.yaml # Key-set comparison
36
- ├── migration-output.yaml # Data shape contract
37
- └── README.md # Local conventions
38
- ```
32
+ See [REFERENCE.md](REFERENCE.md) for examples.
39
33
 
40
34
  ### 1. API Response Contracts (`--schema`)
41
35
 
42
36
  Define expected API response shapes and validate live endpoints against them:
43
37
 
44
- ```yaml
45
- # specs/contracts/users.schema.yaml
46
- endpoint: /api/users
47
- method: GET
48
- schema:
49
- type: object
50
- required: [id, name, email]
51
- properties:
52
- id: { type: number }
53
- name: { type: string }
54
- email: { type: string, format: email }
55
- ```
38
+ See [REFERENCE.md](REFERENCE.md) for examples.
56
39
 
57
40
  Usage:
58
41
 
@@ -66,52 +49,21 @@ validate-contracts --schema specs/contracts/users.schema.yaml --url https://api.
66
49
 
67
50
  Assert that two data sources share a consistent set of keys:
68
51
 
69
- ```yaml
70
- # specs/contracts/i18n-keys.yaml
71
- sources:
72
- reference: src/frontend/locales/en.json
73
- target: src/backend/messages/en.json
74
- mode: subset # all target keys must exist in reference
75
- ```
52
+ See [REFERENCE.md](REFERENCE.md) for examples.
76
53
 
77
54
  Usage:
78
55
 
79
- ```bash
80
- validate-contracts --key-set specs/contracts/i18n-keys.yaml
81
- # → missing: 2 keys in reference not found in target: ['settings.privacy', 'help.faq']
82
- # → added: 1 key in target not in reference: ['deprecated.field']
83
- # → exit 1 (divergence)
84
- ```
56
+ See [REFERENCE.md](REFERENCE.md) for examples.
85
57
 
86
58
  ### 3. Data Shape Contracts (`--shape`)
87
59
 
88
60
  Validate that a data file matches expected column types and constraints:
89
61
 
90
- ```yaml
91
- # specs/contracts/migration-output.yaml
92
- file: data/users-export.json
93
- format: json
94
- fields:
95
- - name: user_id
96
- type: number
97
- required: true
98
- - name: full_name
99
- type: string
100
- required: true
101
- - name: created_at
102
- type: string
103
- format: date-time
104
- required: false
105
- ```
62
+ See [REFERENCE.md](REFERENCE.md) for examples.
106
63
 
107
64
  Usage:
108
65
 
109
- ```bash
110
- validate-contracts --shape specs/contracts/migration-output.yaml
111
- # → PASS: 3/3 fields validated, 5000 rows OK
112
- # → WARN: field 'full_name' has 12 null values (0.24%)
113
- # → FAIL: field 'user_id' has 3 rows with type string (expected number)
114
- ```
66
+ See [REFERENCE.md](REFERENCE.md) for examples.
115
67
 
116
68
  ## Process
117
69
 
@@ -159,12 +111,172 @@ bash scripts/validate-contracts.sh <contract-file>
159
111
  # → All pass → ready to deploy
160
112
  ```
161
113
 
114
+ ---
115
+
116
+ # Validate Contracts — Reference
117
+
118
+ ## Integration
119
+
120
+ - **Pre-deploy gate:** The `deploy` skill runs `validate-contracts` before smoke-test.
121
+ - **CI pipeline:** JSON Lines output is CI-friendly; pipe to `jq` for assertions.
122
+ - **Pre-migration:** Run `validate-contracts --shape` before consuming migration output.
123
+
124
+
125
+ ---
126
+
127
+ ## Configuration
128
+
129
+ | Variable | Default | Description |
130
+ |----------|---------|-------------|
131
+ | `CONTRACTS_DIR` | `specs/contracts/` | Directory containing contract YAML files |
132
+ | `VALIDATE_ALL` | `false` | If true, run all contracts in the directory |
133
+ | `STRICT_MODE` | `false` | Treat warnings as failures |
134
+ | `OUTPUT_FORMAT` | `text` | `text` or `json` |
135
+
136
+
137
+ ---
138
+
139
+ ## Verification
140
+
141
+ → verify: `test -f validate-contracts/SKILL.md && grep -q 'name: validate-contracts' validate-contracts/SKILL.md && echo OK`
142
+ → verify: `grep -qi 'specs/contracts\|JSON Schema\|key.set\|data.shape' validate-contracts/SKILL.md && echo OK`
143
+ → verify: `grep -ci 'divergence\|missing key\|type mismatch\|diff\|conforms\|column' validate-contracts/SKILL.md | awk '{if($1>=3) print "OK"; else print "FAIL"}'`
144
+ → verify: `grep -ci 'JSON Lines\|machine.parse\|CI\|deploy.*gate\|pre.deploy' validate-contracts/SKILL.md | awk '{if($1>=2) print "OK"; else print "FAIL"}'`
145
+ → verify: `grep -q 'validate-contracts' SKILL-INDEX.md && echo OK`
146
+
147
+ ---
148
+
149
+ ## Reference block 1
150
+
151
+ ```yaml
152
+ # specs/contracts/users.schema.yaml
153
+ endpoint: /api/users
154
+ method: GET
155
+ schema:
156
+ type: object
157
+ required: [id, name, email]
158
+ properties:
159
+ id: { type: number }
160
+ name: { type: string }
161
+ email: { type: string, format: email }
162
+ ```
163
+
164
+ ---
165
+
166
+ ## Reference block 2
167
+
168
+ ```yaml
169
+ # specs/contracts/migration-output.yaml
170
+ file: data/users-export.json
171
+ format: json
172
+ fields:
173
+ - name: user_id
174
+ type: number
175
+ required: true
176
+ - name: full_name
177
+ type: string
178
+ required: true
179
+ - name: created_at
180
+ type: string
181
+ format: date-time
182
+ required: false
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Example 1
188
+
189
+ ```
190
+ specs/contracts/
191
+ ├── users.schema.yaml # API response schema
192
+ ├── i18n-keys.yaml # Key-set comparison
193
+ ├── migration-output.yaml # Data shape contract
194
+ └── README.md # Local conventions
195
+ ```
196
+
197
+ ---
198
+
199
+ ## Example 2
200
+
201
+ ```yaml
202
+ # specs/contracts/users.schema.yaml
203
+ endpoint: /api/users
204
+ method: GET
205
+ schema:
206
+ type: object
207
+ required: [id, name, email]
208
+ properties:
209
+ id: { type: number }
210
+ name: { type: string }
211
+ email: { type: string, format: email }
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Example 3
217
+
218
+ ```yaml
219
+ # specs/contracts/i18n-keys.yaml
220
+ sources:
221
+ reference: src/frontend/locales/en.json
222
+ target: src/backend/messages/en.json
223
+ mode: subset # all target keys must exist in reference
224
+ ```
225
+
226
+ ---
227
+
228
+ ## Example 4
229
+
230
+ ```bash
231
+ validate-contracts --key-set specs/contracts/i18n-keys.yaml
232
+ # → missing: 2 keys in reference not found in target: ['settings.privacy', 'help.faq']
233
+ # → added: 1 key in target not in reference: ['deprecated.field']
234
+ # → exit 1 (divergence)
235
+ ```
236
+
237
+ ---
238
+
239
+ ## Example 5
240
+
241
+ ```yaml
242
+ # specs/contracts/migration-output.yaml
243
+ file: data/users-export.json
244
+ format: json
245
+ fields:
246
+ - name: user_id
247
+ type: number
248
+ required: true
249
+ - name: full_name
250
+ type: string
251
+ required: true
252
+ - name: created_at
253
+ type: string
254
+ format: date-time
255
+ required: false
256
+ ```
257
+
258
+ ---
259
+
260
+ ## Example 6
261
+
262
+ ```bash
263
+ validate-contracts --shape specs/contracts/migration-output.yaml
264
+ # → PASS: 3/3 fields validated, 5000 rows OK
265
+ # → WARN: field 'full_name' has 12 null values (0.24%)
266
+ # → FAIL: field 'user_id' has 3 rows with type string (expected number)
267
+ ```
268
+
269
+ ---
270
+
162
271
  ## Integration
163
272
 
164
273
  - **Pre-deploy gate:** The `deploy` skill runs `validate-contracts` before smoke-test.
165
274
  - **CI pipeline:** JSON Lines output is CI-friendly; pipe to `jq` for assertions.
166
275
  - **Pre-migration:** Run `validate-contracts --shape` before consuming migration output.
167
276
 
277
+
278
+ ---
279
+
168
280
  ## Configuration
169
281
 
170
282
  | Variable | Default | Description |
@@ -174,6 +286,9 @@ bash scripts/validate-contracts.sh <contract-file>
174
286
  | `STRICT_MODE` | `false` | Treat warnings as failures |
175
287
  | `OUTPUT_FORMAT` | `text` | `text` or `json` |
176
288
 
289
+
290
+ ---
291
+
177
292
  ## Verification
178
293
 
179
294
  → verify: `test -f validate-contracts/SKILL.md && grep -q 'name: validate-contracts' validate-contracts/SKILL.md && echo OK`
@@ -43,6 +43,131 @@ If no manifest is found, prompt the user to specify the type or pass `--type <ru
43
43
  Create `.github/workflows/ci.yaml` with standard steps derived from the project type and its manifest:
44
44
 
45
45
  **Rust template (`Cargo.toml`):**
46
+ See [REFERENCE.md](REFERENCE.md)
47
+
48
+ **Node template (`package.json`):**
49
+ See [REFERENCE.md](REFERENCE.md)
50
+
51
+ **Python template (`setup.py` / `pyproject.toml`):**
52
+ See [REFERENCE.md](REFERENCE.md)
53
+
54
+ **Go template (`go.mod`):**
55
+ See [REFERENCE.md](REFERENCE.md)
56
+
57
+ **C/C++ template (`CMakeLists.txt`):**
58
+ See [REFERENCE.md](REFERENCE.md)
59
+
60
+ ### 3. Generate release workflow (if semantic-release detected)
61
+
62
+ If the project has semantic-release configured (in `package.json`, `.releaserc`, or `release.config.js`), also generate `.github/workflows/release.yaml`:
63
+
64
+ See [REFERENCE.md](REFERENCE.md)
65
+
66
+ > **NPM_TOKEN is required** for publishing to npm. Without it, semantic-release will fail at the publish step. See `--validate` to check this.
67
+
68
+ ### 4. Validate workflows (`--validate`)
69
+
70
+ Run `wire-ci --validate` to check all generated workflow files:
71
+
72
+ See [REFERENCE.md](REFERENCE.md)
73
+
74
+ **Exit codes:**
75
+ - `0` — all checks pass (no errors)
76
+ - `1` — YAML syntax errors found
77
+ - `2` — validation warnings only (missing permissions, secrets, etc.)
78
+
79
+ ### 5. Dry-run workflows (`--dry-run`)
80
+
81
+ Attempt to run the generated workflows locally to catch errors before push:
82
+
83
+ See [REFERENCE.md](REFERENCE.md)
84
+
85
+ > **act** runs workflows in a local Docker environment — the most accurate pre-push validation.
86
+ > **gh workflow run** sends the workflow to GitHub but doesn't execute locally — useful for checking YAML parsing but not for testing the actual steps.
87
+
88
+ ### 6. Document common CI failure patterns
89
+
90
+ Add the following to the project's documentation or CLAUDE.md after setup:
91
+
92
+ | Failure | Cause | Fix |
93
+ |---------|-------|-----|
94
+ | `npm publish` fails | `NPM_TOKEN` not set as repo secret | Add `NPM_TOKEN` to GitHub repo secrets |
95
+ | `semantic-release` fails on push | Missing `permissions: contents: write` | Add `permissions: contents: write` to release job |
96
+ | `cargo publish` auth fail | `CARGO_REGISTRY_TOKEN` not set | Add token to `~/.cargo/config.toml` or env |
97
+ | `go vet` fails | Go version mismatch | Match `go.mod` `go` directive with setup-go version |
98
+ | `cargo clippy` errors | New lints in Rust nightly | `cargo clippy --fix` or allow specific lints |
99
+ | `act` not found | Docker not running or act not installed | `brew install act` / `docker ps` to verify Docker |
100
+ | Hardcoded Node version stale | `.nvmrc` exists but workflow uses hardcoded version | Use `node-version-file: .nvmrc` instead |
101
+
102
+ ## Verify
103
+
104
+ → verify: `test -f wire-ci/SKILL.md && echo "OK: skill file exists" || echo "FAIL: no skill file"`
105
+ → verify: `grep -q "name: wire-ci" wire-ci/SKILL.md && echo "OK: frontmatter" || echo "FAIL: frontmatter"`
106
+ → verify: `grep -ci "template\|workflow\|validate\|dry.run" wire-ci/SKILL.md | awk '{if($1>=3) print "OK: semantics"; else print "FAIL: missing"}'`
107
+ → verify: `grep -q "wire-ci" SKILL-INDEX.md && echo "OK: in SKILL-INDEX" || echo "FAIL: not indexed"`
108
+
109
+ ---
110
+
111
+ # Wire Ci — Reference
112
+
113
+ ## Examples
114
+
115
+ ### Create CI for a Rust project
116
+
117
+ ```bash
118
+ # Detect from Cargo.toml, generate workflows
119
+ wire-ci
120
+
121
+ # Validate generated workflows
122
+ wire-ci --validate
123
+
124
+ # Run locally with act
125
+ wire-ci --dry-run
126
+ ```
127
+
128
+ ### Create CI for a Node project with semantic-release
129
+
130
+ ```bash
131
+ wire-ci
132
+ wire-ci --validate
133
+ # Expect warning: "npm publish step found but no NPM_TOKEN in secrets"
134
+ # Fix: add NPM_TOKEN to repo secrets
135
+ ```
136
+
137
+ ### Validate existing workflows (no generation)
138
+
139
+ ```bash
140
+ wire-ci --validate --check-only
141
+ ```
142
+
143
+
144
+ ---
145
+
146
+ ## Options
147
+
148
+ | Flag | Description |
149
+ |------|-------------|
150
+ | `--validate` | Check YAML syntax, permissions, secrets, common pitfalls |
151
+ | `--dry-run` | Run workflows locally via `act` or dispatch via `gh` |
152
+ | `--check-only` | Only validate, do not generate new files |
153
+ | `--type <type>` | Force project type (skip auto-detection) |
154
+ | `--force` | Overwrite existing workflow files |
155
+ | `--no-release` | Skip release workflow generation even if semantic-release detected |
156
+
157
+
158
+ ---
159
+
160
+ ## Integration with build-epic
161
+
162
+ When `wire-ci` is used as part of `build-epic`:
163
+
164
+ 1. **During develop-tdd**: If the task modifies `.github/workflows/`, run `wire-ci --validate` as a CI dry-run sub-step
165
+ 2. **During release-branch**: After push, run `gh run list --limit 1 --branch main --json status,conclusion` to verify CI passes
166
+
167
+ ---
168
+
169
+ ## Reference block 1
170
+
46
171
  ```yaml
47
172
  name: CI
48
173
  on: [push, pull_request]
@@ -61,7 +186,10 @@ jobs:
61
186
  - run: cargo build --release
62
187
  ```
63
188
 
64
- **Node template (`package.json`):**
189
+ ---
190
+
191
+ ## Reference block 2
192
+
65
193
  ```yaml
66
194
  name: CI
67
195
  on: [push, pull_request]
@@ -81,7 +209,10 @@ jobs:
81
209
  - run: npm run build 2>/dev/null || true
82
210
  ```
83
211
 
84
- **Python template (`setup.py` / `pyproject.toml`):**
212
+ ---
213
+
214
+ ## Reference block 3
215
+
85
216
  ```yaml
86
217
  name: CI
87
218
  on: [push, pull_request]
@@ -101,7 +232,10 @@ jobs:
101
232
  - run: pytest
102
233
  ```
103
234
 
104
- **Go template (`go.mod`):**
235
+ ---
236
+
237
+ ## Reference block 4
238
+
105
239
  ```yaml
106
240
  name: CI
107
241
  on: [push, pull_request]
@@ -119,7 +253,10 @@ jobs:
119
253
  - run: go build ./...
120
254
  ```
121
255
 
122
- **C/C++ template (`CMakeLists.txt`):**
256
+ ---
257
+
258
+ ## Reference block 5
259
+
123
260
  ```yaml
124
261
  name: CI
125
262
  on: [push, pull_request]
@@ -133,9 +270,9 @@ jobs:
133
270
  - run: ctest --test-dir build
134
271
  ```
135
272
 
136
- ### 3. Generate release workflow (if semantic-release detected)
273
+ ---
137
274
 
138
- If the project has semantic-release configured (in `package.json`, `.releaserc`, or `release.config.js`), also generate `.github/workflows/release.yaml`:
275
+ ## Reference block 6
139
276
 
140
277
  ```yaml
141
278
  name: Release
@@ -166,11 +303,9 @@ jobs:
166
303
  NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
167
304
  ```
168
305
 
169
- > **NPM_TOKEN is required** for publishing to npm. Without it, semantic-release will fail at the publish step. See `--validate` to check this.
306
+ ---
170
307
 
171
- ### 4. Validate workflows (`--validate`)
172
-
173
- Run `wire-ci --validate` to check all generated workflow files:
308
+ ## Reference block 7
174
309
 
175
310
  ```bash
176
311
  # Validate YAML syntax
@@ -212,14 +347,9 @@ for f in .github/workflows/*.yaml; do
212
347
  done
213
348
  ```
214
349
 
215
- **Exit codes:**
216
- - `0` — all checks pass (no errors)
217
- - `1` — YAML syntax errors found
218
- - `2` — validation warnings only (missing permissions, secrets, etc.)
219
-
220
- ### 5. Dry-run workflows (`--dry-run`)
350
+ ---
221
351
 
222
- Attempt to run the generated workflows locally to catch errors before push:
352
+ ## Reference block 8
223
353
 
224
354
  ```bash
225
355
  # Option A: Use act (recommended)
@@ -235,75 +365,3 @@ else
235
365
  echo " Install gh CLI for remote dry-run"
236
366
  fi
237
367
  ```
238
-
239
- > **act** runs workflows in a local Docker environment — the most accurate pre-push validation.
240
- > **gh workflow run** sends the workflow to GitHub but doesn't execute locally — useful for checking YAML parsing but not for testing the actual steps.
241
-
242
- ### 6. Document common CI failure patterns
243
-
244
- Add the following to the project's documentation or CLAUDE.md after setup:
245
-
246
- | Failure | Cause | Fix |
247
- |---------|-------|-----|
248
- | `npm publish` fails | `NPM_TOKEN` not set as repo secret | Add `NPM_TOKEN` to GitHub repo secrets |
249
- | `semantic-release` fails on push | Missing `permissions: contents: write` | Add `permissions: contents: write` to release job |
250
- | `cargo publish` auth fail | `CARGO_REGISTRY_TOKEN` not set | Add token to `~/.cargo/config.toml` or env |
251
- | `go vet` fails | Go version mismatch | Match `go.mod` `go` directive with setup-go version |
252
- | `cargo clippy` errors | New lints in Rust nightly | `cargo clippy --fix` or allow specific lints |
253
- | `act` not found | Docker not running or act not installed | `brew install act` / `docker ps` to verify Docker |
254
- | Hardcoded Node version stale | `.nvmrc` exists but workflow uses hardcoded version | Use `node-version-file: .nvmrc` instead |
255
-
256
- ## Examples
257
-
258
- ### Create CI for a Rust project
259
-
260
- ```bash
261
- # Detect from Cargo.toml, generate workflows
262
- wire-ci
263
-
264
- # Validate generated workflows
265
- wire-ci --validate
266
-
267
- # Run locally with act
268
- wire-ci --dry-run
269
- ```
270
-
271
- ### Create CI for a Node project with semantic-release
272
-
273
- ```bash
274
- wire-ci
275
- wire-ci --validate
276
- # Expect warning: "npm publish step found but no NPM_TOKEN in secrets"
277
- # Fix: add NPM_TOKEN to repo secrets
278
- ```
279
-
280
- ### Validate existing workflows (no generation)
281
-
282
- ```bash
283
- wire-ci --validate --check-only
284
- ```
285
-
286
- ## Options
287
-
288
- | Flag | Description |
289
- |------|-------------|
290
- | `--validate` | Check YAML syntax, permissions, secrets, common pitfalls |
291
- | `--dry-run` | Run workflows locally via `act` or dispatch via `gh` |
292
- | `--check-only` | Only validate, do not generate new files |
293
- | `--type <type>` | Force project type (skip auto-detection) |
294
- | `--force` | Overwrite existing workflow files |
295
- | `--no-release` | Skip release workflow generation even if semantic-release detected |
296
-
297
- ## Integration with build-epic
298
-
299
- When `wire-ci` is used as part of `build-epic`:
300
-
301
- 1. **During develop-tdd**: If the task modifies `.github/workflows/`, run `wire-ci --validate` as a CI dry-run sub-step
302
- 2. **During release-branch**: After push, run `gh run list --limit 1 --branch main --json status,conclusion` to verify CI passes
303
-
304
- ## Verify
305
-
306
- → verify: `test -f wire-ci/SKILL.md && echo "OK: skill file exists" || echo "FAIL: no skill file"`
307
- → verify: `grep -q "name: wire-ci" wire-ci/SKILL.md && echo "OK: frontmatter" || echo "FAIL: frontmatter"`
308
- → verify: `grep -ci "template\|workflow\|validate\|dry.run" wire-ci/SKILL.md | awk '{if($1>=3) print "OK: semantics"; else print "FAIL: missing"}'`
309
- → verify: `grep -q "wire-ci" SKILL-INDEX.md && echo "OK: in SKILL-INDEX" || echo "FAIL: not indexed"`
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [2.34.2](https://github.com/danielvm-git/bigpowers/compare/v2.34.1...v2.34.2) (2026-06-27)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **ci:** trim 8 over-length SKILL.md files to pass check-skill-size lint ([c89125f](https://github.com/danielvm-git/bigpowers/commit/c89125ff921874b4aa19ca1df2e7ae47ece177d1))
7
+
8
+ ## [2.34.1](https://github.com/danielvm-git/bigpowers/compare/v2.34.0...v2.34.1) (2026-06-26)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **dashboard:** expose bigpowers-dashboard as global CLI bin entry ([7018583](https://github.com/danielvm-git/bigpowers/commit/7018583848807b80e9dd16e1e6ddf4e4bbe3c635))
14
+
1
15
  # [2.34.0](https://github.com/danielvm-git/bigpowers/compare/v2.33.0...v2.34.0) (2026-06-26)
2
16
 
3
17
 
package/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
4
4
  ![npm version](https://img.shields.io/npm/v/bigpowers.svg)
5
- ![Skills](https://img.shields.io/badge/skills-61-brightgreen.svg)
5
+ ![Skills](https://img.shields.io/badge/skills-70-brightgreen.svg)
6
6
 
7
- **61 agent skills for high-integrity, spec-driven, test-first software development by solo developers.**
7
+ **70 agent skills for high-integrity, spec-driven, test-first software development by solo developers.**
8
8
 
9
9
  `bigpowers` provides a prescriptive, vertical-slice methodology for building software with AI agents (Claude Code, Gemini CLI, Cursor, pi). It bridges the gap between raw LLM capabilities and professional engineering standards.
10
10
 
@@ -155,7 +155,7 @@ Or add manually to `.claude/settings.json`:
155
155
 
156
156
  | Tool | Description |
157
157
  |------|-------------|
158
- | `bigpowers_list_skills` | List all 68 skills with name, description, phase. Optional `phase` filter. |
158
+ | `bigpowers_list_skills` | List all 70 skills with name, description, phase. Optional `phase` filter. |
159
159
  | `bigpowers_get_skill` | Get full SKILL.md content for any skill by name. |
160
160
  | `bigpowers_search_skills` | Keyword/semantic search — returns ranked matches for a query. |
161
161
  | `bigpowers_get_state` | Get current `specs/state.yaml` (active flow, epic, step). |
@@ -224,7 +224,7 @@ ONCE/PROJECT orchestrate-project
224
224
  - `dashboard/`: Live monitoring tool — TUI (`npm run dashboard`) and web (`npm run dashboard:web`, port 7742).
225
225
  - `docs/`: Guides including `WORKFLOW-SOP-v2.md` (full SDLC SOP) and `using-bigpowers.md`.
226
226
  - `docs/references/`: Theoretical foundations (Uncle Bob, Ousterhout, Karpathy, etc.).
227
- - `[skill-name]/`: Source files for each of the 61 skills.
227
+ - `[skill-name]/`: Source files for each of the 70 skills.
228
228
 
229
229
  ---
230
230
 
package/SKILL-INDEX.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > **DO NOT EDIT** — This file is auto-generated by `scripts/generate-skill-index.sh`.
4
4
  > Edit `SKILL.md` source files or `skills-lock.json` instead. Run `bash scripts/sync-skills.sh` to regenerate.
5
5
 
6
- **Generated:** 2026-06-26T23:03:36Z
6
+ **Generated:** 2026-06-27T00:46:04Z
7
7
  **Skills:** 70
8
8
 
9
9
  ---
@@ -0,0 +1,82 @@
1
+ # Deploy — Reference
2
+
3
+ ## Configuration
4
+
5
+ | Variable | Default | Description |
6
+ |----------|---------|-------------|
7
+ | `ARTIFACT_DIR` | `dist` | Build output directory |
8
+ | `DEPLOY_URL` | *(required)* | Live URL for smoke test |
9
+ | `DEPLOY_TIMEOUT` | `300` | Max wait for deploy completion (seconds) |
10
+ | `DEPLOY_POLL_INTERVAL` | `30` | Polling interval (seconds) |
11
+ | `RETRY_MAX` | `3` | Max deploy retry attempts |
12
+ | `BUILD_COMMAND` | *(auto-detect)* | Override build command |
13
+
14
+
15
+ ---
16
+
17
+ ## Verification
18
+
19
+ → verify: `test -f deploy/SKILL.md && grep -q 'name: deploy' deploy/SKILL.md && echo OK`
20
+ → verify: `grep -qi 'build\|artifact\|deploy\|smoke' deploy/SKILL.md && echo OK`
21
+ → verify: `grep -ci 'package.json\|Cargo.toml\|Makefile\|manifest' deploy/SKILL.md | awk '{if($1>=1) print "OK"; else print "FAIL"}'`
22
+ → verify: `grep -ci 'timeout\|poll\|status\|retry\|backoff' deploy/SKILL.md | awk '{if($1>=2) print "OK"; else print "FAIL"}'`
23
+ → verify: `grep -q 'curl.*DEPLOY_URL\|smoke\|health' deploy/SKILL.md && echo OK`
24
+
25
+ ---
26
+
27
+ ## Reference block 1
28
+
29
+ ```bash
30
+ DEPLOY_TIMEOUT="${DEPLOY_TIMEOUT:-300}" # seconds (default 5 minutes)
31
+ DEPLOY_POLL_INTERVAL="${DEPLOY_POLL_INTERVAL:-30}" # seconds
32
+
33
+ start_time=$(date +%s)
34
+ while true; do
35
+ elapsed=$(( $(date +%s) - start_time ))
36
+ if [ "$elapsed" -ge "$DEPLOY_TIMEOUT" ]; then
37
+ echo "FAIL: deploy status polling timed out after ${DEPLOY_TIMEOUT}s"
38
+ exit 1
39
+ fi
40
+
41
+ status=$(get_deploy_status) # platform-specific status check
42
+ if [ "$status" = "ready" ] || [ "$status" = "done" ]; then
43
+ echo "Deploy completed in ${elapsed}s"
44
+ break
45
+ fi
46
+
47
+ sleep "$DEPLOY_POLL_INTERVAL"
48
+ done
49
+ ```
50
+
51
+ ---
52
+
53
+ ## Reference block 2
54
+
55
+ ```bash
56
+ RETRY_MAX="${RETRY_MAX:-3}"
57
+ base_delay=2
58
+ for attempt in $(seq 1 "$RETRY_MAX"); do
59
+ if deploy_command; then
60
+ break
61
+ fi
62
+ if [ "$attempt" -eq "$RETRY_MAX" ]; then
63
+ echo "FAIL: deploy failed after ${RETRY_MAX} attempts"
64
+ exit 1
65
+ fi
66
+ sleep $(( base_delay * 2 ** (attempt - 1) ))
67
+ done
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Reference block 3
73
+
74
+ ```bash
75
+ DEPLOY_URL="${DEPLOY_URL:?DEPLOY_URL must be set}"
76
+ if curl -sSf "$DEPLOY_URL" > /dev/null 2>&1; then
77
+ echo "OK: $DEPLOY_URL responds with HTTP 200"
78
+ else
79
+ echo "FAIL: $DEPLOY_URL is not responding with HTTP 200"
80
+ exit 1
81
+ fi
82
+ ```