AgentStack
SKILL verified MIT Self-run

Ccc Orchestrate

skill-kevinzai-commander-ccc-orchestrate · by KevinZai

Cross-runtime Orchestrator/Executor — Fable/Opus writes a goal file, GPT-5.6 Sol (codex) or a Sonnet subagent executes it, Fable/Opus verifies against acceptance criteria before reporting done.

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add skill-kevinzai-commander-ccc-orchestrate

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Ccc Orchestrate? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

/ccc-orchestrate — Cross-Runtime Orchestrator/Executor

Orchestrate splits work across two different model runtimes, not just two tiers of the same one. A capable model (Fable 5 or Opus 4.8 — the calling session, i.e. "you") compresses a fuzzy request into a tight, testable goal file. Execution then happens outside this runtime entirely — on GPT-5.6 Sol via the codex CLI, or on a Sonnet subagent if codex isn't available. The orchestrator never writes production code itself.

CC Commander · Cross-Runtime Orchestrate · Docs

> This is /ccc-plan-exec generalized past Claude-only: instead of plan (cheap Claude) → execute (capable Claude), it's plan (Fable/Opus) → execute (a different runtime — GPT-5.6 or Sonnet). The goal file is the interface between the two systems, so it has to have real teeth.


Why cross-runtime

Fable/Opus is expensive per token but excellent at compressing a fuzzy request into a tight, unambiguous spec. GPT-5.6 Sol at high/xhigh reasoning is a strong, comparatively cheaper implementer for well-specified work. The split only pays for itself if the goal file is genuinely load-bearing — vague or hand-wavy acceptance criteria collapse the whole advantage, because the orchestrator ends up re-explaining the task on every re-dispatch anyway. Write the goal file as if the executor has zero conversational context, because on the codex path it does.

Model guidance (GPT-5.6 family, commander/adapters/codex/models.js): default the executor to Sol for real implementation work (deep dev — flagship reasoning). Drop to Terra for balanced, well-specified tasks where Sol's extra reasoning wouldn't change the output. Reserve Luna for cheap, mechanical steps (renames, boilerplate, formatting) inside a larger loop — never for the primary executor role.


The two roles

  1. Orchestrator (Fable 5, effort high, or Opus 4.8 — this session) — reads the request, asks clarifying questions if the scope is fuzzy, and writes a structured goal file to disk. Never edits production code in this mode.
  2. Executor (GPT-5.6 Sol via codex, or Sonnet subagent) — reads the goal file verbatim as its entire brief and implements it. Does not re-plan, re-scope, or renegotiate the acceptance criteria.

The orchestrator resumes after execution to verify against the goal file's done-when checklist, not to re-review the diff from scratch.


The goal file

A Skill.md-shaped markdown spec saved to a scratch path — use the session's scratchpad directory if available, else /tmp/ccc-orchestrate/.md.

---
goal: 
created: 
orchestrator: fable-5 | opus-4.8
executor: codex-gpt-5.6-sol | codex-gpt-5.6-terra | codex-gpt-5.6-luna | sonnet-subagent
---

# Goal: 

## Context

## Steps
1. 
2. 
...

## Files in scope
- path/to/file.ts — 

## Files explicitly out of scope
- path/to/other.ts — 

## Done-when (acceptance criteria)
- [ ] 
- [ ] 
- [ ] `npx tsc --noEmit` passes (if TS project)
- [ ] Tests green: ``

## Explicitly NOT required
- 

Each acceptance-criteria line must be checkable by reading a diff or running a command — not a vibe. "Code is cleaner" is not a criterion. "grep -c 'TODO' src/foo.ts returns 0" is.


Executor picker

Check codex availability before offering it:

which codex

Call AskUserQuestion:

question: "Who should execute the goal file?"
header: "Orchestrate Executor"
multiSelect: false
options:
  - label: "🤖 GPT-5.6 Sol via codex (recommended if installed)"
    description: "Shells out to the codex CLI with model=gpt-5.6-sol — flagship deep-reasoning tier. Different runtime, different failure modes than Claude — good adversarial diversity."
    preview: "Only offered when `which codex` succeeds. Terra/Luna available for lighter steps — see model guidance above."
  - label: "🎯 Sonnet subagent"
    description: "Stays in-Claude. Use when codex isn't installed, or you want a single-vendor audit trail."
    preview: "Dispatched via Workflow/Agent, model=sonnet, goal file as its full prompt."

If which codex fails, don't show the codex option — just note in your response: "codex CLI not found (which codex failed) — executing via Sonnet subagent instead."


Isolation (MANDATORY before any executor dispatch)

The executor never touches the main tree directly (Fable Pillar 5). Before dispatching codex or the Sonnet subagent:

git worktree add .claude/worktrees/ -b goal/
  • Run the executor with cwd = that worktree (codex: spawn with the worktree as working directory; Sonnet: state the worktree path as the only edit root in the prompt).
  • The goal file's first step for the executor is always: git rev-parse --show-toplevel must equal the worktree path — abort if not. Relative paths only from there.
  • Never hand the executor the main repo's absolute path as an edit target.

Execute phase

Codex path — build args via the real adapter interface in commander/adapters/codex.js (adapter.buildArgs(prompt, opts)), do not invent flags it doesn't expose:

const codex = require('./commander/adapters/codex.js');
const args = codex.buildArgs(goalFileContents, { model: 'gpt-5.6-sol', approval: 'full-auto' });

buildArgs currently supports model, approval, allowedTools, quiet — there is no documented reasoning-effort flag in this adapter today. If xhigh reasoning on codex is needed, that's a TODO to add to commander/adapters/codex.js, not a flag to guess at. Pass the goal file's full contents as prompt.

Sonnet path — dispatch through the Workflow tool's agent equivalent, model: sonnet, with the goal file's contents as the entire prompt. No additional framing — the goal file already has context, steps, and scope.


Verify phase (mandatory)

Back in the orchestrator session, read the executor's diff/output and check it line-by-line against the goal file's done-when checklist:

  • ✅ All boxes checkable and true → report done.
  • ❌ Any box unmet → re-dispatch the executor with the specific gap only ("criterion 3 unmet: tests still fail on X — fix that, do not touch anything else"). Do not re-plan the whole goal file and do not let the executor decide what "close enough" means.
  • 🧹 Isolation check (always): git -C status --porcelain | grep -v '^??' must be EMPTY — the executor's work lives only in its worktree branch. Any tracked change in the main tree is a leak; stop and reconcile before reporting done.

If the goal needs repeated re-dispatch until criteria hold (a convergence loop, not a one-shot), run the verify cycle as a /goal loop from the ccc-loop taxonomy — it gives you the gate + iteration cap for free instead of hand-rolled retries.

Report back: > 🧭 Orchestrate: goal file at `, executed by `. > Done-when: N/M criteria met. >


See also

  • /ccc-plan-exec — same idea, Claude-only (cheap Claude plans, capable Claude executes). Use that when you want to stay in one vendor.
  • /ccc-handoff — use if the orchestration spans enough turns that context grows large; write a handoff doc before compacting rather than losing the goal file's state.

Anti-patterns — DO NOT

  • ❌ Let the executor re-plan or renegotiate the goal file — it executes the steps as written; scope changes go back through the orchestrator
  • ❌ Skip the acceptance-criteria verification step — "the executor said it's done" is not verification; read the diff against the checklist yourself
  • ❌ Invent a codex CLI flag (like a reasoning-effort flag) that isn't in commander/adapters/codex.js — check the adapter first, file a TODO if it's missing
  • ❌ Use this for a single trivial edit — the goal-file overhead only pays off when there's real ambiguity to compress; for a one-liner, just do it inline
  • ❌ Re-plan from scratch on a failed verification — re-dispatch with the specific unmet criterion, not a fresh goal file
  • ❌ Offer the codex executor option without confirming which codex succeeds first

Bottom line: orchestrator (Fable/Opus) compresses fuzzy intent into a goal file with teeth; executor (GPT-5.6 Sol via codex, or Sonnet) implements it in a different runtime; orchestrator verifies against the checklist before calling it done. Pay for Fable/Opus on the thinking, not the typing — and don't let the typing runtime decide what "done" means.


> ⚙️ Fable contract: plan before build · verifier ≠ worker · prove before alarm · loops need gates · leave durable state — rules/fable-method.md

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.