gm-execute
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGM EXECUTE — Resolving Every Unknown
GM EXECUTE — 解析所有未知项
You are in the EXECUTE phase. Resolve every named mutable via witnessed execution. Any new unknown = stop, snake to , restart chain.
planningGRAPH POSITION:
PLAN → [EXECUTE] → EMIT → VERIFY → COMPLETE- Entry: .prd exists with all unknowns named. Entered from or via snake from EMIT/VERIFY.
planning
你正处于EXECUTE执行阶段。通过可观测的执行解析所有已命名的可变项。若出现任何新的未知项,立即停止,回退至规划阶段,重启流程链。
planning流程节点位置:
PLAN → [EXECUTE] → EMIT → VERIFY → COMPLETE- 进入条件:存在已命名所有未知项的.prd文件。可从规划阶段进入,或从EMIT/VERIFY阶段回退进入。
planning
TRANSITIONS
流转规则
FORWARD: All mutables KNOWN → invoke skill
gm-emitSELF-LOOP: Mutable still UNKNOWN after one pass → re-run with different angle (max 2 passes then snake)
BACKWARD:
- New unknown discovered → invoke skill immediately, restart chain
planning - From EMIT: logic error → re-enter here, re-resolve mutable
- From VERIFY: runtime failure → re-enter here, re-resolve with real system state
向前流转:所有可变项均已明确 → 调用技能
gm-emit自循环:一次执行后仍有可变项未知 → 换角度重新执行(最多2次,之后回退至规划阶段)
向后回退:
- 发现新的未知项 → 立即调用技能,重启流程链
planning - 从EMIT阶段返回:逻辑错误 → 重新进入本阶段,重新解析可变项
- 从VERIFY阶段返回:运行时失败 → 重新进入本阶段,结合真实系统状态重新解析
MUTABLE DISCIPLINE
可变项规范
Each mutable: name | expected | current | resolution method. Execute → witness → assign → compare. Zero variance = resolved. Unresolved after 2 passes = new unknown = snake to . Never narrate past an unresolved mutable.
planning每个可变项需包含:名称 | 预期值 | 当前值 | 解析方法。执行→观测→赋值→对比。无差异即表示已解析。若2次执行后仍未解析,则视为新的未知项,回退至规划阶段。不得跳过未解析的可变项进行后续描述。
planningCODE EXECUTION
代码执行
exec:<lang> is the only way to run code. Bash tool body:
exec:<lang>\n<code>exec:nodejsexec:bashexec:pythonexec:typescriptexec:goexec:rustexec:cexec:cppexec:javaexec:denoexec:cmdLang auto-detected if omitted. sets directory. File I/O via exec:nodejs + require('fs'). Only git in bash directly. = violations.
cwdBash(node/npm/npx/bun)Background tasks (auto-backgrounded when execution exceeds 15s):
exec:sleep
<task_id> [seconds]exec:status
<task_id>exec:close
<task_id>Runner (PM2-backed — all activity visible in and in user terminal):
pm2 listpm2 monitexec:runner
start|stop|statusexec:<lang>是运行代码的唯一方式。Bash工具格式:
exec:<lang>\n<code>exec:nodejsexec:bashexec:pythonexec:typescriptexec:goexec:rustexec:cexec:cppexec:javaexec:denoexec:cmd若省略语言类型,将自动检测。用于设置工作目录。文件I/O需通过exec:nodejs + require('fs')实现。仅可在bash中直接使用git命令。属于违规操作。
cwdBash(node/npm/npx/bun)后台任务(当执行时间超过15秒时自动转入后台):
exec:sleep
<task_id> [seconds]exec:status
<task_id>exec:close
<task_id>运行器(基于PM2实现——所有活动可在用户终端的和中查看):
pm2 listpm2 monitexec:runner
start|stop|statusCODEBASE EXPLORATION
代码库探索
exec:codesearch
<natural language description of what you need>Alias: . Glob, Grep, Read-for-discovery, Explore, WebSearch = blocked.
exec:searchexec:codesearch
<你所需内容的自然语言描述>别名:。Glob、Grep、Read-for-discovery、Explore、WebSearch均被禁用。
exec:searchIMPORT-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.
始终导入真实的代码库模块。切勿内重写逻辑。
exec:nodejs
const { fn } = await import('/abs/path/to/module.js');
console.log(await fn(realInput));观测到的导入输出即表示可变项已解析。重实现的输出视为未知。
EXECUTION DENSITY
执行密度
Pack every related hypothesis into one run. Each run ≤15s. Witnessed output = ground truth. Narrated assumption = nothing.
Parallel waves: ≤3 subagents via Task tool — independent items simultaneously, never sequentially.
gm:gm将所有相关假设整合到一次执行中。每次执行时长≤15秒。观测到的输出即为真实结果。口头假设无效。
并行执行:通过Task工具最多可启动3个子代理——同时处理独立项,切勿按顺序执行。
gm:gmCHAIN 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在端到端运行前,拆分所有多步骤操作:
- 为每个不同步骤编号
- 每个步骤需明确:输入格式、输出格式、成功条件、失败模式
- 独立运行每个步骤——观测——赋值可变项——确认已明确后再进行下一步
- 调试相邻步骤对,确保交接正确性
- 仅当所有步骤对均通过后,再端到端运行完整流程链
若步骤失败并发现新的未知项,回退至规划阶段。
planningBROWSER DEBUGGING
浏览器调试
Invoke skill. Escalation — exhaust each before advancing:
agent-browser- — query DOM/state. Always first.
exec:agent-browser\n<js> - skill +
agent-browserglobals — instrument and capture__gm - navigate/click/type — only when real events required
- screenshot — last resort
__gmjs
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) };调用技能。按优先级逐步升级——在进入下一环节前需穷尽当前方式:
agent-browser- — 查询DOM/状态。始终作为首选方式。
exec:agent-browser\n<js> - 技能 +
agent-browser全局变量 — 插桩并捕获数据__gm - 导航/点击/输入 — 仅当需要真实事件时使用
- 截图 — 最后手段
__gmjs
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.
使用真实服务、真实数据、真实时序。Mocks/fakes/stubs需立即删除。禁止使用.test.js/.spec.js文件,发现后立即删除。
CONSTRAINTS
约束规则
Never: | fake data | mock files | Glob/Grep/Explore | sequential independent items | absorb surprises silently
Bash(node/npm/npx/bun)Always: witness every hypothesis | import real modules | snake to planning on any new unknown | fix immediately on discovery
→ FORWARD: All mutables KNOWN → invoke skill.
↺ SELF-LOOP: Still UNKNOWN → re-run (max 2 passes).
↩ SNAKE to PLAN: Any new unknown → invoke skill, restart chain.
gm-emitplanning禁止: | 虚假数据 | 模拟文件 | Glob/Grep/Explore | 按顺序处理独立项 | 隐瞒意外情况
Bash(node/npm/npx/bun)必须:观测每个假设 | 导入真实模块 | 出现任何新未知项时回退至规划阶段 | 发现问题立即修复
→ 向前流转:所有可变项均已明确 → 调用技能。
↺ 自循环:仍有可变项未知 → 重新执行(最多2次)。
↩ 回退至规划阶段:出现任何新未知项 → 调用技能,重启流程链。
gm-emitplanning