gm-execute
GM EXECUTE — Resolving Every Unknown
You are in the EXECUTE phase. Resolve every named mutable via witnessed execution. Any new unknown = stop, snake to planning, restart chain.
GRAPH POSITION: PLAN → [EXECUTE] → EMIT → VERIFY → COMPLETE
- Entry: .prd exists with all unknowns named. Entered from
planningor via snake from EMIT/VERIFY.
TRANSITIONS
FORWARD: All mutables KNOWN → invoke gm-emit skill
SELF-LOOP: Mutable still UNKNOWN after one pass → re-run with different angle (max 2 passes then snake)
BACKWARD:
- New unknown discovered → invoke
planningskill immediately, restart chain - From EMIT: logic error → re-enter here, re-resolve mutable
- From VERIFY: runtime failure → re-enter here, re-resolve with real system state
MUTABLE DISCIPLINE
Each mutable: name | expected | current | resolution method. Execute → witness → assign → compare. Zero variance = resolved. Unresolved after 2 passes = new unknown = snake to planning. Never narrate past an unresolved mutable.
CODE EXECUTION
exec: is the only way to run code. Bash tool body: exec:<lang>\n<code>
exec:nodejs (default) | exec:bash | exec:python | exec:typescript | exec:go | exec:rust | exec:c | exec:cpp | exec:java | exec:deno | exec:cmd
Lang auto-detected if omitted. cwd sets directory. File I/O via exec:nodejs + require('fs'). Only git in bash directly. Bash(node/npm/npx/bun) = violations.
Background tasks (auto-backgrounded when execution exceeds 15s):
exec:sleep
<task_id> [seconds]
exec:status
<task_id>
exec:close
<task_id>
Runner:
exec:runner
start|stop|status
CODEBASE EXPLORATION
exec:codesearch
<natural language description of what you need>
Alias: exec:search. Glob, Grep, Read-for-discovery, Explore, WebSearch = blocked.
IMPORT-BASED DEBUGGING
Always import actual codebase modules. Never rewrite logic inline.
exec:nodejs
const { fn } = await import('/abs/path/to/module.js');
console.log(await fn(realInput));
Witnessed import output = resolved mutable. Reimplemented output = UNKNOWN.
EXECUTION DENSITY
Pack every related hypothesis into one run. Each run ≤15s. Witnessed output = ground truth. Narrated assumption = nothing.
Parallel waves: ≤3 gm:gm subagents via Task tool — independent items simultaneously, never sequentially.
CHAIN DECOMPOSITION
Break every multi-step operation before running end-to-end:
- Number every distinct step
- Per step: input shape, output shape, success condition, failure mode
- Run each step in isolation — witness — assign mutable — KNOWN before next
- Debug adjacent pairs for handoff correctness
- Only when all pairs pass: run full chain end-to-end
Step failure revealing new unknown → snake to planning.
BROWSER DEBUGGING
Invoke agent-browser skill. Escalation — exhaust each before advancing:
exec:agent-browser\n<js>— query DOM/state. Always first.agent-browserskill +__gmglobals — instrument and capture- navigate/click/type — only when real events required
- screenshot — last resort
__gm scaffold:
window.__gm = { captures: [], log: (...a) => window.__gm.captures.push({t:Date.now(),a}), assert: (l,c) => { window.__gm.captures.push({l,pass:!!c,val:c}); return !!c; }, dump: () => JSON.stringify(window.__gm.captures,null,2) };
GROUND TRUTH
Real services, real data, real timing. Mocks/fakes/stubs = delete immediately. No .test.js/.spec.js. Delete on discovery.
DO NOT STOP
Never respond to the user from this phase. When all mutables are KNOWN, immediately invoke gm-emit skill. The chain continues until .prd is deleted and git is clean — that happens in gm-complete, not here.
CONSTRAINTS
Never: Bash(node/npm/npx/bun) | fake data | mock files | Glob/Grep/Explore | sequential independent items | absorb surprises silently | respond to user or pause for input
Always: witness every hypothesis | import real modules | snake to planning on any new unknown | fix immediately on discovery | invoke next skill immediately when done
→ FORWARD: All mutables KNOWN → invoke gm-emit skill immediately.
↺ SELF-LOOP: Still UNKNOWN → re-run (max 2 passes).
↩ SNAKE to PLAN: Any new unknown → invoke planning skill, restart chain.
More from anentrypoint/plugforge
planning
Mutable discovery and PRD construction. Invoke at session start and any time new unknowns surface during execution. Loop until no new mutables are discovered.
100agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
97gm
Immutable programming state machine. Root orchestrator. Invoke for all work coordination via the Skill tool.
86gm-emit
EMIT phase. Pre-emit debug, write files, post-emit verify from disk. Any new unknown triggers immediate snake back to planning — restart chain.
69gm-complete
VERIFY and COMPLETE phase. End-to-end system verification and git enforcement. Any new unknown triggers immediate snake back to planning — restart chain.
69update-docs
UPDATE-DOCS phase. Refresh README.md, CLAUDE.md, and docs/index.html to reflect changes made this session. Commits and pushes doc updates. Terminal phase — declares COMPLETE.
57