skills/gm/SKILL.md
Orchestrator dispatching PLAN→EXECUTE→EMIT→VERIFY→UPDATE-DOCS skill chain; spool-driven task execution with session isolation
npx skillsauth add anentrypoint/gm-cc gmInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Invoke planning immediately. Phases cascade: PLAN → EXECUTE → EMIT → VERIFY → UPDATE-DOCS.
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.
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.
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.
Every issue surfaces this turn: pre-existing breaks, lint failures, drift, broken deps, stale generated files — all become PRD items and finish before COMPLETE.
LLM provider: rs-learn uses a 3-tier fallback chain: acptoapi HTTP (127.0.0.1:4800) → ACP subprocess (opencode/kilo-code/codex/gemini-cli/qwen-code) → AGENTS.md content. All errors reported explicitly — never silently absorbed. SWE-bench scores rank model fallback ordering (highest first). Downstream platforms read OPENAI_BASE_URL defaulting to 127.0.0.1:4800. Anthropic SDK only when acptoapi socket unavailable. acptoapi strips internal tools (fs_*, bash, python, ssh, recall, memorize, codesearch, etc.) before forwarding to providers.
rs-learn failure contract: memorize, recall, and codesearch spool dispatch failures must be reported explicitly with error details to the user. Fallback to AGENTS.md for memory preservation when socket/network unavailable. Never silently absorb errors because memory preservation requires explicit fallback. This rule applies across all phases (PLAN through UPDATE-DOCS).
Spool watcher restart: at session start, check .gm/exec-spool/.watcher.heartbeat. If older than 30s, the watcher is dead. Write a nodejs spool file to .gm/exec-spool/in/nodejs/restart-watcher.js that kills stale plugkit processes and spawns plugkit runner --watch .gm/exec-spool/in --out .gm/exec-spool/out detached. Wait 2s for initialization before dispatching any exec commands.
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.
Data layout: .gm/ for ephemeral state (excluded from git), gm-data/ for persistent DBs (rs-learn.db, code-search/ — tracked in git). Legacy .gm/rs-learn.db auto-migrates to gm-data/rs-learn.db on first access.
WASM parity: All CLI verbs available in browser/WASM via thebird host emulation. Python/bash/ssh/powershell map to exec_js; status/wait/sleep/close/kill-port/forget/feedback/learn-status/learn-debug/learn-build/discipline/pause/runner/type/browser all have WASM handlers. rs-search WASM uses fusion search (vector + BM25 + git via RRF scoring).
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.
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', ...).
Recall before fresh execution: before witnessing unknown via execution, recall first. Hits arrive as weak_prior; empty results confirm fresh unknown.
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.
Parallel independent items: up to 3 gm:gm subagents per message for independent PRD items. Serial for dependent items — no re-asking between them.
Terse response: fragments OK. [thing] [action] [reason]. [next step]. Code, commits, PRs use normal prose.
Caveman medium mode (full) always on: drop articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries, and hedging. Fragments OK. Use short synonyms. Keep technical terms exact. Keep code blocks and exact error strings unchanged. Pattern: [thing] [action] [reason]. [next step]. Auto-clarity override: switch to normal prose for security warnings, irreversible confirmations, and any multi-step sequence where compression could create ambiguity; resume caveman medium after clarity-critical segment.
When end-to-end: true is present in SKILL.md frontmatter, skill output includes structured JSON on stdout (final line):
{"nextSkill": "gm-execute" | "gm-emit" | "gm-complete" | "update-docs" | null, "context": {PRD and state dict}, "phase": "PLAN" | "EXECUTE" | "EMIT" | "COMPLETE"}
Platform adapters (vscode, cursor, zed, jetbrains) that support end-to-end: true detection:
Skill(skill="gm:gm")nextSkill is non-null, invoke Skill(skill="gm:<nextSkill>") with context dict auto-passednextSkill is nullThis collapses 5 manual skill invocations into 1 user invocation + 4 transparent auto-dispatches, achieving perceived single-flow parity with gm-cc's subagent orchestration.
data-ai
AI-native software engineering via skill-driven orchestration on zed; bootstraps plugkit for task execution and session isolation
development
AI-native software engineering via skill-driven orchestration on vscode; bootstraps plugkit for task execution and session isolation
data-ai
AI-native software engineering via skill-driven orchestration on oc; bootstraps plugkit for task execution and session isolation
data-ai
AI-native software engineering via skill-driven orchestration on kilo; bootstraps plugkit for task execution and session isolation