One rule governs all commands: read the matched skill in full before acting, never improvise charter, check, decide, layover or rotation steps from memory, even inside a repeat session.
/wavves
Default entry. Type it plus a plain task description and let it route, don't pre-decide the leaf skill yourself.
/wavves the checkout webhook creates duplicate
invoices under retries. reproduce, fix and verify
with gate captures. do not deploy.
Not this: calling it with no task ("just set things up"). It needs either bounded work to charter or an explicit instruction like "set up" / "check the spec" / "lock decisions" / "proceed as recommended" / "rotate" / "where are we" to match a playbook.
/wavves-init
Only when you specifically want home setup or repair, first time in a repo or a broken standing home.
/wavves-init set up wavves in this repo. do not commit.
Not this: calling it repeatedly "just in case," or expecting it to charter work. If the home already exists, it adopts it, it never overwrites INDEX.md or AGENTS.md silently.
/charter
Only when you already know it's bounded, multi-wave work and want to skip the router. Paste Locked decisions when a check left open forks.
/charter migrate every callsite from the sync
config store to the async one. behavior must
stay identical.
Not this: chartering vague scope ("clean up the codebase"), or BUILD while named product forks are still open. Route those through /mod-decide first.
/mod-check
When a spec or plan is already landed and you want an adversarial parallel wave before writing the implementation plan or starting build.
/mod-check review docs/specs/2026-07-08-example.md
before we write the implementation plan.
adversarial parallel wave. read-only.
landing_commit_hash <hash>
Not this: using it to write the plan, lock product picks or start the build. It returns GO / REVISE / BLOCK with scoped blocks_w2…blocks_w5 and recommended_actions under the lane findings.
/mod-decide
After a check return leaves open product or design calls. Invoke once to start the queue. Mid-queue, just answer the pick. Do not re-slash on every decision.
/mod-decide navigate open calls from the check
return. one decision at a time. write
decisions/*.md. no BUILD until locks are complete.
Pick: dedicated button.
Record as DSO-01. Next decision when ready.
No BUILD yet.
Not this: pasting /mod-decide again before every pick in the same thread, re-running /mod-check to "make the decisions," or asking Mod to start building mid-decide. On complete, sync authority surfaces, emit the Locked decisions paste, then /charter or /wavves proceed.
/layover
When you need an eyes-open inventory of local-only state across sibling repos in a desktop .code-workspace, before you manually open a single-repo cloud agent on one of them.
/layover audit ~/my.code-workspace. report
untracked, unpushed and stashed state per sibling.
read-only, audit-only.
Not this: expecting it to start a cloud agent, make cloud multi-root, autoconfigure wavves elsewhere or stage/commit/push. It never classifies anything as safe. One report under wavves/layovers/; you still open the cloud thread and hydrate wavves by hand.
/set-key
When a wave needs a server-only env secret (e.g. klosr GOOGLE_MAPS_API_KEY). Paste in the external Terminal window only.
/set-key open Terminal paste helper for klosr
GOOGLE_MAPS_API_KEY. remeasure set/nchars only.
Not this: pasting the secret into Cursor chat or an agent shell argv/env. Reject leaves .env.local unchanged. Densify/API follow-ups go to background runners.
/wavves proceed
After mod-check or mod-decide returns recommended_actions. Executes commit, dispatch and operator gates in order. Closed all-standing phrases inventory disk standing and move what can.
/wavves proceed as recommended
/wavves proceed all standing
Not this: using it without a verdict that names the actions, skipping operator approval gates or treating bare shrug as all-standing.
/shrug
Discoverable alias for emoji shrug. Bare form is AUTH-10 proceed only. Pair with a closed all-standing phrase to widen.
/shrug
/shrug queue all standing and move
Not this: widening bare /shrug or bare ¯\_(ツ)_/¯ to all-standing (PROC-PROCEED-SHRUG-WIDEN).
/mod-rotate
Only when the thread is genuinely heavy or you're stepping away, not preemptively.
/mod-rotate token velocity is too high. give me
the one-line paste for a fresh thread.
Not this: rotating on every small task, or assigning the successor identity yourself. The rotation file assigns O0.R<N+1>. The new thread verifies claimed commits are reachable from HEAD before trusting them.
/wavves pickup
Resume from a rotation handoff or ask what lanes are active. Hydrates from wavves/INDEX.md and the newest rotation file, not chat history. On in-flight orch notify, same-turn remeasure yield_awaiting_children vs return_to_O0 / hard FAIL (do not step-log-and-park).
/wavves hydrate from the rotation paste and tell me what's active.
Not this: treating orch yield as park-and-wait, or re-deriving settled locks from transcript scrollback. Remeasure checkpoint + child outs on disk; fail-remediation-only is for true fails, not mid-wave yield.