Skip to content
Back to skills

Orchestrate Round

ASecurity

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.

  • 286 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added August 31, 2026
ai-agentsrustbashgitapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned August 31, 2026

npx -y skills add Arch1eSUN/Arcgentic --skill orchestrate-round --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Orchestrate Round?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Orchestrate Round
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/arch1esun-orchestrate-round/badge)](https://www.skillsdirectory.com/skills/arch1esun-orchestrate-round)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: orchestrate-round
description: 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.
---

# 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
LOOP
```

## Sub-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:

```bash
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:

- `Orchestrator`
- `Planner`
- `Developer`
- `Auditor`

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:

```bash
arcgentic v2-session-plan --state .agentic-rounds/state.yaml --host codex
```

V2 routing rules:

- `needs_fix` / `fix_in_progress` → `Developer`
- `awaiting_audit` / `audit_in_progress` → `Auditor`
- `passed` → `Planner` for phase decision, not a closeout session
- `close-round` remains 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:

1. `git status` — what files changed?
2. `git diff` — what's the actual content?
3. Read the artifact (verdict / handoff / etc.) directly
4. Run any mechanical fact-table commands the artifact claims passed
5. Run state.yaml schema validation
6. 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 machine
- `references/sub-agent-dispatch.md` — full dispatch patterns + prompt templates
- `references/single-vs-multi-session.md` — when to choose which mode

## See also

- `arcgentic:audit-round` — auditor role skill
- `arcgentic:verify-gates` — gate runner skill
- `arcgentic:pre-round-scan` — mandatory prelude

Files in this skill

  • SKILL.md6.1 KB
  • references/single-vs-multi-session.md3.3 KB
  • references/state-machine-overview.md5.3 KB
  • references/sub-agent-dispatch.md3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.