gm-thebird 2.0.1026 → 2.0.1028
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/gm.json +1 -1
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/skills/gm/SKILL.md +37 -46
- package/skills/gm-cc/SKILL.md +22 -0
- package/skills/gm-codex/SKILL.md +22 -0
- package/skills/gm-copilot-cli/SKILL.md +22 -0
- package/skills/gm-cursor/SKILL.md +22 -0
- package/skills/gm-gc/SKILL.md +22 -0
- package/skills/gm-jetbrains/SKILL.md +22 -0
- package/skills/gm-kilo/SKILL.md +22 -0
- package/skills/gm-oc/SKILL.md +22 -0
- package/skills/gm-vscode/SKILL.md +22 -0
- package/skills/gm-zed/SKILL.md +22 -0
- package/skills/planning/SKILL.md +2 -0
package/gm.json
CHANGED
package/package.json
CHANGED
package/plugin.json
CHANGED
package/skills/gm/SKILL.md
CHANGED
|
@@ -1,69 +1,60 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gm
|
|
3
|
-
description:
|
|
3
|
+
description: Orchestrator dispatching PLAN→EXECUTE→EMIT→VERIFY→UPDATE-DOCS skill chain; spool-driven task execution with session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-cc
|
|
8
|
+
- gm-gc
|
|
9
|
+
- gm-oc
|
|
10
|
+
- gm-kilo
|
|
11
|
+
- gm-codex
|
|
12
|
+
- gm-copilot-cli
|
|
13
|
+
- gm-vscode
|
|
14
|
+
- gm-cursor
|
|
15
|
+
- gm-zed
|
|
16
|
+
- gm-jetbrains
|
|
17
|
+
end-to-end: true
|
|
4
18
|
---
|
|
5
19
|
|
|
6
20
|
# GM — Orchestrator
|
|
7
21
|
|
|
8
|
-
Invoke `planning` immediately.
|
|
22
|
+
Invoke `planning` immediately. Phases cascade: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
9
23
|
|
|
10
|
-
|
|
24
|
+
The user's request is authorization. When scope is unclear, pick the maximum reachable shape and declare it — the user can interrupt. Doubts resolve via witnessed probe or recall, never by asking back except for destructive-irreversible actions uncovered by the PRD.
|
|
11
25
|
|
|
12
|
-
|
|
26
|
+
**What ships runs**: no stubs, mocks, placeholder returns, fixture-only paths, or demo-mode short-circuits. Real input through real code into real output. A shim is allowed only when delegating to real upstream behavior.
|
|
13
27
|
|
|
14
|
-
|
|
28
|
+
**CI is the build**: for Rust crates and the gm publish chain, push triggers CI auto-watch. Green signals authority. Local cargo build is not a witness.
|
|
15
29
|
|
|
16
|
-
|
|
30
|
+
**Every issue surfaces this turn**: pre-existing breaks, lint failures, drift, broken deps, stale generated files — all become PRD items and finish before COMPLETE.
|
|
17
31
|
|
|
18
|
-
|
|
32
|
+
**Spool dispatch chain**: write to `.gm/exec-spool/in/<lang>/<N>.<ext>` or `in/<verb>/<N>.txt`. Watcher executes and streams `out/<N>.out` + `out/<N>.err` + `out/<N>.json` metadata. Languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno. Verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, type, kill-port, forget, feedback, learn-status, learn-debug, learn-build, discipline, pause, health.
|
|
19
33
|
|
|
20
|
-
|
|
34
|
+
**Session isolation**: SESSION_ID environment variable (or uuid fallback) threads through task dispatch for cleanup scope. rs-exec RPC handlers verify session_id match on all task-scoped operations.
|
|
21
35
|
|
|
22
|
-
|
|
36
|
+
**Code does mechanics; meaning routes through textprocessing skill**: summarize, classify, extract intent, rewrite, translate, semantic dedup, rank, label — all via `Agent(subagent_type='gm:textprocessing', ...)`.
|
|
23
37
|
|
|
24
|
-
|
|
38
|
+
**Recall before fresh execution**: before witnessing unknown via execution, recall first. Hits arrive as weak_prior; empty results confirm fresh unknown.
|
|
25
39
|
|
|
26
|
-
|
|
40
|
+
**Memorize is the back-half of witness**: resolution incomplete until fact lives outside this context window. Fire `Agent(subagent_type='gm:memorize', model='haiku', run_in_background=true, prompt='## CONTEXT TO MEMORIZE\n<fact>')` alongside witness, in parallel, never blocking.
|
|
27
41
|
|
|
28
|
-
|
|
42
|
+
**Parallel independent items**: up to 3 `gm:gm` subagents per message for independent PRD items. Serial for dependent items — no re-asking between them.
|
|
29
43
|
|
|
30
|
-
|
|
44
|
+
**Terse response**: fragments OK. `[thing] [action] [reason]. [next step].` Code, commits, PRs use normal prose.
|
|
31
45
|
|
|
32
|
-
##
|
|
46
|
+
## End-to-End Phase Chaining (Skills-Based Platforms)
|
|
33
47
|
|
|
34
|
-
|
|
48
|
+
When `end-to-end: true` is present in SKILL.md frontmatter, skill output includes structured JSON on stdout (final line):
|
|
35
49
|
|
|
50
|
+
```json
|
|
51
|
+
{"nextSkill": "gm-execute" | "gm-emit" | "gm-complete" | "update-docs" | null, "context": {PRD and state dict}, "phase": "PLAN" | "EXECUTE" | "EMIT" | "COMPLETE"}
|
|
36
52
|
```
|
|
37
|
-
exec:recall
|
|
38
|
-
<2-6 word query>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Hits arrive as `weak_prior` — they earn the right to be tested, not believed. Empty results confirm the unknown is fresh.
|
|
42
|
-
|
|
43
|
-
A witness that flips an unknown to known is incomplete until the fact lives outside this context window. Memorize is the back-half of the same act, not a later chore — it fires alongside the witness, in the background, in haiku, never blocking the next probe. Resolutions hand off as they happen.
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
Agent(subagent_type='gm:memorize', model='haiku', run_in_background=true, prompt='## CONTEXT TO MEMORIZE\n<fact>')
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
One subagent per fact, fan out in parallel — batching dilutes the signal. The mutables file is the receipt: every entry that flips to `status: witnessed` carries a matching haiku in flight. A status change without a memorize is unfinished work the next turn cannot see.
|
|
50
|
-
|
|
51
|
-
## Execution order
|
|
52
|
-
|
|
53
|
-
The spool is the universal dispatch surface. Write a file to `.gm/exec-spool/in/<lang-or-verb>/<N>.<ext>`; the watcher executes and streams `out/<N>.out` + `out/<N>.err` + `out/<N>.json`. Languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno. Verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, type, kill-port, forget, feedback, learn-status, learn-debug, learn-build, discipline, pause, health.
|
|
54
|
-
|
|
55
|
-
Order of cheapness:
|
|
56
|
-
|
|
57
|
-
1. Recall — `in/recall/<N>.txt` with the query
|
|
58
|
-
2. Codebase search — `in/codesearch/<N>.txt` with two-word query, 90% of lookups
|
|
59
|
-
3. Code execution — `in/<lang>/<N>.<ext>`
|
|
60
|
-
4. Web (`WebFetch`, `WebSearch`) — env facts not in codebase
|
|
61
|
-
5. User — last resort
|
|
62
|
-
|
|
63
|
-
Bash accepts ONLY git commands directly (`git status`, `git commit`, `git push`, `git log`, `gh ...`). Everything else — code AND every utility verb — dispatches via the spool. Never `Bash(node/npm/npx/bun)`, never `Bash(exec:<anything>)`. `git push` triggers auto CI watch via Stop hook.
|
|
64
|
-
|
|
65
|
-
Skill chain: `planning` → `gm-execute` → `gm-emit` → `gm-complete` → `update-docs`.
|
|
66
53
|
|
|
67
|
-
|
|
54
|
+
Platform adapters (vscode, cursor, zed, jetbrains) that support `end-to-end: true` detection:
|
|
55
|
+
1. Invoke `Skill(skill="gm:gm")`
|
|
56
|
+
2. Parse stdout for trailing JSON blob
|
|
57
|
+
3. If `nextSkill` is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict auto-passed
|
|
58
|
+
4. Repeat until `nextSkill` is null
|
|
68
59
|
|
|
69
|
-
|
|
60
|
+
This collapses 5 manual skill invocations into 1 user invocation + 4 transparent auto-dispatches, achieving perceived single-flow parity with gm-cc's subagent orchestration.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-cc
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on cc; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-cc
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — cc Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-codex
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on codex; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-codex
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — codex Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-copilot-cli
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on copilot-cli; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-copilot-cli
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — copilot-cli Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-cursor
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on cursor; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-cursor
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — cursor Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-gc
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on gc; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-gc
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — gc Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-jetbrains
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on jetbrains; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-jetbrains
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — jetbrains Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-kilo
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on kilo; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-kilo
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — kilo Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-oc
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on oc; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-oc
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — oc Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-vscode
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on vscode; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-vscode
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — vscode Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gm-zed
|
|
3
|
+
description: AI-native software engineering via skill-driven orchestration on zed; bootstraps plugkit for task execution and session isolation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Skill
|
|
6
|
+
compatible-platforms:
|
|
7
|
+
- gm-zed
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# GM — zed Platform
|
|
11
|
+
|
|
12
|
+
AI-native software engineering orchestrated via skill chain: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
|
|
13
|
+
|
|
14
|
+
**Bootstrap pattern**: bootstrapPlugkit() loads plugkit binary (`.gm-tools/plugkit`) at session start, verifies sha256 against manifest. Returns plugkit.version + plugkit.sha256. Failure blocks all downstream dispatch — re-run bootstrap before retry.
|
|
15
|
+
|
|
16
|
+
**Session-ID threading (no session-start hook)**: At skill invoke time, generate or detect SESSION_ID (env var `SESSION_ID` or `uuid()`). Pass `sessionId: "<id>"` in every rs-exec RPC body (spawn, tail, watch, etc.) and every spool-written task body. All task-scoped cleanup (deleteTask, getTask, appendOutput, killSessionTasks) requires matching sessionId. Absence is forbidden — hard reject by rs-exec handler.
|
|
17
|
+
|
|
18
|
+
**Spool dispatch surface**: Write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (languages: nodejs, python, bash, typescript, go, rust, c, cpp, java, deno) or `in/<verb>/<N>.txt` (verbs: codesearch, recall, memorize, wait, sleep, status, close, browser, runner, etc.). Watcher executes and streams `out/<N>.out` (stdout) + `out/<N>.err` (stderr) line-by-line, then `out/<N>.json` metadata (exitCode, durationMs, timedOut, startedAt, endedAt) at completion.
|
|
19
|
+
|
|
20
|
+
**End-to-end skill chaining (skills-based platforms)**: When gm SKILL.md includes `end-to-end: true`, adapter detects signal and parses stdout for trailing JSON: `{"nextSkill": "...", "context": {...}, "phase": "..."}`. If nextSkill is non-null, invoke `Skill(skill="gm:<nextSkill>")` with context dict, repeat until null. This auto-chains 5 invocations into 1 user invocation.
|
|
21
|
+
|
|
22
|
+
Every task returns complete: taskId, exitCode, durationMs, timedOut, stdout, stderr. Background tasks return immediately with task_id; continue with exec:tail, exec:watch, or exec:close.
|
package/skills/planning/SKILL.md
CHANGED
|
@@ -25,6 +25,8 @@ Cannot stop while `.gm/prd.yml` has items, git is dirty, or commits are unpushed
|
|
|
25
25
|
|
|
26
26
|
Open every plan with one parallel pack of `exec:recall` + `exec:codesearch` against the request's nouns. Hits land as `weak_prior`; misses confirm the unknown is fresh. The pack runs in one message.
|
|
27
27
|
|
|
28
|
+
**Auto-recall injection (skills-only platforms)**: derive a 2–6 word query from the request's nouns (subject, verb objects, key domain terms). Call `exec:recall <query>` at PLAN start before writing `.gm/prd.yml`, inline. This replaces the prompt-submit hook's auto-recall for platforms without hook infrastructure. Recall hits are injected as context into mutable discovery and PRD item acceptance criteria.
|
|
29
|
+
|
|
28
30
|
## Mutable discovery
|
|
29
31
|
|
|
30
32
|
For each aspect of the work, ask: what do I not know, what could go wrong, what depends on what, what am I assuming. Unwitnessed assumptions are mutables.
|