npx claudepluginhub anentrypoint/gm-cc --plugin gmThis skill uses the workspace's default tool permissions.
You are in the **VERIFY → COMPLETE** phase. Files are written. Prove the whole system works end-to-end. Any new unknown = snake to `planning`, restart chain.
Implements approved plans from plan.md in controlled batches (default 3 tasks) with verification checkpoints using isolated git worktrees. Triggers on 'execute the plan', 'start building', 'follow the plan', 'go'.
Verifies task completion by enforcing fresh automated test runs, runtime evidence review, and spec re-read in /dev workflow Phase 7.
Share bugs, ideas, or general feedback.
You are in the VERIFY → COMPLETE phase. Files are written. Prove the whole system works end-to-end. Any new unknown = snake to planning, restart chain.
GRAPH POSITION: PLAN → EXECUTE → EMIT → [VERIFY] → UPDATE-DOCS → COMPLETE
gm-emit.FORWARD:
gm-execute skill (next wave)update-docs skillBACKWARD:
gm-emit skill, fix, re-verify, returngm-execute skill, re-resolve, re-emit, returnplanning skill, restart chainplanning skill, restart chainTRIAGE on failure: broken file output → snake to gm-emit | wrong logic → snake to gm-execute | new unknown or wrong requirements → snake to planning
RULE: Any surprise = new unknown = snake to planning. Never patch around surprises.
witnessed_e2e=UNKNOWN until real end-to-end run produces witnessed outputgit_clean=UNKNOWN until exec:bash\ngit status --porcelain returns emptygit_pushed=UNKNOWN until git log origin/main..HEAD --oneline returns emptyprd_empty=UNKNOWN until .prd file is deleted (not just empty — file must not exist)All four must resolve to KNOWN before COMPLETE. Any UNKNOWN = absolute barrier.
Run the real system with real data. Witness actual output.
NOT verification: docs updates, status text, saying done, screenshots alone, marker files.
exec:nodejs
const { fn } = await import('/abs/path/to/module.js');
console.log(await fn(realInput));
For browser/UI: invoke browser skill with real workflows. Server + client features require both exec:nodejs AND browser. After every success: enumerate what remains — never stop at first green.
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:java | exec:deno | exec:cmd
Only git in bash directly. Background tasks: exec:sleep\n<id>, exec:status\n<id>, exec:close\n<id>. Runner: exec:runner\nstart|stop|status.
Execution efficiency — pack every run:
Promise.allSettled or parallel subprocess spawningexec:codesearch
<natural language description>
exec:bash
git status --porcelain
Must return empty.
exec:bash
git log origin/main..HEAD --oneline
Must return empty. If not: stage → commit → push → re-verify. Local commit without push ≠ complete.
All of: witnessed end-to-end output | all failure paths exercised | .prd empty | git clean and pushed | user_steps_remaining=0
After end-to-end verification passes: read .prd from disk. If any items remain, immediately invoke gm-execute skill — do not respond to the user. Only respond when .prd is deleted AND git is clean AND all commits are pushed.
Never: claim done without witnessed output | uncommitted changes | unpushed commits | .prd items remaining | stop at first green | absorb surprises silently | respond to user while .prd has items
Always: triage failure before snaking | witness end-to-end | snake to planning on any new unknown | enumerate remaining after every success | check .prd after every verification pass
→ FORWARD: .prd items remain → invoke gm-execute skill (keep going, do not stop).
→ FORWARD: .prd deleted + feature work pushed → invoke update-docs skill.
↩ SNAKE to EMIT: file output wrong → invoke gm-emit skill.
↩ SNAKE to EXECUTE: logic wrong → invoke gm-execute skill.
↩ SNAKE to PLAN: new unknown or wrong requirements → invoke planning skill, restart chain.