orchestrate-round
Skill286 starsChanged 5 months agoMITView on GitHub
Main-session orchestrator for arcgentic rounds. Use when in single-session mode, when a project-level session mode must drive dispatch order, or when manually advancing the state machine. Dispatches role sub-agents, verifies structured outputs, and owns PASS-only close-round execution.
In this repository18 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- agency-rosterSkill
- arcgenticSkill
- audit-roundSkill
- claude-code-session-brokerSkill
- close-roundSkill
- codex-thread-orchestrationSkill
- codify-lessonSkill
- cross-session-handoffSkill
- execute-roundSkill
- plan-roundSkill
- pre-round-scanSkill
- session-modeSkill
- source-intakeSkill
- spec-governanceSkill
- track-refsSkill
- using-arcgenticSkill
- verify-gatesSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 111
NEVER trust the sub-agent's success report alone.
- Distinctive: line 115
Read the artifact (verdict / handoff / etc.) directly
- Distinctive: line 116
Run any mechanical fact-table commands the artifact claims passed
- Very specific: line 117
Run state.yaml schema validation
- Distinctive: line 118
Only THEN advance the state machine
- Very specific: line 131
If transition.sh exits non-zero, READ THE ERROR.
- Distinctive: line 137
When dispatching sub-agents, NEVER include in the prompt:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Orchestrate round
When to use
- Single-session mode (founder + Claude session = whole team)
- Multi-session mode when you need the dispatch order and role handoff prompts
- Any time you want a structured walk-through of round states without writing a custom orchestration
- Whenever you need to remember "what's the next state, what's the next gate, who's the next role"
When NOT to use
- You're explicitly playing one role (e.g. just auditing) — load that role's skill directly
Core loop
LOAD pre-round-scan skill → run scan
LOAD state.yaml → identify current_state
IF project.session_mode is present:
→ use it; do not ask the user for mode again
ELSE:
→ run `arcgentic session-mode recommend`
→ store the project-level decision before dev starts
RUN `arcgentic orchestrator-dispatch --round <round-id> --handoff <path> --mode <mode>`
DETERMINE next action:
IF current_state in {intake, planning}:
→ role = planner; dispatch planner-agent OR print planner role prompt
IF current_state in {awaiting_dev_start, dev_in_progress, needs_fix, fix_in_progress}:
→ role = developer; dispatch developer-agent OR print developer role prompt
IF current_state == awaiting_audit / audit_in_progress:
→ role = auditor; LOAD audit-round skill OR dispatch auditor-agent
IF current_state == passed:
→ role = planner for next-phase decision OR run orchestrator-owned close-round
IF current_state == closed:
→ ROUND COMPLETE; refresh state.yaml prior-round-anchor; start next round
EXECUTE action → wait for structured artifact
VERIFY artifact against state.yaml schema
CALL transition.sh with appropriate gate
LOOPSub-agent dispatch (Claude Code Task tool)
Pattern for dispatching auditor:
Use the Task tool with:
description: "Audit round <round-id>"
subagent_type: "general-purpose" # or platform-specific
prompt: |
You are the auditor for arcgentic round <round-id>. Your job:
1. Read $PLUGIN_ROOT/skills/audit-round/SKILL.md and its references/
2. Read .agentic-rounds/state.yaml
3. Read the handoff doc at <handoff-path>
4. Read every commit in <dev_commits>
5. Produce a verdict file at <verdict-path> following verdict-template.md
6. Mechanically verify every fact in your fact table
7. Apply lesson-codification-protocol.md
8. Update state.yaml's current_round.audit_verdict block
9. Return: "DONE — verdict at <verdict-path>, outcome <PASS|NEEDS_FIX>"Planner, developer, auditor, lesson-codifier, and ref-tracker agents exist in the plugin. Dispatch availability still depends on the host environment's Task tool; when unavailable, print the role prompt and stop for the matching session.
For V1 hardening, use the CLI dispatch plan as the source of role order:
arcgentic orchestrator-dispatch \
--round <round-id> \
--handoff <handoff-path> \
--mode <single-session|multi-session>In multi-session mode, the order is developer → auditor → closeout. Do not give the closeout prompt to the developer or auditor session.
V2 fixed-role Codex session plan
For V2 Codex-native orchestration, do not create per-round session names such
as R1 Developer or R2 Auditor. The host-visible thread titles stay fixed:
OrchestratorPlannerDeveloperAuditor
Round identity lives in .agentic-rounds/state.yaml and in the prompt payload,
not in the thread title. The orchestrator emits the host plan with:
arcgentic v2-session-plan --state .agentic-rounds/state.yaml --host codexV2 routing rules:
needs_fix/fix_in_progress→Developerawaiting_audit/audit_in_progress→Auditorpassed→Plannerfor phase decision, not a closeout sessionclose-roundremains an orchestrator-owned mechanical command after PASS is anchored; it is not a fifth role session
Verifying sub-agent output
NEVER trust the sub-agent's success report alone. After it returns:
git status— what files changed?git diff— what's the actual content?- Read the artifact (verdict / handoff / etc.) directly
- Run any mechanical fact-table commands the artifact claims passed
- Run state.yaml schema validation
- Only THEN advance the state machine
This is the "trust but verify" pattern from superpowers:verification-before-completion, applied to sub-agent outputs.
State transitions (when to call transition.sh)
| After event | Call |
| Handoff doc committed | transition.sh --target awaiting_dev_start --by orchestrator --artifact <handoff-path>@<sha> |
| Dev commits chain committed | transition.sh --target awaiting_audit --by orchestrator |
| Auditor verdict committed | transition.sh --target passed --by orchestrator (or --target needs_fix) |
| External audit PASS is anchored | arcgentic close-round --state-file .agentic-rounds/state.yaml --verdict <verdict-path> --audit-commit <sha> |
If transition.sh exits non-zero, READ THE ERROR. The state machine refusal is informational. Common reasons:
- Gate failed — fix the gated artifact, re-run transition
- State.yaml inconsistent — schema validation will reveal which field is wrong
Cost-discipline (in orchestrator role)
When dispatching sub-agents, NEVER include in the prompt:
- Paid-API keys / endpoints
- Instructions to call paid services
- Background-process / daemon spawning
Sub-agents inherit the founder's Claude Code subscription. That's enough.
References (load on demand)
references/state-machine-overview.md— visual + tabular state machinereferences/sub-agent-dispatch.md— full dispatch patterns + prompt templatesreferences/single-vs-multi-session.md— when to choose which mode
See also
arcgentic:audit-round— auditor role skillarcgentic:verify-gates— gate runner skillarcgentic:pre-round-scan— mandatory prelude
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

