godpowers 2.6.0 → 3.0.0
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 +45 -0
- package/README.md +46 -34
- package/RELEASE.md +49 -37
- package/SKILL.md +46 -48
- package/agents/god-deploy-engineer.md +2 -2
- package/agents/god-designer.md +3 -2
- package/agents/god-greenfieldifier.md +2 -4
- package/agents/god-launch-strategist.md +4 -5
- package/agents/god-observability-engineer.md +5 -5
- package/agents/god-reconciler.md +10 -4
- package/agents/god-retrospective.md +1 -1
- package/agents/god-updater.md +5 -5
- package/bin/install.js +11 -6
- package/extensions/data-pack/manifest.yaml +1 -1
- package/extensions/data-pack/package.json +1 -1
- package/extensions/launch-pack/manifest.yaml +1 -1
- package/extensions/launch-pack/package.json +1 -1
- package/extensions/security-pack/manifest.yaml +1 -1
- package/extensions/security-pack/package.json +1 -1
- package/fixtures/gate/build-pass/.godpowers/state.json +33 -0
- package/lib/README.md +2 -0
- package/lib/artifact-map.js +15 -3
- package/lib/cli-dispatch.js +39 -1
- package/lib/command-families.js +13 -8
- package/lib/context-writer.js +4 -4
- package/lib/gate.js +107 -9
- package/lib/install-profiles.js +39 -13
- package/lib/installer-args.js +25 -1
- package/lib/pillars.js +2 -4
- package/lib/recipes.js +16 -0
- package/lib/router.js +1 -5
- package/lib/source-sync.js +1 -1
- package/lib/state-advance.js +244 -0
- package/lib/state-lock.js +8 -4
- package/lib/state-views.js +460 -0
- package/lib/state.js +52 -3
- package/package.json +2 -2
- package/routing/god-audit.yaml +1 -1
- package/routing/god-build.yaml +1 -1
- package/routing/god-capture.yaml +41 -0
- package/routing/god-context.yaml +1 -1
- package/routing/god-deploy.yaml +3 -1
- package/routing/god-design.yaml +2 -2
- package/routing/god-extend.yaml +47 -0
- package/routing/god-fix.yaml +37 -0
- package/routing/god-launch.yaml +4 -1
- package/routing/god-lifecycle.yaml +1 -1
- package/routing/god-locate.yaml +1 -1
- package/routing/god-migrate.yaml +0 -1
- package/routing/god-mode.yaml +1 -1
- package/routing/god-observe.yaml +4 -1
- package/routing/god-plan.yaml +45 -0
- package/routing/god-prd.yaml +1 -1
- package/routing/god-reconcile.yaml +2 -5
- package/routing/god-ship.yaml +39 -0
- package/routing/god-sync.yaml +1 -1
- package/routing/recipes/returning-after-break.yaml +1 -1
- package/schema/state.v1.json +68 -1
- package/skills/god-arch.md +1 -1
- package/skills/god-build.md +6 -4
- package/skills/god-capture.md +45 -0
- package/skills/god-deploy.md +16 -14
- package/skills/god-design.md +3 -3
- package/skills/god-doctor.md +1 -1
- package/skills/god-extend.md +48 -0
- package/skills/god-fast.md +2 -2
- package/skills/god-feature.md +1 -1
- package/skills/god-fix.md +43 -0
- package/skills/god-harden.md +3 -3
- package/skills/god-hotfix.md +1 -1
- package/skills/god-init.md +14 -10
- package/skills/god-launch.md +14 -12
- package/skills/god-lifecycle.md +8 -1
- package/skills/god-locate.md +6 -0
- package/skills/god-mode.md +5 -4
- package/skills/god-observe.md +15 -13
- package/skills/god-pause-work.md +2 -2
- package/skills/god-plan.md +51 -0
- package/skills/god-prd.md +5 -4
- package/skills/god-quick.md +1 -1
- package/skills/god-repo.md +1 -1
- package/skills/god-resume-work.md +5 -4
- package/skills/god-roadmap-check.md +1 -0
- package/skills/god-roadmap-update.md +1 -1
- package/skills/god-roadmap.md +1 -1
- package/skills/god-rollback.md +1 -1
- package/skills/god-ship.md +44 -0
- package/skills/god-skip.md +2 -2
- package/skills/god-stack.md +1 -1
- package/skills/god-standards.md +1 -1
- package/skills/god-status.md +14 -9
- package/skills/god-story.md +1 -1
- package/skills/god-sync.md +2 -2
- package/skills/god-version.md +1 -1
- package/workflows/bluefield-arc.yaml +2 -4
- package/workflows/brownfield-arc.yaml +2 -4
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: god-fix
|
|
3
|
+
description: |
|
|
4
|
+
Fix verb dispatcher. Routes bug, regression, and production outage intent
|
|
5
|
+
to the existing debug or hotfix leaf commands.
|
|
6
|
+
|
|
7
|
+
Triggers on: "god fix", "/god-fix", "fix this bug", "debug this",
|
|
8
|
+
"production is broken", "hotfix"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /god-fix
|
|
12
|
+
|
|
13
|
+
Route fix intent to the smallest existing repair command.
|
|
14
|
+
|
|
15
|
+
## Runtime module resolution
|
|
16
|
+
|
|
17
|
+
Resolve the Godpowers runtime root before inspecting routes:
|
|
18
|
+
|
|
19
|
+
1. If `<projectRoot>/routing/god-debug.yaml` exists, use the repository checkout runtime at `<projectRoot>`.
|
|
20
|
+
2. Otherwise use the installed bundle at `<tool-config-dir>/godpowers-runtime`.
|
|
21
|
+
3. Read routing metadata from `<runtimeRoot>/routing/`.
|
|
22
|
+
|
|
23
|
+
## Dispatch
|
|
24
|
+
|
|
25
|
+
| Signal | Hand off to |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `hotfix`, `production`, `outage`, `urgent`, `down` | `/god-hotfix` |
|
|
28
|
+
| `debug`, `bug`, `failing`, `error`, `regression` | `/god-debug` |
|
|
29
|
+
|
|
30
|
+
Default to `/god-debug` when urgency is unclear.
|
|
31
|
+
|
|
32
|
+
## Process
|
|
33
|
+
|
|
34
|
+
1. Select the target leaf command from the table.
|
|
35
|
+
2. Read the selected leaf route YAML so prerequisites and next-step metadata stay source-controlled.
|
|
36
|
+
3. Show the selected command, the matched signal, and whether production urgency was detected.
|
|
37
|
+
4. Hand off to the selected leaf command after user confirmation.
|
|
38
|
+
|
|
39
|
+
## Guardrails
|
|
40
|
+
|
|
41
|
+
- Do not edit code directly from this dispatcher.
|
|
42
|
+
- Do not skip regression-test expectations from `/god-debug` or `/god-hotfix`.
|
|
43
|
+
- Keep both leaf commands callable as direct shortcuts.
|
package/skills/god-harden.md
CHANGED
|
@@ -13,7 +13,7 @@ Spawn the **god-harden-auditor** agent in a fresh context via the host platform'
|
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. Verify build is complete
|
|
16
|
+
1. Verify build is complete through `.godpowers/state.json` `tier-2.build.status == done`.
|
|
17
17
|
2. Spawn god-harden-auditor with full code access.
|
|
18
18
|
3. The agent writes `.godpowers/harden/FINDINGS.md`.
|
|
19
19
|
|
|
@@ -23,8 +23,8 @@ After god-harden-auditor returns:
|
|
|
23
23
|
1. Verify FINDINGS.md exists on disk
|
|
24
24
|
2. Run `npx godpowers gate --tier=harden --project=.` and do not proceed on a non-zero exit
|
|
25
25
|
3. Read findings classification:
|
|
26
|
-
- If any Critical:
|
|
27
|
-
- If only High/Medium/Low:
|
|
26
|
+
- If any Critical: run `npx godpowers state advance --step=harden --status=failed --project=.` and keep launch BLOCKED
|
|
27
|
+
- If only High/Medium/Low: run `npx godpowers state advance --step=harden --status=done --project=.`
|
|
28
28
|
|
|
29
29
|
## Have-Nots
|
|
30
30
|
|
package/skills/god-hotfix.md
CHANGED
|
@@ -72,7 +72,7 @@ Spawn **god-observability-engineer** briefly:
|
|
|
72
72
|
- Confirm recovery in metrics
|
|
73
73
|
|
|
74
74
|
### Phase 7: Schedule Postmortem
|
|
75
|
-
|
|
75
|
+
Record a state-backed follow-up TODO through the owning command wrapper:
|
|
76
76
|
"Run /god-postmortem within 48 hours for incident <id>"
|
|
77
77
|
|
|
78
78
|
Hotfix doesn't replace postmortem; it precedes it.
|
package/skills/god-init.md
CHANGED
|
@@ -3,7 +3,8 @@ name: god-init
|
|
|
3
3
|
description: |
|
|
4
4
|
Initialize a Godpowers project. Detects operating mode (greenfield, gap-fill,
|
|
5
5
|
audit, multi-repo) and project scale. Creates native Pillars project context
|
|
6
|
-
plus the .godpowers/ workflow state directory with
|
|
6
|
+
plus the .godpowers/ workflow state directory with state.json and generated
|
|
7
|
+
PROGRESS.md.
|
|
7
8
|
|
|
8
9
|
Triggers on: "god init", "start a project", "new project", "initialize"
|
|
9
10
|
---
|
|
@@ -18,9 +19,11 @@ This skill is a thin wrapper. Detection happens automatically; user never
|
|
|
18
19
|
needs to specify a mode.
|
|
19
20
|
|
|
20
21
|
1. Check if `.godpowers/` already exists:
|
|
21
|
-
- If yes: read
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
- If yes: read `.godpowers/state.json`, use generated `.godpowers/PROGRESS.md`
|
|
23
|
+
only as a legacy fallback, call
|
|
24
|
+
`lib/pillars.pillarizeExisting(projectRoot)` to ensure the existing
|
|
25
|
+
Godpowers project is also Pillar-ized, report current state, ask if user
|
|
26
|
+
wants to reset or resume
|
|
24
27
|
- If no: proceed with initialization
|
|
25
28
|
|
|
26
29
|
2. **Auto-detect what kind of project this is** (background, no user prompt):
|
|
@@ -124,7 +127,8 @@ needs to specify a mode.
|
|
|
124
127
|
- For brownfield: schedule preflight before archaeology + reconstruction
|
|
125
128
|
- For bluefield: load org-context, then schedule preflight as constraint intake
|
|
126
129
|
- Create directory structure
|
|
127
|
-
- Write
|
|
130
|
+
- Write `.godpowers/state.json` with mode, scale, timestamp, tier states,
|
|
131
|
+
then regenerate the managed `.godpowers/PROGRESS.md` view
|
|
128
132
|
- Return mode/scale/announcement to this skill
|
|
129
133
|
|
|
130
134
|
8. Detect scale by analyzing the description:
|
|
@@ -150,7 +154,7 @@ needs to specify a mode.
|
|
|
150
154
|
deploy.md
|
|
151
155
|
observe.md
|
|
152
156
|
.godpowers/
|
|
153
|
-
PROGRESS.md
|
|
157
|
+
PROGRESS.md # generated managed view
|
|
154
158
|
prep/
|
|
155
159
|
INITIAL-FINDINGS.md
|
|
156
160
|
IMPORTED-CONTEXT.md # only when legacy planning / Superpowers / BMAD context exists
|
|
@@ -167,7 +171,7 @@ needs to specify a mode.
|
|
|
167
171
|
harden/
|
|
168
172
|
```
|
|
169
173
|
|
|
170
|
-
10. Write
|
|
174
|
+
10. Write `state.json` with mode, scale, timestamp, and all tiers set to `pending`, then regenerate `.godpowers/PROGRESS.md`
|
|
171
175
|
|
|
172
176
|
11. Report to the user:
|
|
173
177
|
- Detected mode and scale
|
|
@@ -186,7 +190,7 @@ needs to specify a mode.
|
|
|
186
190
|
|
|
187
191
|
## Output
|
|
188
192
|
|
|
189
|
-
`.godpowers/
|
|
193
|
+
`.godpowers/state.json` created with initial state and `.godpowers/PROGRESS.md` generated as a managed human view.
|
|
190
194
|
|
|
191
195
|
Always create `.godpowers/prep/INITIAL-FINDINGS.md`. This is Godpowers'
|
|
192
196
|
durable answer to "what did init find in this codebase?" It captures codebase
|
|
@@ -201,7 +205,7 @@ as hypothesis-level input only.
|
|
|
201
205
|
|
|
202
206
|
## Native Pillars context and AI-tool context
|
|
203
207
|
|
|
204
|
-
After
|
|
208
|
+
After `state.json` is written and the progress view is generated, Pillars context is already present. Every
|
|
205
209
|
Godpowers project uses `AGENTS.md` plus `agents/*.md` as its native project
|
|
206
210
|
truth layer.
|
|
207
211
|
|
|
@@ -243,7 +247,7 @@ If the user later wants to enable it manually, they run `/god-context on`.
|
|
|
243
247
|
|
|
244
248
|
## Mode D detection (multi-repo workspace)
|
|
245
249
|
|
|
246
|
-
After
|
|
250
|
+
After `state.json` is written, also check whether this directory is
|
|
247
251
|
part of a multi-repo suite:
|
|
248
252
|
|
|
249
253
|
1. Call `lib/multi-repo-detector.detect(projectRoot)`.
|
package/skills/god-launch.md
CHANGED
|
@@ -17,21 +17,23 @@ Spawn the **god-launch-strategist** agent in a fresh context via the host platfo
|
|
|
17
17
|
2. If Critical findings exist: REFUSE to proceed. Tell user to resolve or
|
|
18
18
|
explicitly accept the risk first.
|
|
19
19
|
3. Spawn god-launch-strategist with PRD path and harden FINDINGS.md path.
|
|
20
|
-
4. The agent
|
|
20
|
+
4. The agent returns structured launch evidence for `.godpowers/state.json` plus landing copy artifacts; the generated `.godpowers/launch/STATE.md` view refreshes after state mutation.
|
|
21
21
|
|
|
22
22
|
## Verification
|
|
23
23
|
|
|
24
24
|
After god-launch-strategist returns:
|
|
25
|
-
1. Verify
|
|
25
|
+
1. Verify launch evidence is recorded in `.godpowers/state.json`
|
|
26
26
|
2. Verify landing copy passes substitution test
|
|
27
27
|
3. Verify OG cards rendered (not just meta tags)
|
|
28
28
|
4. Verify one of:
|
|
29
29
|
- launch target is live and smoke checked
|
|
30
30
|
- local launch-readiness harness passed and external access bundle is the
|
|
31
31
|
only missing item
|
|
32
|
-
5.
|
|
33
|
-
or explicit local launch-readiness scope is complete.
|
|
34
|
-
missing,
|
|
32
|
+
5. Run `npx godpowers state advance --step=launch --status=done --project=.`
|
|
33
|
+
only when live launch or explicit local launch-readiness scope is complete.
|
|
34
|
+
If external access is missing, record the waiting artifact path in launch
|
|
35
|
+
state through the owning command wrapper rather than editing the generated
|
|
36
|
+
progress or launch state views.
|
|
35
37
|
|
|
36
38
|
## Pause Conditions
|
|
37
39
|
|
|
@@ -41,7 +43,7 @@ approval require human input.
|
|
|
41
43
|
## On Completion
|
|
42
44
|
|
|
43
45
|
```
|
|
44
|
-
Launch complete: .godpowers/launch/STATE.md
|
|
46
|
+
Launch complete: .godpowers/launch/STATE.md (generated view)
|
|
45
47
|
|
|
46
48
|
All Godpowers tiers done. Project is live.
|
|
47
49
|
|
|
@@ -71,15 +73,15 @@ approval.
|
|
|
71
73
|
|
|
72
74
|
## Re-invocation contract
|
|
73
75
|
|
|
74
|
-
What happens if `/god-launch` is run when
|
|
76
|
+
What happens if `/god-launch` is run when launch state evidence already exists:
|
|
75
77
|
|
|
76
78
|
| Existing state | Behavior |
|
|
77
79
|
|---|---|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
| `--force` flag passed | Snapshot existing
|
|
80
|
+
| State evidence does not exist | Spawn god-launch-strategist; record launch evidence; mark sub-step done |
|
|
81
|
+
| State evidence exists and state.json says `done` | Pause: ask user (A) re-run anyway with diff preview, (B) treat as imported (no-op), (C) cancel |
|
|
82
|
+
| State evidence fails checks or the owning wrapper reports a generated view checksum warning | Spawn god-launch-strategist in update mode with current evidence plus findings as input. Diff preview before overwrite. |
|
|
83
|
+
| State evidence exists, state.json says `pending` | Treat as imported: hash + register, no agent spawn. User can `/god-launch --force` to re-run. |
|
|
84
|
+
| `--force` flag passed | Snapshot existing evidence to `.godpowers/.trash/god-launch-<ts>/`. Spawn agent fresh. |
|
|
83
85
|
| `--dry-run` flag passed | Show what would happen; touch nothing |
|
|
84
86
|
|
|
85
87
|
Snapshots in `.trash/` are recoverable via `/god-restore` for 30 days.
|
package/skills/god-lifecycle.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: god-lifecycle
|
|
3
|
+
deprecated: true
|
|
4
|
+
successor: god-status --lifecycle
|
|
3
5
|
description: |
|
|
4
6
|
Show where the project is in its lifecycle and what workflows make sense
|
|
5
7
|
next. Distinguishes: pre-init, planning, building, shipping, steady state,
|
|
@@ -11,13 +13,18 @@ description: |
|
|
|
11
13
|
|
|
12
14
|
# /god-lifecycle
|
|
13
15
|
|
|
16
|
+
Deprecated: prefer `/god-status --lifecycle` for new workflows. This command
|
|
17
|
+
remains callable in the full profile for one minor release as a compatibility
|
|
18
|
+
alias.
|
|
19
|
+
|
|
14
20
|
Show project phase and contextually appropriate workflows.
|
|
15
21
|
|
|
16
22
|
## Process
|
|
17
23
|
|
|
18
24
|
1. Detect lifecycle phase from disk:
|
|
19
25
|
- **No `.godpowers/`** -> Pre-init
|
|
20
|
-
- **`.godpowers/
|
|
26
|
+
- **`.godpowers/state.json` exists, not all tracked steps done** -> In progress
|
|
27
|
+
- **Only generated legacy `.godpowers/PROGRESS.md` exists** -> In progress after re-deriving state from disk
|
|
21
28
|
- **All tiers done, no special markers** -> Steady state
|
|
22
29
|
- **`.godpowers/postmortems/<id>/` exists with no POSTMORTEM.md** -> Post-incident pending
|
|
23
30
|
- **`.godpowers/migrations/<slug>/MIGRATION.md` exists, status != complete** -> In-migration
|
package/skills/god-locate.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: god-locate
|
|
3
|
+
deprecated: true
|
|
4
|
+
successor: god-status --locate
|
|
3
5
|
description: |
|
|
4
6
|
Orient a new chat session or new AI tool. Reads CHECKPOINT.md +
|
|
5
7
|
state.json + events.jsonl tail + intent.yaml + reflog tail and
|
|
@@ -12,6 +14,10 @@ description: |
|
|
|
12
14
|
|
|
13
15
|
# /god-locate
|
|
14
16
|
|
|
17
|
+
Deprecated: prefer `/god-status --locate` for new workflows. This command
|
|
18
|
+
remains callable in the full profile for one minor release as a compatibility
|
|
19
|
+
alias.
|
|
20
|
+
|
|
15
21
|
Orient a new session against disk reality. Single-screen output.
|
|
16
22
|
|
|
17
23
|
## When to use
|
package/skills/god-mode.md
CHANGED
|
@@ -19,8 +19,9 @@ workflow.
|
|
|
19
19
|
|
|
20
20
|
1. Resolve whether this is a new project run or a resume:
|
|
21
21
|
- If `.godpowers/state.json`, `.godpowers/PROGRESS.md`, or
|
|
22
|
-
`.godpowers/CHECKPOINT.md` exists, this is a resume.
|
|
23
|
-
|
|
22
|
+
`.godpowers/CHECKPOINT.md` exists, this is a resume. Treat `state.json`
|
|
23
|
+
as the source of truth and `PROGRESS.md` as a generated legacy fallback.
|
|
24
|
+
Do not ask the user to describe the project again. Call
|
|
24
25
|
`lib/pillars.pillarizeExisting(projectRoot)` first, then rehydrate intent
|
|
25
26
|
from disk and continue.
|
|
26
27
|
- If no durable Godpowers state exists and no project description was
|
|
@@ -41,7 +42,7 @@ workflow.
|
|
|
41
42
|
starting with `agents/context.md` and `agents/repo.md`
|
|
42
43
|
- `.godpowers/CHECKPOINT.md` first, when present
|
|
43
44
|
- `.godpowers/state.json`
|
|
44
|
-
- `.godpowers/PROGRESS.md`
|
|
45
|
+
- `.godpowers/PROGRESS.md` only as a generated legacy fallback when state is missing
|
|
45
46
|
- `.godpowers/intent.yaml`, when present
|
|
46
47
|
- `.godpowers/prep/INITIAL-FINDINGS.md`, when present
|
|
47
48
|
- `.godpowers/prep/IMPORTED-CONTEXT.md`, when present
|
|
@@ -78,7 +79,7 @@ workflow.
|
|
|
78
79
|
- The detected mode (A/B/C/E)
|
|
79
80
|
- The active flags
|
|
80
81
|
- Instruction that existing `.godpowers` state means resume, not prompt
|
|
81
|
-
- Instruction to read `.godpowers/
|
|
82
|
+
- Instruction to read `.godpowers/state.json` from disk, using `.godpowers/PROGRESS.md` only as generated legacy fallback when state is missing
|
|
82
83
|
- Instruction to read `.godpowers/prep/INITIAL-FINDINGS.md` and
|
|
83
84
|
`.godpowers/prep/IMPORTED-CONTEXT.md` if present before choosing the
|
|
84
85
|
first planning or build step
|
package/skills/god-observe.md
CHANGED
|
@@ -13,14 +13,14 @@ Spawn the **god-observability-engineer** agent in a fresh context via the host p
|
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. Verify `.godpowers/
|
|
16
|
+
1. Verify `.godpowers/state.json` records `tier-3.deploy.status == done`.
|
|
17
17
|
2. Spawn god-observability-engineer with PRD (for success metrics) and ARCH paths.
|
|
18
|
-
3. The agent
|
|
18
|
+
3. The agent returns structured observability evidence for `.godpowers/state.json`; the generated `.godpowers/observe/STATE.md` view refreshes after state mutation.
|
|
19
19
|
|
|
20
20
|
## Verification
|
|
21
21
|
|
|
22
22
|
After god-observability-engineer returns:
|
|
23
|
-
1. Verify
|
|
23
|
+
1. Verify observability evidence is recorded in `.godpowers/state.json`
|
|
24
24
|
2. Verify each SLO has an error budget policy
|
|
25
25
|
3. Verify each alert has a runbook
|
|
26
26
|
4. Verify provider work is one of:
|
|
@@ -28,14 +28,16 @@ After god-observability-engineer returns:
|
|
|
28
28
|
- provider-neutral definitions as code created and locally checked
|
|
29
29
|
- missing dashboard/API credentials appended to the single external access
|
|
30
30
|
bundle
|
|
31
|
-
5.
|
|
32
|
-
real provider config or local definitions as code. If
|
|
33
|
-
missing,
|
|
31
|
+
5. Run `npx godpowers state advance --step=observe --status=done --project=.`
|
|
32
|
+
only for verified real provider config or local definitions as code. If
|
|
33
|
+
external access is missing, record the missing access bundle in deploy or
|
|
34
|
+
observe state through the owning command wrapper rather than editing the
|
|
35
|
+
generated progress or observe state views.
|
|
34
36
|
|
|
35
37
|
## On Completion
|
|
36
38
|
|
|
37
39
|
```
|
|
38
|
-
Observability complete: .godpowers/observe/STATE.md
|
|
40
|
+
Observability complete: .godpowers/observe/STATE.md (generated view)
|
|
39
41
|
|
|
40
42
|
Suggested next: /god-harden (adversarial security review, gates Launch)
|
|
41
43
|
```
|
|
@@ -53,15 +55,15 @@ named command cannot run without one exact credential.
|
|
|
53
55
|
|
|
54
56
|
## Re-invocation contract
|
|
55
57
|
|
|
56
|
-
What happens if `/god-observe` is run when
|
|
58
|
+
What happens if `/god-observe` is run when observe state evidence already exists:
|
|
57
59
|
|
|
58
60
|
| Existing state | Behavior |
|
|
59
61
|
|---|---|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
| `--force` flag passed | Snapshot existing
|
|
62
|
+
| State evidence does not exist | Spawn god-observability-engineer; record observability evidence; mark sub-step done |
|
|
63
|
+
| State evidence exists and state.json says `done` | Pause: ask user (A) re-run anyway with diff preview, (B) treat as imported (no-op), (C) cancel |
|
|
64
|
+
| State evidence fails checks or the owning wrapper reports a generated view checksum warning | Spawn god-observability-engineer in update mode with current evidence plus findings as input. Diff preview before overwrite. |
|
|
65
|
+
| State evidence exists, state.json says `pending` | Treat as imported: hash + register, no agent spawn. User can `/god-observe --force` to re-run. |
|
|
66
|
+
| `--force` flag passed | Snapshot existing evidence to `.godpowers/.trash/god-observe-<ts>/`. Spawn agent fresh. |
|
|
65
67
|
| `--dry-run` flag passed | Show what would happen; touch nothing |
|
|
66
68
|
|
|
67
69
|
Snapshots in `.trash/` are recoverable via `/god-restore` for 30 days.
|
package/skills/god-pause-work.md
CHANGED
|
@@ -15,7 +15,7 @@ Create a context handoff so you can resume cleanly later.
|
|
|
15
15
|
|
|
16
16
|
## Process
|
|
17
17
|
|
|
18
|
-
1. Read `.godpowers/
|
|
18
|
+
1. Read `.godpowers/state.json` to capture current state; use `.godpowers/PROGRESS.md` only as a generated legacy fallback when state is missing.
|
|
19
19
|
2. Identify what was actively being worked on:
|
|
20
20
|
- Which slice? Which agent was running?
|
|
21
21
|
- What was the next step?
|
|
@@ -53,7 +53,7 @@ Paused: [timestamp]
|
|
|
53
53
|
`/god-resume-work` to load this context, then continue.
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
5.
|
|
56
|
+
5. Run `npx godpowers state advance --step=<current-step> --status=in-flight --project=.` if the current sub-step is not already in flight.
|
|
57
57
|
|
|
58
58
|
## On Completion
|
|
59
59
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: god-plan
|
|
3
|
+
description: |
|
|
4
|
+
Planning verb dispatcher. Routes planning intent to PRD, design,
|
|
5
|
+
architecture, roadmap, stack, or reconstruction leaf commands without
|
|
6
|
+
replacing those commands.
|
|
7
|
+
|
|
8
|
+
Triggers on: "god plan", "/god-plan", "plan this", "write the prd",
|
|
9
|
+
"choose architecture", "roadmap this", "pick stack"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# /god-plan
|
|
13
|
+
|
|
14
|
+
Route planning intent to the smallest existing planning command.
|
|
15
|
+
|
|
16
|
+
## Runtime module resolution
|
|
17
|
+
|
|
18
|
+
Resolve the Godpowers runtime root before inspecting routes:
|
|
19
|
+
|
|
20
|
+
1. If `<projectRoot>/routing/god-prd.yaml` exists, use the repository checkout runtime at `<projectRoot>`.
|
|
21
|
+
2. Otherwise use the installed bundle at `<tool-config-dir>/godpowers-runtime`.
|
|
22
|
+
3. Read routing metadata from `<runtimeRoot>/routing/`.
|
|
23
|
+
|
|
24
|
+
## Dispatch
|
|
25
|
+
|
|
26
|
+
Use the first explicit argument when present. Otherwise classify the user text.
|
|
27
|
+
|
|
28
|
+
| Signal | Hand off to |
|
|
29
|
+
|---|---|
|
|
30
|
+
| `prd`, `requirements`, `spec` | `/god-prd` |
|
|
31
|
+
| `design`, `product`, `ux` | `/god-design` |
|
|
32
|
+
| `arch`, `architecture`, `system` | `/god-arch` |
|
|
33
|
+
| `roadmap`, `milestone`, `sequence` | `/god-roadmap` |
|
|
34
|
+
| `stack`, `technology`, `dependency choice` | `/god-stack` |
|
|
35
|
+
| `reconstruct`, `brownfield plan`, `existing code` | `/god-reconstruct` |
|
|
36
|
+
|
|
37
|
+
Default to `/god-prd` when no stronger signal exists.
|
|
38
|
+
|
|
39
|
+
## Process
|
|
40
|
+
|
|
41
|
+
1. Select the target leaf command from the table.
|
|
42
|
+
2. Read the selected leaf route YAML so prerequisites and next-step metadata stay source-controlled.
|
|
43
|
+
3. Show the selected command, the matched signal, and the next command from the selected route.
|
|
44
|
+
4. Hand off to the selected leaf command after user confirmation.
|
|
45
|
+
|
|
46
|
+
## Guardrails
|
|
47
|
+
|
|
48
|
+
- Do not create planning artifacts directly.
|
|
49
|
+
- Do not spawn planning agents from this dispatcher.
|
|
50
|
+
- Do not bypass executable gates declared by the selected leaf route.
|
|
51
|
+
- Keep the selected leaf command callable as a direct shortcut.
|
package/skills/god-prd.md
CHANGED
|
@@ -13,11 +13,12 @@ Spawn the **god-pm** agent in a fresh context via the host platform's native age
|
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. If `.godpowers/
|
|
16
|
+
1. If `.godpowers/state.json` does not exist: tell the user to run `/god-init` first.
|
|
17
17
|
2. Read `.godpowers/prep/INITIAL-FINDINGS.md` if present.
|
|
18
18
|
3. Read `.godpowers/prep/IMPORTED-CONTEXT.md` if present.
|
|
19
|
-
4. Spawn god-pm with the user's project description from
|
|
20
|
-
prep artifacts. Prep artifacts are
|
|
19
|
+
4. Spawn god-pm with the user's project description from `state.json`,
|
|
20
|
+
`.godpowers/intent.yaml`, and any prep artifacts. Prep artifacts are
|
|
21
|
+
context, not source of truth.
|
|
21
22
|
5. The agent writes `.godpowers/prd/PRD.md`
|
|
22
23
|
6. The agent runs have-nots checks before declaring done
|
|
23
24
|
7. If god-pm pauses for a human question: relay to user using pause format
|
|
@@ -31,7 +32,7 @@ After god-pm returns:
|
|
|
31
32
|
1. Verify `.godpowers/prd/PRD.md` exists on disk
|
|
32
33
|
2. Spawn god-auditor briefly to verify have-nots pass
|
|
33
34
|
3. Run `npx godpowers gate --tier=prd --project=.` and do not proceed on a non-zero exit
|
|
34
|
-
4.
|
|
35
|
+
4. Run `npx godpowers state advance --step=prd --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md`.
|
|
35
36
|
|
|
36
37
|
## Pause Format
|
|
37
38
|
|
package/skills/god-quick.md
CHANGED
package/skills/god-repo.md
CHANGED
|
@@ -23,7 +23,7 @@ After god-repo-scaffolder returns:
|
|
|
23
23
|
1. Verify AUDIT.md exists on disk
|
|
24
24
|
2. Verify CI passes on the empty scaffold
|
|
25
25
|
3. Run `npx godpowers gate --tier=repo --project=.` and do not proceed on a non-zero exit
|
|
26
|
-
4.
|
|
26
|
+
4. Run `npx godpowers state advance --step=repo --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md`.
|
|
27
27
|
|
|
28
28
|
## On Completion
|
|
29
29
|
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
name: god-resume-work
|
|
3
3
|
description: |
|
|
4
4
|
Resume work from a previous session. Reads .godpowers/HANDOFF.md if it
|
|
5
|
-
exists, otherwise re-derives state from
|
|
6
|
-
from the last
|
|
5
|
+
exists, otherwise re-derives state from state.json and disk, with
|
|
6
|
+
PROGRESS.md as a generated legacy fallback. Continues from the last
|
|
7
|
+
incomplete sub-step.
|
|
7
8
|
|
|
8
9
|
Triggers on: "god resume", "/god-resume-work", "resume work", "continue",
|
|
9
10
|
"pick up where I left off"
|
|
@@ -24,9 +25,9 @@ Load context and continue.
|
|
|
24
25
|
- Confirm with user: "Pick up here?"
|
|
25
26
|
- If yes: route to the specific next action
|
|
26
27
|
|
|
27
|
-
3. If only PROGRESS.md exists:
|
|
28
|
+
3. If only generated legacy PROGRESS.md exists:
|
|
28
29
|
- Run the same logic as /god-next
|
|
29
|
-
- Suggest the next command based on state
|
|
30
|
+
- Suggest the next command based on re-derived state
|
|
30
31
|
|
|
31
32
|
4. After resuming, archive HANDOFF.md:
|
|
32
33
|
- Move to `.godpowers/archive/HANDOFF-[timestamp].md` so the trail is preserved
|
|
@@ -43,7 +43,7 @@ Agent updates the roadmap and re-validates have-nots.
|
|
|
43
43
|
After god-roadmap-updater returns:
|
|
44
44
|
1. Verify ROADMAP.md still passes have-nots (R-01 through R-07)
|
|
45
45
|
2. Verify Roadmap Changelog section is appended
|
|
46
|
-
3.
|
|
46
|
+
3. If the update changes tracked roadmap completion, run `npx godpowers state advance --step=roadmap --status=done --project=.` or the owning command wrapper.
|
|
47
47
|
|
|
48
48
|
## On Completion
|
|
49
49
|
|
package/skills/god-roadmap.md
CHANGED
|
@@ -24,7 +24,7 @@ After god-roadmapper returns:
|
|
|
24
24
|
1. Verify ROADMAP.md exists on disk
|
|
25
25
|
2. Spawn god-auditor to verify have-nots pass
|
|
26
26
|
3. Run `npx godpowers gate --tier=roadmap --project=.` and do not proceed on a non-zero exit
|
|
27
|
-
4.
|
|
27
|
+
4. Run `npx godpowers state advance --step=roadmap --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md`.
|
|
28
28
|
|
|
29
29
|
## On Completion
|
|
30
30
|
|
package/skills/god-rollback.md
CHANGED
|
@@ -38,7 +38,7 @@ Examples:
|
|
|
38
38
|
5. Mark each tier `status: pending` in state.json.
|
|
39
39
|
6. Append a `op:rollback` event to the reflog with the full closure.
|
|
40
40
|
7. Truncate the linkage map entries belonging to rolled-back artifacts.
|
|
41
|
-
8.
|
|
41
|
+
8. Regenerate managed state views from `state.json`.
|
|
42
42
|
|
|
43
43
|
## Difference from /god-undo
|
|
44
44
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: god-ship
|
|
3
|
+
description: |
|
|
4
|
+
Ship verb dispatcher. Routes release, deploy, observability, and launch
|
|
5
|
+
closure intent to existing deploy, observe, and launch leaf commands.
|
|
6
|
+
|
|
7
|
+
Triggers on: "god ship", "/god-ship", "ship this", "deploy this",
|
|
8
|
+
"launch this", "wire observability"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /god-ship
|
|
12
|
+
|
|
13
|
+
Route shipping intent to the smallest existing shipping command.
|
|
14
|
+
|
|
15
|
+
## Runtime module resolution
|
|
16
|
+
|
|
17
|
+
Resolve the Godpowers runtime root before inspecting routes:
|
|
18
|
+
|
|
19
|
+
1. If `<projectRoot>/routing/god-deploy.yaml` exists, use the repository checkout runtime at `<projectRoot>`.
|
|
20
|
+
2. Otherwise use the installed bundle at `<tool-config-dir>/godpowers-runtime`.
|
|
21
|
+
3. Read routing metadata from `<runtimeRoot>/routing/`.
|
|
22
|
+
|
|
23
|
+
## Dispatch
|
|
24
|
+
|
|
25
|
+
| Signal | Hand off to |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `deploy`, `pipeline`, `environment` | `/god-deploy` |
|
|
28
|
+
| `observe`, `observability`, `slo`, `alert`, `runbook` | `/god-observe` |
|
|
29
|
+
| `launch`, `release copy`, `go live` | `/god-launch` |
|
|
30
|
+
|
|
31
|
+
Default to `/god-deploy` when no stronger signal exists.
|
|
32
|
+
|
|
33
|
+
## Process
|
|
34
|
+
|
|
35
|
+
1. Select the target leaf command from the table.
|
|
36
|
+
2. Read the selected leaf route YAML so prerequisites and next-step metadata stay source-controlled.
|
|
37
|
+
3. Show the selected command, the matched signal, and the release gate implied by that leaf.
|
|
38
|
+
4. Hand off to the selected leaf command after user confirmation.
|
|
39
|
+
|
|
40
|
+
## Guardrails
|
|
41
|
+
|
|
42
|
+
- Do not publish, tag, deploy, or create release notes directly from this dispatcher.
|
|
43
|
+
- Do not bypass safe-sync, harden, or launch prerequisites from the selected route.
|
|
44
|
+
- Keep deploy, observe, and launch callable as direct shortcuts.
|
package/skills/god-skip.md
CHANGED
|
@@ -32,7 +32,7 @@ The reason is required. Skips without reason are rejected.
|
|
|
32
32
|
mandatory; e.g. /god-mode rejects skipping the final /god-sync).
|
|
33
33
|
3. Mark the sub-step `status: skipped` in state.json with `skipped-reason`.
|
|
34
34
|
4. Append a `op:skip` event to the reflog.
|
|
35
|
-
5.
|
|
35
|
+
5. Regenerate the managed progress view from `state.json` so the user sees the skip annotated.
|
|
36
36
|
|
|
37
37
|
## What skip does NOT do
|
|
38
38
|
|
|
@@ -59,7 +59,7 @@ Reverse a previous skip. Marks the sub-step `pending` again.
|
|
|
59
59
|
|
|
60
60
|
## Implementation
|
|
61
61
|
|
|
62
|
-
Built-in. Reads
|
|
62
|
+
Built-in. Reads and writes `state.json`, regenerates the managed progress view, and appends to reflog.
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
## Locking
|
package/skills/god-stack.md
CHANGED
|
@@ -22,7 +22,7 @@ Spawn the **god-stack-selector** agent in a fresh context via the host platform'
|
|
|
22
22
|
After god-stack-selector returns:
|
|
23
23
|
1. Verify DECISION.md exists on disk
|
|
24
24
|
2. Run `npx godpowers gate --tier=stack --project=.` and do not proceed on a non-zero exit
|
|
25
|
-
3.
|
|
25
|
+
3. Run `npx godpowers state advance --step=stack --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md`.
|
|
26
26
|
|
|
27
27
|
## On Completion
|
|
28
28
|
|
package/skills/god-standards.md
CHANGED
|
@@ -22,7 +22,7 @@ Run quality gate check on an artifact.
|
|
|
22
22
|
|
|
23
23
|
## Process
|
|
24
24
|
|
|
25
|
-
1. Identify the artifact to check
|
|
25
|
+
1. Identify the artifact to check, using the user-provided path first, then `state.json`, then generated progress view fallback.
|
|
26
26
|
2. Resolve the Godpowers runtime root: use `<projectRoot>` when `<projectRoot>/lib/router.js` exists, otherwise use the installed bundle at `<tool-config-dir>/godpowers-runtime`
|
|
27
27
|
3. Look up the routing for the relevant tier (`<runtimeRoot>/lib/router.js` getStandards)
|
|
28
28
|
4. Spawn god-standards-check in fresh context with:
|