Skip to content
Agent Orchestration
Skill

/orchestrator-lanes

Terminal Lane Stack Claude Code `dev-orchestrator` only (run-controller harness: score, DAG, run-supervisor, L0/L1/L2, wt-merge-main). Use when the session runs that terminal harness, or when `$ARGUMENTS` is exactly `info`. SKIP: Lane Pilot / BB chats (dispatch there is

BOOST
From plugin
claude-lane-stack
12464 skills24 agents5 commands12 hooks
+1
Install
$ npx -y skills add VKirill/claude-lane-stack --skill orchestrator-lanes --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/orchestrator-lanes

Context preview

The summary Claude sees to decide when to auto-load this skill.

Terminal Lane Stack Claude Code `dev-orchestrator` only (run-controller harness: score, DAG, run-supervisor, L0/L1/L2, wt-merge-main). Use when the session runs that terminal harness, or when `$ARGUMENTS` is exactly `info`. SKIP: Lane Pilot / BB chats (dispatch there is

SKILL.md

orchestrator-lanes.SKILL.md
name: orchestrator-lanes
description: Terminal Lane Stack Claude Code `dev-orchestrator` only (run-controller harness: score, DAG, run-supervisor, L0/L1/L2, wt-merge-main). Use when the session runs that terminal harness, or when `$ARGUMENTS` is exactly `info`. SKIP: Lane Pilot / BB chats (dispatch there is `lane_pilot_dispatch_writer`, `LANE_PILOT_AGENT_TYPE` set); Grok, Codex, Kimi, Qwen, AGY, Cursor writer CLIs and any default coding agent — do not load, do not wt-create.
argument-hint: "[info]"

Orchestrator lanes — solo operator

> **Inside a Lane Pilot chat** (`LANE_PILOT_AGENT_TYPE` set / tools `lane_pilot_*` present) do not follow this file: it is the terminal harness. Dispatch with `lane_pilot_dispatch_writer` (the whole plan at once, order through `depends_on`), poll with `lane_pilot_wait_writer`; Lane Pilot runs plan critique, acceptance and the merge into main itself, so `run-init`, `run-controller`, `run-supervisor`, `lane-ctl`, `wt-create` and `wt-merge-main` are not yours to call (the guard refuses them). Only `references/decomposition.md` still applies there.

Info

If `$ARGUMENTS` is exactly `info`, print `references/info.md` verbatim (Russian), then stop. Do not score. Do not `run-init`.

Load: **karpathy-guidelines**, **lane-contract**, **project-life**, **resume-project**, **project-design**, **ui-ux-pro-max**. Before filling `tasks/*.yaml`: Read this skill's `references/task-yaml.md`.

Docs: `FILE-CONTRACT.md`, `ROUTING.md`, `SOLO-ORCHESTRATION.md`, `PLATFORM-CAPABILITIES.md` (Claude Code + Codex features we use), `docs/decisions/ADR-codex-effort.md` under the lane-stack / `~/.agents/docs/`.

You are the **only** person who merges to `main`. Human never merges.

---

Planning vs run

If the user is in a **planning session** (`project-life`: «планируем / не запускай / спланируй / обсудим / пока план») or has **not** said «делай / реализуй / в работу / запускай ран»:

  • Do **not** announce score, `run-init`, or dispatch writers.
  • Follow **project-life → Planning session**. Write `.agents/plans/` only.
  • New app or service talk («архитектор / новое приложение / новый сервис»):

load **app-architect**. Same draft plan, living `artifacts/`. Still no run.

  • Claude Code Plan mode is not this. Do not write `~/.claude/plans/`.

If the host is in Plan mode, tell the user to switch to default.

Phase 0 starts only after «делай / реализуй / в работу».

**UI / visual initiative:** root `docs/DESIGN.md` plus the **full** `apps/<name>/docs/DESIGN.md` for every UI app you touch. If any of those are missing, spawn **design-lead** before `run-init`. UI task `read_first` lists both root and that app's DESIGN.md. Do not put them in writer `owns_paths` unless the outcome is tokens/docs.

---

Phase 0 — Score (announce once)

+2 multi-problem · +2 UI/state/auth/pay · +2 backend/API · +2 multi-surface · +2 needs verify · +3 prod/billing/security

| Score | Path | |------:|------| | 0–2 | Micro: 1 short contract, **commit main** | | 3–6 | Express: 1 task, dispatch, verify, **commit/merge main** | | 7–8 | Brief: 2–4 tasks, **filled** PLAN + SPEC; workspace per `adoc` profile | | 9–10 | Full: rich SPEC + DAG; workspace per `adoc` profile | | 11+ | Split feature; ask user |

**Writer source of truth = `adoc` / `agents-doctor`** → `.agents/routing.profile.yaml` (`lanes.main_write`, `writer.model`, `writer.reasoning_effort`, **`workspace.mode`**).

  • Every task YAML **must** set `lane: <main_write>` exactly (e.g. `lane: codex`).
  • Never hardcode `lane: kimi` unless adoc says so. `run-validate` rejects mismatch.
  • `run-controller` defaults `--provider` / model / effort from the same profile.
  • Selectable writers: kimi / qwen / grok / agy / **codex**. Codex Sol remains recovery + night review / onboard / docs.
  • **Workspace** (adoc tab **Work**): `in_place` | `worktree` | `auto` — see Phase 2.

---

Task decomposition

Rules (one outcome per task, disjoint `owns_paths`, real `depends_on` only, size budgets) live in `references/decomposition.md`. Read it before `run-init` and before filling YAML; skipping it is how multi-task runs stall.

---

Phase 1 — Files

**Not** `.agents/plans/` for coding execution. Strategy stays in `.agents/plans/`; promote to a run when implementing.

run-init "$(pwd)" <slug> --score <score>
# Fill PLAN.md, SPEC.md (required content when score≥7 or ≥2 tasks), tasks/*.yaml
# YAML is technical: objective=outcome, read_first=existing files,
# context_selectors=line windows, interfaces=signatures or [].
# Do not copy writer recovery (git checkout, edit tool, CONTINUATION) into the task.
plan-critique --run-dir "$(pwd)/.agents/runs/<slug>"   # stages.plan_critique (adoc)
# Every error/warn id → artifacts/critique-reply.json (take | skip+note)
run-validate --run-dir "$(pwd)/.agents/runs/<slug>" --phase pre-dispatch
run-board "$(pwd)"

**Plan critique** (configure in `adoc` → **Stages**):

1. Structural coverage + independent LLM review (agy uses `LanePlanCritique` JSON schema). 2. Writes `artifacts/critique.json` + `critique.md`. Findings with `error`/`warn` are **inbox**. 3. PM **must** reply before `run-controller` / writers (advisory and gate):

{"schema_version":1,"items":[{"id":"structural:verify_heavy:003","verdict":"skip","note":"L1 is enough"}]}

| `verdict` | Meaning | |-----------|---------| | `take` | You edited PLAN/SPEC/tasks for that id; re-run `plan-critique` | | `skip` | Leave as-is; **note required** |

Bulk skip: `plan-critique --ack --note 'reason'`. `run-validate --phase pre-dispatch` and `run-controller start` refuse unreplied ids. `wiki/` `TODO/` `.agents/plans/` (and legacy `docs/plans/`) owns_gap is `info` — no reply.

PLAN.md

DAG table, goals, out-of-scope, verification plan (L1 vs L2), risk notes.

SPEC.md (professional, not a stub)

Required when **score ≥ 7** or **≥ 2 tasks**. Must include, in English:

1. **Goal** — one paragraph 2. **Interfaces** — stable exports/routes/types the wr

Read more
Ships withclaude-lane-stack

Claude Lane Stack is a self-hosted toolkit for coordinating coding agents through CLI processes, task contracts, Git workspaces, and verification receipts (bin/run-controller:117-159, schemas/task-v2.schema.json:1-60).

Get the whole plugin

Other skills on claude-lane-stack.