skills/gm-emit/SKILL.md
EMIT phase. Pre-emit debug, write files, post-emit verify from disk. Any new unknown triggers immediate snake back to planning — restart chain.
npx skillsauth add anentrypoint/gm-cc gm-emitInstall 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.
Entry: every mutable KNOWN, from gm-execute or re-entered from VERIFY. Exit: gates clear → gm-complete.
Cross-cutting dispositions live in gm SKILL.md.
gm-completegm-executeplanningFor every claim landing in a file, answer five questions:
authorization=witnessed, or is it inflated from a weak prior?gm-execute.Any failure regresses to gm-execute to witness what was missing, or planning if the gap is structural.
Mandatory before writing any file. Write the probe to the spool (.gm/exec-spool/in/nodejs/<N>.js):
const { fn } = await import('/abs/path/to/module.js');
console.log(await fn(realInput));
Import the actual module from disk to witness current behavior as the baseline. Run the proposed logic in isolation without writing — witness with real inputs and with real error inputs. Match expected → write. Unexpected → new unknown → planning.
Use the Write tool, or a nodejs spool file with require('fs'). Write only when every gate mutable resolves simultaneously.
Re-import from disk — in-memory state is stale and inadmissible. Run identical inputs as pre-emit; output must match the baseline exactly. Known variance → fix and re-verify (self-loop). Unknown variance → planning.
Before pre-emit run, read .gm/mutables.yml. Any entry with status: unknown → regress to gm-execute. The pre-tool-use hook hard-blocks Write/Edit/NotebookEdit while unresolved entries exist; trying to emit anyway returns deny. Zero unresolved is the precondition for every legitimacy question below.
.gm/mutables.yml empty/absent OR every entry status: witnessed with filled witness_evidence|| default, no catch { return null }, no fallbacks)test.js — a change no test catches is a change you cannot proveexec:browser witness (boot server → page.goto → page.evaluate asserting the invariant the change established). Node-side import + test.js does not satisfy this — the final gate runs again in gm-complete.exec:codesearch for the primary concern after writing; overlap → planning)/debug/<subsystem>; new client modules register in window.__debugAgent(memorize)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