godpowers 0.15.2 → 0.15.4
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/CHANGELOG.md +31 -0
- package/README.md +2 -2
- package/agents/god-orchestrator.md +11 -10
- package/bin/install.js +37 -8
- package/package.json +1 -1
- package/skills/god-doctor.md +2 -2
- package/skills/god-extension-add.md +2 -2
- package/skills/god-extension-info.md +2 -2
- package/skills/god-extension-list.md +3 -3
- package/skills/god-test-extension.md +1 -1
- package/skills/god-version.md +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,37 @@ All notable changes to Godpowers will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.15.4] - 2026-05-11
|
|
9
|
+
|
|
10
|
+
Codex command discovery release. Installs Godpowers commands in the directory
|
|
11
|
+
shape Codex loads as individual skills.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Codex installs now write each command as `~/.codex/skills/<command>/SKILL.md`,
|
|
15
|
+
so commands like `/god-next`, `/god-status`, and `/god-init` show up as
|
|
16
|
+
separate Codex skills instead of only exposing the umbrella `godpowers`
|
|
17
|
+
skill.
|
|
18
|
+
- Codex uninstall now removes those command directories while preserving
|
|
19
|
+
unrelated user skills.
|
|
20
|
+
|
|
21
|
+
### Tests
|
|
22
|
+
- Added installer smoke coverage for Codex skill-directory installs and
|
|
23
|
+
uninstalls.
|
|
24
|
+
|
|
25
|
+
## [0.15.3] - 2026-05-11
|
|
26
|
+
|
|
27
|
+
Documentation refresh release. Aligns the public docs, architecture map,
|
|
28
|
+
roadmap, command examples, and extension examples with the shipped v0.15
|
|
29
|
+
surface.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
- Updated command and agent counts across README, reference docs, roadmap,
|
|
33
|
+
architecture docs, and command examples.
|
|
34
|
+
- Documented the installed runtime root path convention for routing, recipes,
|
|
35
|
+
workflows, and runtime modules.
|
|
36
|
+
- Refreshed extension examples to match first-party pack versions and current
|
|
37
|
+
Godpowers engine compatibility.
|
|
38
|
+
|
|
8
39
|
## [0.15.2] - 2026-05-11
|
|
9
40
|
|
|
10
41
|
Runtime hardening release. Fixes packaging and workflow edge cases found by
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/aihxp/godpowers/actions/workflows/ci.yml)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](CHANGELOG.md)
|
|
6
6
|
[](https://www.npmjs.com/package/godpowers)
|
|
7
7
|
|
|
8
8
|
**Ship fast. Ship right. Ship everything. Ship accountably.**
|
|
@@ -223,7 +223,7 @@ Pi. T3 Code inherits from the underlying agent (Codex / Claude / OpenCode).
|
|
|
223
223
|
|
|
224
224
|
- [Getting Started](docs/getting-started.md)
|
|
225
225
|
- [Concepts](docs/concepts.md)
|
|
226
|
-
- [Command reference (all
|
|
226
|
+
- [Command reference (all 105 skills + 38 agents)](docs/reference.md)
|
|
227
227
|
- [Roadmap](docs/ROADMAP.md)
|
|
228
228
|
- [Changelog](CHANGELOG.md)
|
|
229
229
|
- [Inspiration](INSPIRATION.md)
|
|
@@ -28,7 +28,7 @@ You and only you are responsible for:
|
|
|
28
28
|
1. **Reading the defense** - mode detection (greenfield/brownfield/bluefield/audit)
|
|
29
29
|
and scale detection.
|
|
30
30
|
2. **Calling the play** - selecting the next specialist agent for each tier
|
|
31
|
-
sub-step from
|
|
31
|
+
sub-step from `<runtimeRoot>/routing/<command>.yaml`.
|
|
32
32
|
3. **Owning the playbook** - all writes to `state.json`, `PROGRESS.md`,
|
|
33
33
|
`intent.yaml`, and `events.jsonl` originate from you or agents you spawn.
|
|
34
34
|
4. **Audibles** - handling pause checkpoints, the critical-finding gate, and
|
|
@@ -140,9 +140,11 @@ Before each tier, check whether this repo is part of a registered suite:
|
|
|
140
140
|
|
|
141
141
|
## Routing-Driven Decisions
|
|
142
142
|
|
|
143
|
-
For routing decisions, consult
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
For routing decisions, consult `<runtimeRoot>/routing/<command>.yaml` files.
|
|
144
|
+
When running from a repository checkout, `<runtimeRoot>` is the project root.
|
|
145
|
+
When installed into an AI tool, `<runtimeRoot>` is
|
|
146
|
+
`<tool-config-dir>/godpowers-runtime`. These files define prerequisites,
|
|
147
|
+
success-paths, standards checks, and endoff for each command.
|
|
146
148
|
|
|
147
149
|
When deciding what to spawn next, query the routing definition:
|
|
148
150
|
- `prerequisites.required` -> what must be done first
|
|
@@ -159,11 +161,10 @@ producing agent's own self-check would miss.
|
|
|
159
161
|
## Recipe-Driven Decisions (for fuzzy intent)
|
|
160
162
|
|
|
161
163
|
When the user describes intent in plain English instead of running a specific
|
|
162
|
-
command, consult
|
|
163
|
-
|
|
164
|
-
that map fuzzy intent to specific command sequences.
|
|
164
|
+
command, consult `<runtimeRoot>/routing/recipes/*.yaml`. These are
|
|
165
|
+
scenario-based recipes that map fuzzy intent to specific command sequences.
|
|
165
166
|
|
|
166
|
-
Programmatic access via
|
|
167
|
+
Programmatic access via `<runtimeRoot>/lib/recipes.js`:
|
|
167
168
|
- `matchIntent(text, projectRoot)` -> ranked recipe matches by keyword
|
|
168
169
|
- `suggestForState(projectRoot)` -> recipes matching current lifecycle phase
|
|
169
170
|
- `getRecipe(name)` -> lookup specific recipe
|
|
@@ -175,8 +176,8 @@ function returns the `add-feature-mid-arc-pause` recipe with sequence
|
|
|
175
176
|
with the "why" annotations for each step.
|
|
176
177
|
|
|
177
178
|
This is the third layer of decision support:
|
|
178
|
-
1. **Routing** (routing/<command>.yaml): structural prerequisites and gates
|
|
179
|
-
2. **Recipes** (routing/recipes/<recipe>.yaml): scenario-based sequences
|
|
179
|
+
1. **Routing** (`<runtimeRoot>/routing/<command>.yaml`): structural prerequisites and gates
|
|
180
|
+
2. **Recipes** (`<runtimeRoot>/routing/recipes/<recipe>.yaml`): scenario-based sequences
|
|
180
181
|
3. **Standards** (god-standards-check): quality gates between stages
|
|
181
182
|
|
|
182
183
|
## Detection-Driven Tier 1 Routing
|
package/bin/install.js
CHANGED
|
@@ -171,6 +171,36 @@ function copyRuntimeBundle(srcDir, destDir) {
|
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
+
function installSkillFile(srcFile, skillsDest, runtimeKey, targetName = null) {
|
|
175
|
+
const baseName = targetName || path.basename(srcFile, '.md');
|
|
176
|
+
if (runtimeKey === 'codex') {
|
|
177
|
+
const skillDir = path.join(skillsDest, baseName);
|
|
178
|
+
ensureDir(skillDir);
|
|
179
|
+
fs.copyFileSync(srcFile, path.join(skillDir, 'SKILL.md'));
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
fs.copyFileSync(srcFile, path.join(skillsDest, `${baseName}.md`));
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
function removeSkillEntry(skillsDir, entry) {
|
|
186
|
+
const entryPath = path.join(skillsDir, entry.name);
|
|
187
|
+
if (entry.isDirectory()) {
|
|
188
|
+
const skillFile = path.join(entryPath, 'SKILL.md');
|
|
189
|
+
if (entry.name.startsWith('god-') || entry.name === 'god' || entry.name === 'godpowers') {
|
|
190
|
+
if (fs.existsSync(skillFile)) {
|
|
191
|
+
fs.rmSync(entryPath, { recursive: true, force: true });
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
if (entry.name.startsWith('god-') || entry.name === 'god.md' || entry.name === 'godpowers.md') {
|
|
198
|
+
fs.unlinkSync(entryPath);
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
|
|
174
204
|
// ---------------------------------------------------------------------------
|
|
175
205
|
// Parse args
|
|
176
206
|
// ---------------------------------------------------------------------------
|
|
@@ -242,11 +272,12 @@ function installForRuntime(runtimeKey, srcDir) {
|
|
|
242
272
|
let count = 0;
|
|
243
273
|
for (const file of fs.readdirSync(skillsSrc)) {
|
|
244
274
|
if (file.endsWith('.md')) {
|
|
245
|
-
|
|
275
|
+
installSkillFile(path.join(skillsSrc, file), skillsDest, runtimeKey);
|
|
246
276
|
count++;
|
|
247
277
|
}
|
|
248
278
|
}
|
|
249
|
-
|
|
279
|
+
const shape = runtimeKey === 'codex' ? 'Codex skill directories' : 'skills/';
|
|
280
|
+
success(`Installed ${count} slash commands to ${shape}`);
|
|
250
281
|
}
|
|
251
282
|
|
|
252
283
|
// 2. Install specialist agents to agents/
|
|
@@ -268,9 +299,8 @@ function installForRuntime(runtimeKey, srcDir) {
|
|
|
268
299
|
// 3. Install the master SKILL.md (always-on context)
|
|
269
300
|
const masterSkill = path.join(srcDir, 'SKILL.md');
|
|
270
301
|
if (fs.existsSync(masterSkill)) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
success('Installed master SKILL.md as godpowers.md');
|
|
302
|
+
installSkillFile(masterSkill, skillsDest, runtimeKey, 'godpowers');
|
|
303
|
+
success('Installed master SKILL.md as godpowers');
|
|
274
304
|
}
|
|
275
305
|
|
|
276
306
|
// 4. Install templates
|
|
@@ -368,9 +398,8 @@ function uninstallForRuntime(runtimeKey) {
|
|
|
368
398
|
|
|
369
399
|
// Remove all god-* skills
|
|
370
400
|
if (fs.existsSync(skillsDir)) {
|
|
371
|
-
for (const
|
|
372
|
-
if (
|
|
373
|
-
fs.unlinkSync(path.join(skillsDir, file));
|
|
401
|
+
for (const entry of fs.readdirSync(skillsDir, { withFileTypes: true })) {
|
|
402
|
+
if (removeSkillEntry(skillsDir, entry)) {
|
|
374
403
|
removed++;
|
|
375
404
|
}
|
|
376
405
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "godpowers",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.4",
|
|
4
4
|
"description": "AI-powered development system: 104 slash commands and 38 specialist agents that take a project from raw idea to hardened production. Runs inside Claude Code, Codex, Cursor, Windsurf, Gemini, and 10+ other AI coding tools.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"godpowers": "./bin/install.js"
|
package/skills/god-doctor.md
CHANGED
|
@@ -46,9 +46,9 @@ Plain-text report grouped by severity:
|
|
|
46
46
|
GODPOWERS DOCTOR
|
|
47
47
|
|
|
48
48
|
Install: claude (~/.claude/)
|
|
49
|
-
[OK]
|
|
49
|
+
[OK] 105 skills installed
|
|
50
50
|
[OK] 38 agents installed
|
|
51
|
-
[OK] VERSION matches (0.
|
|
51
|
+
[OK] VERSION matches (0.15.3)
|
|
52
52
|
[WARN] routing/god-doctor.yaml exists but skill file did not until now
|
|
53
53
|
|
|
54
54
|
Project: /Users/.../my-project/.godpowers/
|
|
@@ -22,8 +22,8 @@ Where `<source>` is either:
|
|
|
22
22
|
- An absolute or relative path to a directory containing `manifest.yaml`
|
|
23
23
|
(e.g. `./extensions/security-pack`)
|
|
24
24
|
- A scoped npm package name (e.g. `@godpowers/security-pack`).
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
First-party packs are publish-ready npm packages; local directories
|
|
26
|
+
remain supported for development and private packs.
|
|
27
27
|
|
|
28
28
|
## Process
|
|
29
29
|
|
|
@@ -23,7 +23,7 @@ Example:
|
|
|
23
23
|
## Output
|
|
24
24
|
|
|
25
25
|
```
|
|
26
|
-
EXTENSION: @godpowers/security-pack
|
|
26
|
+
EXTENSION: @godpowers/security-pack v0.1.0
|
|
27
27
|
Path: ~/.claude/godpowers-extensions/@godpowers/security-pack
|
|
28
28
|
Description:
|
|
29
29
|
Compliance-aware security agents for SOC 2, HIPAA, and PCI-DSS
|
|
@@ -31,7 +31,7 @@ Description:
|
|
|
31
31
|
specific checks.
|
|
32
32
|
|
|
33
33
|
Engines:
|
|
34
|
-
godpowers: >=
|
|
34
|
+
godpowers: >=0.14.0 <2.0.0 (compatible with running v0.15.3? YES)
|
|
35
35
|
|
|
36
36
|
Provides:
|
|
37
37
|
Agents (3):
|
|
@@ -18,17 +18,17 @@ List installed godpowers extensions.
|
|
|
18
18
|
```
|
|
19
19
|
INSTALLED EXTENSIONS (3)
|
|
20
20
|
|
|
21
|
-
@godpowers/security-pack
|
|
21
|
+
@godpowers/security-pack v0.1.0
|
|
22
22
|
Path: ~/.claude/godpowers-extensions/@godpowers/security-pack
|
|
23
23
|
Skills: /god-soc2-audit, /god-hipaa-audit, /god-pci-audit
|
|
24
24
|
Agents: god-soc2-auditor, god-hipaa-auditor, god-pci-auditor
|
|
25
25
|
Workflows: soc2-arc, hipaa-arc, pci-arc
|
|
26
26
|
|
|
27
|
-
@godpowers/launch-pack
|
|
27
|
+
@godpowers/launch-pack v0.1.0
|
|
28
28
|
Path: ~/.claude/godpowers-extensions/@godpowers/launch-pack
|
|
29
29
|
Skills: /god-show-hn, /god-product-hunt, /god-indie-hackers, /god-oss-release
|
|
30
30
|
|
|
31
|
-
@godpowers/data-pack v0.
|
|
31
|
+
@godpowers/data-pack v0.1.0
|
|
32
32
|
Path: ~/.claude/godpowers-extensions/@godpowers/data-pack
|
|
33
33
|
Skills: /god-etl, /god-ml-feature, /god-dashboard
|
|
34
34
|
```
|
|
@@ -49,7 +49,7 @@ Manifest: ./extensions/security-pack/manifest.yaml [OK]
|
|
|
49
49
|
apiVersion: godpowers/v1 [OK]
|
|
50
50
|
metadata.name: @godpowers/security-pack [OK]
|
|
51
51
|
metadata.version: 1.0.0 [OK]
|
|
52
|
-
engines.godpowers: >=
|
|
52
|
+
engines.godpowers: >=0.14.0 <2.0.0 [OK]
|
|
53
53
|
|
|
54
54
|
Provided surface:
|
|
55
55
|
agents/god-soc2-auditor.md [OK]
|
package/skills/god-version.md
CHANGED
|
@@ -14,9 +14,9 @@ Print version and a short capability summary.
|
|
|
14
14
|
## Output
|
|
15
15
|
|
|
16
16
|
```
|
|
17
|
-
Godpowers v0.
|
|
17
|
+
Godpowers v0.15.3
|
|
18
18
|
Install: /Users/.../.claude/ (matches package.json)
|
|
19
|
-
Surface:
|
|
19
|
+
Surface: 105 skills, 38 agents, 13 workflows, 36 recipes
|
|
20
20
|
Schema: intent.v1, state.v1, events.v1, workflow.v1, routing.v1, recipe.v1
|
|
21
21
|
External integrations available: impeccable, agent-browser (others lazy)
|
|
22
22
|
```
|