godpowers 1.6.13 → 1.6.14
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 +26 -0
- package/README.md +5 -3
- package/RELEASE.md +21 -22
- package/SKILL.md +5 -0
- package/agents/god-automation-engineer.md +103 -0
- package/agents/god-orchestrator.md +2 -1
- package/lib/automation-providers.js +189 -4
- package/package.json +2 -2
- package/routing/god-automation-setup.yaml +1 -1
- package/skills/god-automation-setup.md +39 -6
- package/skills/god-doctor.md +1 -1
- package/skills/god-version.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ 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
|
+
## [1.6.14] - 2026-05-16
|
|
9
|
+
|
|
10
|
+
Approved automation setup execution.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Added `god-automation-engineer`, a specialist agent for approved host-native
|
|
14
|
+
automation setup.
|
|
15
|
+
- Added automation execution-plan metadata to `lib/automation-providers.js`.
|
|
16
|
+
- Added gated automation state recording helpers:
|
|
17
|
+
`buildAutomationRecord(...)` and `recordAutomation(...)`.
|
|
18
|
+
- Added tests for host tool execution plans, complex setup delegation, and
|
|
19
|
+
post-success automation recording.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- `/god-automation-setup` now distinguishes simple direct host tool calling
|
|
23
|
+
from complex setup that should spawn `god-automation-engineer`.
|
|
24
|
+
- Setup plans now show method, action, host tool availability, specialist
|
|
25
|
+
agent routing, and the state file written after success.
|
|
26
|
+
- Automation docs now explain that CLI commands are deterministic and
|
|
27
|
+
read-only, while slash-command hosts can use LLM tool calling after approval.
|
|
28
|
+
|
|
29
|
+
### Guardrails
|
|
30
|
+
- `.godpowers/automations.json` is written only after host setup succeeds.
|
|
31
|
+
- Complex, write-capable, background-agent, scriptable-scheduler, or uncertain
|
|
32
|
+
setup routes through `god-automation-engineer`.
|
|
33
|
+
|
|
8
34
|
## [1.6.13] - 2026-05-16
|
|
9
35
|
|
|
10
36
|
Host automation provider discovery and opt-in setup planning.
|
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.**
|
|
@@ -12,7 +12,7 @@ idea to hardened production. It runs as **slash commands inside your AI coding
|
|
|
12
12
|
tool** (Claude Code, Codex, Cursor, etc.) that orchestrate **specialist agents**
|
|
13
13
|
in fresh contexts to do the work.
|
|
14
14
|
|
|
15
|
-
Version 1.6.
|
|
15
|
+
Version 1.6.14 builds on the executable dashboard engine and CLI status surface:
|
|
16
16
|
`godpowers status --project .` and `godpowers next --project .` now compute the
|
|
17
17
|
same disk-derived progress, planning visibility, proactive checks, and next
|
|
18
18
|
action used by `/god-status`, `/god-next`, and God Mode closeouts.
|
|
@@ -20,6 +20,8 @@ It adds an opt-in automation-provider layer so Godpowers can detect host
|
|
|
20
20
|
automation surfaces such as Codex App automations, Claude Routines, Cline
|
|
21
21
|
schedules, Qwen loops, Cursor Background Agents, Copilot cloud agent, and
|
|
22
22
|
scriptable CLI providers without silently creating background work.
|
|
23
|
+
Approved setup can now use host tool calling for simple read-only automation
|
|
24
|
+
or spawn `god-automation-engineer` for complex automation setup.
|
|
23
25
|
|
|
24
26
|
It fuses four disciplines into one unified workflow:
|
|
25
27
|
|
|
@@ -337,7 +339,7 @@ Pi. T3 Code inherits from the underlying agent (Codex / Claude / OpenCode).
|
|
|
337
339
|
|
|
338
340
|
- [Getting Started](docs/getting-started.md)
|
|
339
341
|
- [Concepts](docs/concepts.md)
|
|
340
|
-
- [Command reference (all 108 skills +
|
|
342
|
+
- [Command reference (all 108 skills + 40 agents)](docs/reference.md)
|
|
341
343
|
- [Roadmap](docs/ROADMAP.md)
|
|
342
344
|
- [1.5 Release Notes](RELEASE.md)
|
|
343
345
|
- [Changelog](CHANGELOG.md)
|
package/RELEASE.md
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# Godpowers 1.6.
|
|
1
|
+
# Godpowers 1.6.14 Release
|
|
2
2
|
|
|
3
3
|
Date: 2026-05-16
|
|
4
4
|
|
|
5
|
-
Godpowers 1.6.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
Godpowers 1.6.14 turns automation setup from a plan-only contract into an
|
|
6
|
+
approved execution contract for hosts that expose tool calling. The CLI remains
|
|
7
|
+
deterministic and read-only, while `/god-automation-setup` can use host-native
|
|
8
|
+
tool calling for simple read-only setup or spawn `god-automation-engineer` for
|
|
9
|
+
complex setup.
|
|
10
10
|
|
|
11
11
|
## What is stable
|
|
12
12
|
|
|
13
13
|
- 108 slash commands
|
|
14
|
-
-
|
|
14
|
+
- 40 specialist agents
|
|
15
15
|
- 13 executable workflows
|
|
16
16
|
- 36 intent recipes
|
|
17
17
|
- 15-runtime installer
|
|
18
|
-
-
|
|
18
|
+
- 459 package files in the npm tarball
|
|
19
19
|
- Codex installs with generated `god-*.toml` agent metadata files
|
|
20
20
|
- Markdown specialist agent contracts at `<runtime>/agents/god-*.md`
|
|
21
21
|
- Shared runtime bundle at `<runtime>/godpowers-runtime`
|
|
@@ -29,15 +29,13 @@ creating background work.
|
|
|
29
29
|
|
|
30
30
|
## What is new
|
|
31
31
|
|
|
32
|
-
- Added `
|
|
33
|
-
- Added
|
|
34
|
-
- Added
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
- Tests now cover provider classification, active automation config,
|
|
40
|
-
setup-plan rendering, and CLI JSON output.
|
|
32
|
+
- Added `god-automation-engineer`.
|
|
33
|
+
- Added automation execution-plan metadata to `lib/automation-providers.js`.
|
|
34
|
+
- Added gated automation state recording helpers.
|
|
35
|
+
- `/god-automation-setup` now shows direct host tool calling availability,
|
|
36
|
+
complex setup delegation, and the state recording path.
|
|
37
|
+
- Tests now cover host tool execution plans, complex setup delegation, and
|
|
38
|
+
post-success automation recording.
|
|
41
39
|
|
|
42
40
|
## Platform behavior
|
|
43
41
|
|
|
@@ -49,9 +47,9 @@ its registry adapter.
|
|
|
49
47
|
The dashboard and automation provider engines ship in the installed runtime
|
|
50
48
|
bundle so host tools can use shared implementation code instead of parallel
|
|
51
49
|
command-specific Markdown contracts. If a host platform cannot provide a true
|
|
52
|
-
fresh-context agent spawn
|
|
53
|
-
and report the work as local runtime only,
|
|
54
|
-
in current context.
|
|
50
|
+
fresh-context agent spawn, durable scheduler, or callable automation tool,
|
|
51
|
+
Godpowers must say so visibly and report the work as local runtime only,
|
|
52
|
+
manual workflow only, or simulated in current context.
|
|
55
53
|
|
|
56
54
|
## Safety policy
|
|
57
55
|
|
|
@@ -70,6 +68,7 @@ Godpowers still must not auto-run these without explicit user intent:
|
|
|
70
68
|
- clearing `.godpowers/REVIEW-REQUIRED.md`
|
|
71
69
|
- accepting Critical security findings
|
|
72
70
|
- git stage, commit, push, package, release, or publish
|
|
71
|
+
- `.godpowers/automations.json` writes before host setup success
|
|
73
72
|
|
|
74
73
|
## Validation
|
|
75
74
|
|
|
@@ -82,5 +81,5 @@ Release validation includes:
|
|
|
82
81
|
- `node scripts/check-package-contents.js`
|
|
83
82
|
- `git diff --check`
|
|
84
83
|
|
|
85
|
-
The `v1.6.
|
|
86
|
-
`godpowers@1.6.
|
|
84
|
+
The `v1.6.14` git tag points to the release commit that matches the npm
|
|
85
|
+
`godpowers@1.6.14` package.
|
package/SKILL.md
CHANGED
|
@@ -286,6 +286,9 @@ Spawn these agents only when the trigger is direct and scope is bounded:
|
|
|
286
286
|
- `god-deps-auditor` suggestion after dependency files changed; auto-spawn only
|
|
287
287
|
inside `/god-update-deps`, `/god-hygiene`, or an explicitly approved project
|
|
288
288
|
workflow.
|
|
289
|
+
- `god-automation-engineer` after the user approves provider, template,
|
|
290
|
+
cadence, and scope for multi-template, write-capable, background-agent,
|
|
291
|
+
scriptable-scheduler, or provider-uncertain automation setup.
|
|
289
292
|
|
|
290
293
|
#### Level 4: Explicit approval required
|
|
291
294
|
Never auto-run these from inference alone:
|
|
@@ -299,6 +302,8 @@ Never auto-run these from inference alone:
|
|
|
299
302
|
- git stage, commit, push, package, release, or publish
|
|
300
303
|
- schedule, routine, background agent, API trigger, or CI workflow creation
|
|
301
304
|
without explicit user approval
|
|
305
|
+
- `.godpowers/automations.json` writes before the host automation setup
|
|
306
|
+
reports success
|
|
302
307
|
|
|
303
308
|
Every auto-invoke decision must be explainable from one of these inputs:
|
|
304
309
|
changed files, Godpowers artifacts, `state.json`, `PROGRESS.md`,
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: god-automation-engineer
|
|
3
|
+
description: |
|
|
4
|
+
Configures approved host-native Godpowers automation after the user chooses
|
|
5
|
+
provider, template, cadence, and scope. Verifies the host setup and records
|
|
6
|
+
only successful automations in .godpowers/automations.json.
|
|
7
|
+
|
|
8
|
+
Spawned by: /god-automation-setup
|
|
9
|
+
tools: Read, Write, Edit, Bash, Glob
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# God Automation Engineer
|
|
13
|
+
|
|
14
|
+
Configure approved host-native automation without pretending a background
|
|
15
|
+
surface exists when it does not.
|
|
16
|
+
|
|
17
|
+
## Gate Check
|
|
18
|
+
|
|
19
|
+
The user explicitly approved:
|
|
20
|
+
|
|
21
|
+
- provider id
|
|
22
|
+
- template ids
|
|
23
|
+
- cadence
|
|
24
|
+
- project or repository scope
|
|
25
|
+
- whether the automation is read-only or write-capable
|
|
26
|
+
|
|
27
|
+
If any approval field is missing, stop and return the missing field list.
|
|
28
|
+
|
|
29
|
+
## Process
|
|
30
|
+
|
|
31
|
+
1. Read `.godpowers/automations.json` if it exists.
|
|
32
|
+
2. Load `lib/automation-providers.js` from the installed runtime bundle or
|
|
33
|
+
repository.
|
|
34
|
+
3. Call `automation.setupPlan(projectRoot, { templates })`.
|
|
35
|
+
4. Confirm the chosen provider is installed and matches the approved provider.
|
|
36
|
+
5. Execute only through a confirmed host surface:
|
|
37
|
+
- Codex App: call the host automation tool when available.
|
|
38
|
+
- Claude Code: use the host schedule or routine surface.
|
|
39
|
+
- Cline: use `cline schedule` only when that CLI is available.
|
|
40
|
+
- Qwen: use `/loop` only for session-scoped recurring prompts.
|
|
41
|
+
- Cursor or Copilot: use branch or PR scoped background agent setup.
|
|
42
|
+
- Scriptable CLIs: use an approved scheduler. Do not invent OS scheduling.
|
|
43
|
+
6. After host setup succeeds, call `automation.buildAutomationRecord(...)`.
|
|
44
|
+
7. Call `automation.recordAutomation(projectRoot, record, {
|
|
45
|
+
confirmedHostSuccess: true
|
|
46
|
+
})`.
|
|
47
|
+
8. Run `/god-automation-status` or the equivalent local helper and report the
|
|
48
|
+
active state.
|
|
49
|
+
|
|
50
|
+
## Tool Calling Policy
|
|
51
|
+
|
|
52
|
+
Use direct host tool calling only when all of these are true:
|
|
53
|
+
|
|
54
|
+
- one approved read-only template
|
|
55
|
+
- one detected provider
|
|
56
|
+
- no provider dashboard, credential, billing, DNS, production, or repository
|
|
57
|
+
write scope is required
|
|
58
|
+
- the host exposes a native scheduling or automation tool in the current
|
|
59
|
+
session
|
|
60
|
+
|
|
61
|
+
If the host lacks a callable tool, return exact manual setup steps. Do not
|
|
62
|
+
claim setup succeeded.
|
|
63
|
+
|
|
64
|
+
## Hard Stops
|
|
65
|
+
|
|
66
|
+
Never create or approve automation that can do these unless the user explicitly
|
|
67
|
+
approved that exact write-capable action:
|
|
68
|
+
|
|
69
|
+
- stage, commit, push, merge, package, publish, or release
|
|
70
|
+
- deploy to staging or production
|
|
71
|
+
- access provider dashboards, DNS, credentials, secrets, or billing
|
|
72
|
+
- clear `.godpowers/REVIEW-REQUIRED.md`
|
|
73
|
+
- accept Critical security findings
|
|
74
|
+
- run broad dependency upgrades
|
|
75
|
+
- delete files, reset branches, or clean worktrees
|
|
76
|
+
|
|
77
|
+
Never write `.godpowers/automations.json` before the host setup succeeds.
|
|
78
|
+
|
|
79
|
+
## Output
|
|
80
|
+
|
|
81
|
+
Return:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
Automation setup result:
|
|
85
|
+
Provider: <provider id>
|
|
86
|
+
Templates: <template ids>
|
|
87
|
+
Host surface: <tool, command, routine, or manual>
|
|
88
|
+
Status: <created | manual steps required | blocked>
|
|
89
|
+
Recorded: <yes | no>
|
|
90
|
+
Config: .godpowers/automations.json
|
|
91
|
+
Next: /god-automation-status
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Have-Nots
|
|
95
|
+
|
|
96
|
+
- Records automation before host setup succeeds
|
|
97
|
+
- Creates background work during install
|
|
98
|
+
- Treats a manual workflow as durable scheduling
|
|
99
|
+
- Uses OS or CI scheduling without explicit approval
|
|
100
|
+
- Grants write scope for a read-only template
|
|
101
|
+
- Uses provider dashboards or credentials without explicit approval
|
|
102
|
+
- Claims an automation is active without re-checking status
|
|
103
|
+
- Hides provider limitations from the user
|
|
@@ -311,6 +311,7 @@ Use this trigger map:
|
|
|
311
311
|
| security-sensitive files changed | auto-spawn only inside harden, hotfix, launch, or project run; otherwise suggest `/god-harden` | proposition |
|
|
312
312
|
| dependency files changed | auto-spawn only inside update-deps, hygiene, or approved project run; otherwise suggest `/god-update-deps` | proposition |
|
|
313
313
|
| host automation support detected and no active templates are recorded | suggest `/god-automation-status` or `/god-automation-setup` | proposition |
|
|
314
|
+
| user approves complex automation setup | spawn `god-automation-engineer` | approval card plus setup result |
|
|
314
315
|
| full project run complete or hygiene stale | suggest `/god-hygiene` | proposition |
|
|
315
316
|
|
|
316
317
|
Never use this matrix to auto-run Level 4 actions: deployed staging against a
|
|
@@ -318,7 +319,7 @@ guessed URL, production launch, provider dashboard access, broad dependency
|
|
|
318
319
|
upgrades, destructive repair, review clearing, Critical security acceptance, or
|
|
319
320
|
git stage, commit, push, package, release, publish, schedule creation, routine
|
|
320
321
|
creation, background agent creation, API trigger creation, or CI workflow
|
|
321
|
-
creation.
|
|
322
|
+
creation without explicit user approval.
|
|
322
323
|
|
|
323
324
|
Every auto action must emit either `Auto-invoked:`, `Sync status:`, or a
|
|
324
325
|
proposition explaining why it did not run.
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Godpowers Automation Providers
|
|
3
3
|
*
|
|
4
|
-
* Detects host-native automation surfaces
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Detects host-native automation surfaces, renders opt-in setup guidance, and
|
|
5
|
+
* records completed host setup after explicit confirmation. This module never
|
|
6
|
+
* creates schedules, routines, background agents, commits, pushes, packages,
|
|
7
|
+
* publishes, deploys, or clears reviews by itself.
|
|
7
8
|
*/
|
|
8
9
|
|
|
9
10
|
const fs = require('fs');
|
|
@@ -219,6 +220,82 @@ const PROVIDERS = [
|
|
|
219
220
|
}
|
|
220
221
|
];
|
|
221
222
|
|
|
223
|
+
const EXECUTION_ADAPTERS = {
|
|
224
|
+
'codex-app': {
|
|
225
|
+
method: 'host-tool-calling',
|
|
226
|
+
hostTool: 'codex_app.automation_update',
|
|
227
|
+
action: 'Call the Codex App automation tool after the user approves provider, template, cadence, and scope.'
|
|
228
|
+
},
|
|
229
|
+
'claude-routines': {
|
|
230
|
+
method: 'host-native-command',
|
|
231
|
+
hostCommand: '/schedule',
|
|
232
|
+
action: 'Use Claude Code schedule or routine creation after explicit user approval.'
|
|
233
|
+
},
|
|
234
|
+
'cline-schedule': {
|
|
235
|
+
method: 'local-command',
|
|
236
|
+
localCommand: 'cline schedule',
|
|
237
|
+
action: 'Use the Cline scheduler after explicit user approval.'
|
|
238
|
+
},
|
|
239
|
+
'kilo-scheduled-triggers': {
|
|
240
|
+
method: 'host-native-ui',
|
|
241
|
+
action: 'Use KiloClaw Scheduled Triggers after explicit user approval.'
|
|
242
|
+
},
|
|
243
|
+
'qwen-loop': {
|
|
244
|
+
method: 'session-command',
|
|
245
|
+
hostCommand: '/loop',
|
|
246
|
+
action: 'Use Qwen Code loop only for session-scoped recurring checks.'
|
|
247
|
+
},
|
|
248
|
+
'cursor-background-agent': {
|
|
249
|
+
method: 'background-agent',
|
|
250
|
+
action: 'Use Cursor Background Agent mode or API for branch-scoped asynchronous work.'
|
|
251
|
+
},
|
|
252
|
+
'github-copilot-cloud-agent': {
|
|
253
|
+
method: 'background-agent',
|
|
254
|
+
action: 'Use GitHub issue, pull request, or Copilot cloud agent entry points for branch-scoped work.'
|
|
255
|
+
},
|
|
256
|
+
'windsurf-workflows': {
|
|
257
|
+
method: 'manual-workflow',
|
|
258
|
+
action: 'Install or select a Windsurf workflow manually because durable scheduling is not confirmed.'
|
|
259
|
+
},
|
|
260
|
+
'gemini-headless': {
|
|
261
|
+
method: 'scriptable-headless',
|
|
262
|
+
localCommand: 'gemini -p',
|
|
263
|
+
action: 'Use Gemini CLI headless execution only with an approved host, CI, or OS scheduler.'
|
|
264
|
+
},
|
|
265
|
+
'opencode-run': {
|
|
266
|
+
method: 'scriptable-headless',
|
|
267
|
+
localCommand: 'opencode run',
|
|
268
|
+
action: 'Use OpenCode run or serve only with an approved host, CI, or OS scheduler.'
|
|
269
|
+
},
|
|
270
|
+
'augment-subagents': {
|
|
271
|
+
method: 'manual-workflow',
|
|
272
|
+
action: 'Use Augment Agent, Agent Auto, or subagents manually unless a native scheduler is confirmed.'
|
|
273
|
+
},
|
|
274
|
+
'codebuddy-sdk': {
|
|
275
|
+
method: 'scriptable-headless',
|
|
276
|
+
action: 'Use CodeBuddy SDK only with an approved host, CI, or OS scheduler.'
|
|
277
|
+
},
|
|
278
|
+
'pi-sdk': {
|
|
279
|
+
method: 'scriptable-headless',
|
|
280
|
+
action: 'Use Pi CLI or SDK only with an approved host, CI, or OS scheduler.'
|
|
281
|
+
},
|
|
282
|
+
trae: {
|
|
283
|
+
method: 'unsupported',
|
|
284
|
+
action: 'Report scheduled automation as unknown until Trae exposes a confirmed provider.'
|
|
285
|
+
},
|
|
286
|
+
antigravity: {
|
|
287
|
+
method: 'unsupported',
|
|
288
|
+
action: 'Report scheduled automation as unknown until Antigravity exposes a confirmed provider.'
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
const EXECUTION_GUARDRAILS = [
|
|
293
|
+
'Ask for explicit approval before creating, updating, triggering, pausing, resuming, or deleting host automations.',
|
|
294
|
+
'Use direct host tool calling only for one read-only template with a known provider and approved cadence.',
|
|
295
|
+
'Spawn god-automation-engineer for multiple templates, write-capable automation, background agents, scriptable schedulers, or provider uncertainty.',
|
|
296
|
+
'Write .godpowers/automations.json only after host setup succeeds.'
|
|
297
|
+
];
|
|
298
|
+
|
|
222
299
|
function detect(projectRoot = process.cwd(), opts = {}) {
|
|
223
300
|
const ctx = {
|
|
224
301
|
projectRoot,
|
|
@@ -298,9 +375,12 @@ function render(report) {
|
|
|
298
375
|
function setupPlan(projectRoot = process.cwd(), opts = {}) {
|
|
299
376
|
const report = detect(projectRoot, opts);
|
|
300
377
|
const provider = report.recommendedProvider;
|
|
378
|
+
const selectedTemplates = selectTemplates(report.safeTemplates, opts.templates);
|
|
301
379
|
return {
|
|
302
380
|
...report,
|
|
303
|
-
|
|
381
|
+
selectedTemplates,
|
|
382
|
+
setup: provider ? provider.setup : ['No automation provider is available. Use /god-next or godpowers next --project . manually.'],
|
|
383
|
+
execution: buildExecutionPlan(projectRoot, provider, selectedTemplates, opts)
|
|
304
384
|
};
|
|
305
385
|
}
|
|
306
386
|
|
|
@@ -316,6 +396,13 @@ function renderSetupPlan(plan) {
|
|
|
316
396
|
'Setup steps:',
|
|
317
397
|
...plan.setup.map((step, index) => ` ${index + 1}. ${step}`),
|
|
318
398
|
'',
|
|
399
|
+
'Execution path:',
|
|
400
|
+
` - Method: ${plan.execution.method}`,
|
|
401
|
+
` - Action: ${plan.execution.action}`,
|
|
402
|
+
` - Direct host tool calling: ${plan.execution.directHostToolCalling ? 'available after approval' : 'not available'}`,
|
|
403
|
+
` - Specialist agent: ${plan.execution.specialistAgent || 'not required for simple read-only setup'}`,
|
|
404
|
+
` - Record after success: ${plan.execution.recordPath}`,
|
|
405
|
+
'',
|
|
319
406
|
'Recommended safe templates:',
|
|
320
407
|
...plan.safeTemplates.map(template => ` - ${template.id}: ${template.prompt}`),
|
|
321
408
|
'',
|
|
@@ -326,6 +413,100 @@ function renderSetupPlan(plan) {
|
|
|
326
413
|
].join('\n');
|
|
327
414
|
}
|
|
328
415
|
|
|
416
|
+
function selectTemplates(safeTemplates, selectedIds) {
|
|
417
|
+
if (!Array.isArray(selectedIds) || selectedIds.length === 0) {
|
|
418
|
+
const daily = safeTemplates.find(template => template.id === 'daily-status');
|
|
419
|
+
return daily ? [daily] : safeTemplates.slice(0, 1);
|
|
420
|
+
}
|
|
421
|
+
const selected = [];
|
|
422
|
+
for (const id of selectedIds) {
|
|
423
|
+
const found = safeTemplates.find(template => template.id === id);
|
|
424
|
+
if (found) selected.push(found);
|
|
425
|
+
}
|
|
426
|
+
return selected;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
function buildExecutionPlan(projectRoot, provider, selectedTemplates, opts = {}) {
|
|
430
|
+
if (!provider) {
|
|
431
|
+
return {
|
|
432
|
+
method: 'manual',
|
|
433
|
+
action: 'No provider is available. Run Godpowers commands manually.',
|
|
434
|
+
directHostToolCalling: false,
|
|
435
|
+
hostTool: null,
|
|
436
|
+
hostCommand: null,
|
|
437
|
+
localCommand: null,
|
|
438
|
+
specialistAgent: null,
|
|
439
|
+
approvalRequired: true,
|
|
440
|
+
recordPath: path.join(projectRoot, CONFIG_PATH),
|
|
441
|
+
guardrails: EXECUTION_GUARDRAILS.slice()
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
const adapter = EXECUTION_ADAPTERS[provider.id] || {
|
|
446
|
+
method: provider.class,
|
|
447
|
+
action: 'Use the provider-native setup surface after explicit user approval.'
|
|
448
|
+
};
|
|
449
|
+
const writeCapable = Boolean(opts.writeCapable);
|
|
450
|
+
const complex = writeCapable ||
|
|
451
|
+
selectedTemplates.length > 1 ||
|
|
452
|
+
provider.class === 'background-agent' ||
|
|
453
|
+
provider.class === 'scriptable-headless' ||
|
|
454
|
+
provider.class === 'unknown';
|
|
455
|
+
const directHostToolCalling = !complex && (
|
|
456
|
+
adapter.method === 'host-tool-calling' ||
|
|
457
|
+
adapter.method === 'host-native-command' ||
|
|
458
|
+
adapter.method === 'local-command' ||
|
|
459
|
+
adapter.method === 'session-command'
|
|
460
|
+
);
|
|
461
|
+
|
|
462
|
+
return {
|
|
463
|
+
method: adapter.method,
|
|
464
|
+
action: adapter.action,
|
|
465
|
+
directHostToolCalling,
|
|
466
|
+
hostTool: adapter.hostTool || null,
|
|
467
|
+
hostCommand: adapter.hostCommand || null,
|
|
468
|
+
localCommand: adapter.localCommand || null,
|
|
469
|
+
specialistAgent: complex ? 'god-automation-engineer' : null,
|
|
470
|
+
approvalRequired: true,
|
|
471
|
+
recordPath: path.join(projectRoot, CONFIG_PATH),
|
|
472
|
+
guardrails: EXECUTION_GUARDRAILS.slice()
|
|
473
|
+
};
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
function buildAutomationRecord(providerId, templateId, opts = {}) {
|
|
477
|
+
const provider = PROVIDERS.find(item => item.id === providerId);
|
|
478
|
+
const template = SAFE_TEMPLATES.find(item => item.id === templateId);
|
|
479
|
+
if (!provider) throw new Error(`unknown automation provider: ${providerId}`);
|
|
480
|
+
if (!template) throw new Error(`unknown automation template: ${templateId}`);
|
|
481
|
+
return {
|
|
482
|
+
id: template.id,
|
|
483
|
+
provider: provider.id,
|
|
484
|
+
status: opts.status || 'active',
|
|
485
|
+
cadence: opts.cadence || template.cadence,
|
|
486
|
+
summary: opts.summary || template.prompt,
|
|
487
|
+
risk: template.risk,
|
|
488
|
+
createdAt: opts.createdAt || new Date().toISOString(),
|
|
489
|
+
host: opts.host || provider.label,
|
|
490
|
+
hostId: opts.hostId || null,
|
|
491
|
+
hostSurface: opts.hostSurface || (EXECUTION_ADAPTERS[provider.id] && EXECUTION_ADAPTERS[provider.id].method) || provider.class
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
function recordAutomation(projectRoot, record, opts = {}) {
|
|
496
|
+
if (!opts.confirmedHostSuccess) {
|
|
497
|
+
throw new Error('confirmedHostSuccess is required before recording automation');
|
|
498
|
+
}
|
|
499
|
+
const file = path.join(projectRoot, CONFIG_PATH);
|
|
500
|
+
const config = readConfig(projectRoot);
|
|
501
|
+
const next = config.automations.filter(item =>
|
|
502
|
+
!(item.id === record.id && item.provider === record.provider)
|
|
503
|
+
);
|
|
504
|
+
next.push(record);
|
|
505
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
506
|
+
fs.writeFileSync(file, `${JSON.stringify({ automations: next }, null, 2)}\n`);
|
|
507
|
+
return { automations: next };
|
|
508
|
+
}
|
|
509
|
+
|
|
329
510
|
function readConfig(projectRoot) {
|
|
330
511
|
const file = path.join(projectRoot, CONFIG_PATH);
|
|
331
512
|
if (!fs.existsSync(file)) return { automations: [] };
|
|
@@ -407,5 +588,9 @@ module.exports = {
|
|
|
407
588
|
render,
|
|
408
589
|
setupPlan,
|
|
409
590
|
renderSetupPlan,
|
|
591
|
+
selectTemplates,
|
|
592
|
+
buildExecutionPlan,
|
|
593
|
+
buildAutomationRecord,
|
|
594
|
+
recordAutomation,
|
|
410
595
|
readConfig
|
|
411
596
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "godpowers",
|
|
3
|
-
"version": "1.6.
|
|
4
|
-
"description": "AI-powered development system: 108 slash commands and
|
|
3
|
+
"version": "1.6.14",
|
|
4
|
+
"description": "AI-powered development system: 108 slash commands and 40 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"
|
|
7
7
|
},
|
|
@@ -10,7 +10,7 @@ description: |
|
|
|
10
10
|
|
|
11
11
|
# /god-automation-setup
|
|
12
12
|
|
|
13
|
-
Prepare
|
|
13
|
+
Prepare and, after approval, execute safe host-native automation setup.
|
|
14
14
|
|
|
15
15
|
## Process
|
|
16
16
|
|
|
@@ -23,10 +23,18 @@ Prepare a safe, host-native automation setup plan.
|
|
|
23
23
|
- cadence
|
|
24
24
|
- connector or repository scope
|
|
25
25
|
- whether write actions are allowed
|
|
26
|
-
5.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
6.
|
|
26
|
+
5. If the plan reports `execution.directHostToolCalling: true`, and the user
|
|
27
|
+
approved the exact provider, template, cadence, and scope, use the host
|
|
28
|
+
automation tool or native command from `execution`.
|
|
29
|
+
6. If setup is complex, write-capable, multi-template, background-agent based,
|
|
30
|
+
scriptable-scheduler based, or provider-uncertain, spawn
|
|
31
|
+
`god-automation-engineer` with the approved provider, templates, cadence,
|
|
32
|
+
scope, and plan output.
|
|
33
|
+
7. If no host tool is callable, return exact manual setup steps and do not
|
|
34
|
+
record an active automation.
|
|
35
|
+
8. After host setup succeeds, write or update `.godpowers/automations.json`
|
|
36
|
+
through `automation.buildAutomationRecord(...)` and
|
|
37
|
+
`automation.recordAutomation(..., { confirmedHostSuccess: true })` with:
|
|
30
38
|
- automation id
|
|
31
39
|
- provider id
|
|
32
40
|
- status
|
|
@@ -34,7 +42,25 @@ Prepare a safe, host-native automation setup plan.
|
|
|
34
42
|
- prompt summary
|
|
35
43
|
- created timestamp
|
|
36
44
|
- host surface used
|
|
37
|
-
|
|
45
|
+
9. Run `/god-automation-status` after setup and show the result.
|
|
46
|
+
|
|
47
|
+
## Tool Calling And Agent Use
|
|
48
|
+
|
|
49
|
+
Use host tool calling when available for simple, approved, read-only setup:
|
|
50
|
+
|
|
51
|
+
- Codex App: call the Codex automation tool.
|
|
52
|
+
- Claude Code: use the schedule or routine surface.
|
|
53
|
+
- Cline: use `cline schedule`.
|
|
54
|
+
- Qwen Code: use `/loop` and report that it is session-scoped.
|
|
55
|
+
|
|
56
|
+
Spawn `god-automation-engineer` when any of these are true:
|
|
57
|
+
|
|
58
|
+
- more than one template is requested
|
|
59
|
+
- any write-capable automation is requested
|
|
60
|
+
- provider setup needs background agents, API triggers, CI, OS scheduling, or
|
|
61
|
+
repository scope
|
|
62
|
+
- the host tool exists but the setup requires multiple steps
|
|
63
|
+
- provider capability is uncertain
|
|
38
64
|
|
|
39
65
|
## Hard Stops
|
|
40
66
|
|
|
@@ -82,6 +108,13 @@ Recommended provider: <provider>
|
|
|
82
108
|
Setup steps:
|
|
83
109
|
1. <host-native setup step>
|
|
84
110
|
|
|
111
|
+
Execution path:
|
|
112
|
+
- Method: <host-tool-calling | host-native-command | local-command | manual>
|
|
113
|
+
- Action: <approved host action>
|
|
114
|
+
- Direct host tool calling: <available after approval | not available>
|
|
115
|
+
- Specialist agent: <god-automation-engineer | not required>
|
|
116
|
+
- Record after success: .godpowers/automations.json
|
|
117
|
+
|
|
85
118
|
Recommended safe templates:
|
|
86
119
|
- <template id>: <prompt>
|
|
87
120
|
|
package/skills/god-doctor.md
CHANGED
package/skills/god-version.md
CHANGED
|
@@ -16,7 +16,7 @@ Print version and a short capability summary.
|
|
|
16
16
|
```
|
|
17
17
|
Godpowers v1.6.6
|
|
18
18
|
Install: /Users/.../.claude/ (matches package.json)
|
|
19
|
-
Surface: 108 skills,
|
|
19
|
+
Surface: 108 skills, 40 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
|
```
|