Skip to content
Development
Skill

/go

Approve session plan and begin wave execution

From plugin
session-orchestrator
5252 skills14 agents2 commands10 hooks
+1

Claude Code

$ npx -y skills add Kanevry/session-orchestrator --skill go --agent claude-code

SKILL.md

go.SKILL.md
name: go
description: Approve session plan and begin wave execution
user-invocable: true
disable-model-invocation: true
argument-hint: "[optional instructions]"
model: inherit

Execute Session Plan

The user has approved the session plan. Begin execution immediately.

No plan to execute

Before executing either path below, check for a plan. A plan exists when either holds:

  • the conversation — including a context-compaction summary — contains a session-plan result that offers `Use /go to begin.` (wave plan or Express Path plan);
  • `<state-dir>/STATE.md` has `status: active` or `status: paused` and its frontmatter `session-id` (the raw harness id) equals this process's own raw id — `readProcessLocalSessionIds()` in `scripts/lib/session-identity/own-session.mjs` (Claude Code: `$CLAUDE_CODE_SESSION_ID`; `readInvocationSessionId()` there is the ancestor-process proof). That is an interrupted wave execution of this session; the raw id survives a context compaction.

Never decide this by the labels STATE.md `session`, `semantic_session_id` or `.orchestrator/current-session.json`: they are repo-wide, and a peer session started later in the same repo owns them (`skills/_shared/state-ownership.md` § Session Identity and Lock Ownership). A STATE.md without `session-id`, without a measurable own id, or not `active`/`paused` proves nothing: session-plan does not write it, and the wave-executor sets `status: active` only when execution starts. If neither holds, print the line `/go: kein Plan vorhanden – nichts ausgeführt` and end the answer with the wait sentence `Ich warte auf den nächsten Auftrag.` (or `Bereit zum Schließen.` when the fleet handover applies) — the status line alone is not recognised as a waiting answer (`skills/_shared/fleet-protocol.md` § Rücklauf an den Navigator, Wartesatz). Do not re-plan or start a new session.

In this no-plan case apply `skills/_shared/fleet-protocol.md` § Rücklauf an den Navigator (Pflicht) with the wait case `go-ohne-plan`: measure fleet and lease read-only (no check-in) and send exactly ONE report in this turn, even if an earlier turn already reported the same case (`SendMessage` with an active, reachable lease; on failure or otherwise a Lead-Todo; if that fails too, `Meldung gescheitert: <Grund>` in the last paragraph) — the session, `/go ohne Plan`, the time from `date`, and what the session needs next. Never wait for a reply (CSM-004). Return without executing work.

Invocation

Invoked as `/go [optional instructions]` with arguments: **$ARGUMENTS**. The user has approved the session plan; begin execution immediately.

`$ARGUMENTS` is optional priority guidance, forwarded verbatim to `skills/wave-executor/SKILL.md` for agent prompts (see "Standard Execution" below). It never re-opens the plan: do NOT re-plan, do NOT re-analyze — execute the agreed plan NOW with maximum efficiency.

Express Path Detection

Before invoking the wave-executor, check the conversation context for the Express Path activation banner — printed by `node scripts/express-path.mjs` in session-start Phase 8.5, and carried through session-plan's Short-Circuit (#1146):

Express path activated — <N> tasks, coordinator-direct, no inter-wave checks.

If the banner is present (and the session-plan output emitted a 1-wave Express Path plan per `skills/session-plan/SKILL.md` § "Express Path Short-Circuit"):

**The express 1-wave plan IS the housekeeping shape.** `node scripts/session-shape.mjs --repo-root "$PWD" --session-type housekeeping --no-event` resolves to a single wave with `coordinatorDirect: true` — the express path is not a bespoke shortcut but that shape executed. Consequently, when the session type is `housekeeping`, the coordinator-direct execution runs the **maintenance loop first** (drift-check, expired sweep, `/evolve analyze`, `/reconcile`, `/evolve dialectic`, `/memory-cleanup` — ordered scope, gates and proving artefacts in `skills/wave-executor/SKILL.md` § Housekeeping Sessions — the Maintenance Loop), and **then** the selected issues in dependency order.

1. **Execute the agreed tasks directly** as coordinator actions, in dependency order. Do NOT dispatch subagents. Do NOT invoke the wave-executor skill. 2. **Append the Express Path deviation to STATE.md** before invoking session-end. Use `appendDeviationOnDisk()` from `scripts/lib/state-md.mjs` — the on-disk wrapper takes the STATE.md lock automatically, serialising any concurrent writers. This step ensures the audit trail exists BEFORE session-end finalizes the file. Equivalent one-liner via Bash:

   node --input-type=module -e "
   import {execSync} from '${PLUGIN_ROOT}/scripts/lib/native-command.mjs';
   import {appendDeviationOnDisk} from '${PLUGIN_ROOT}/scripts/lib/state-md.mjs';
   const repoRoot = execSync('git rev-parse --show-toplevel', {encoding: 'utf8'}).trim();
   await appendDeviationOnDisk(repoRoot, new Date().toISOString(), 'Express path: <N> tasks executed coord-direct (express-path.enabled: true, session-type: housekeeping, scope: <N> issues)');
   "

3. **Fleet check (#1620), then close.** Measure fleet integration first with the read-only one-liner in `skills/_shared/fleet-protocol.md` § Rücklauf an den Navigator. On `flotte: true` (fleet integration on this host, with or without an active lease) the session does NOT close itself (fleet-protocol § Übergabe Punkt 4): skip the rest of this step and steps 4–5. Instead give the session summary first, then report the wait case `fertig`, write the hand-over and end the reply with `Bereit zum Schließen.` as its last sentence, per fleet-protocol § Übergabe und Zug-Manifest (the coordinator only reads the last 600 characters). The deviation from step 2 is already on disk; the coordinator triggers `/close`, and the regular session-end flow finalizes STATE.md — the step-4 persistence check does not run on this path. On `flotte: false` continue: **Invoke `session-orchestrator:session-end`** directly via the `Skill`

Read more
@kanevry
Ships withsession-orchestrator

Your coding agents get an agreed plan, a check after each round of changes and a handover to the next session. A free, MIT-licensed workflow plugin for people running Claude Code, Codex CLI, Cursor IDE or Pi on a git repository.

5252 skills14 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
52
Star history of Kanevry/session-orchestrator on GitHub, a chart by star-history.com

Other skills on session-orchestrator.

autopilot

autopilot

Use this skill when running an autonomous session-orchestration loop. Chains session-start → session-plan → wave-executor →…

bootstrap

bootstrap

Use this skill when scaffolding the minimum repository structure required by session-orchestrator. Invoked automatically by the…

brainstorm

brainstorm

Use when you have a feature idea but the scope or UX is still ambiguous — runs a lightweight Socratic design dialogue (3-5 AUQ…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about go.

Which coding agents can use go?
go installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.