plugins/agent-loops/skills/orchestrator/SKILL.md
(Industry standard: Routing Agent / Orchestrator Pattern) Primary Use Case: Analyzing an ambiguous trigger and routing it to one of the specific specialized implementations. Routes triggers to the appropriate agent-loop pattern. Use when: assessing a task, research need, or work assignment and deciding whether to run a simple learning loop, red team review, dual-loop delegation, or parallel swarm. Manages shared closure (seal, persist, retrospective, self-improvement).
npx skillsauth add richfrem/agent-plugins-skills orchestratorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill requires Python 3.8+ and standard library only. No external packages needed.
To install this skill's dependencies:
pip-compile ./requirements.in
pip install -r ./requirements.txt
See ./requirements.txt for the dependency lockfile (currently empty — standard library only).
The Orchestrator assesses the incoming trigger, selects the right loop pattern, and manages the shared closure sequence (seal, persist, retrospective, self-improvement).
learning-loop | red-team-review | dual-loop | agent-swarm | triple-loop-learningcli-agent-executor.md — Persona configs for specialized CLI execution.Use this to select the correct loop pattern:
1. Does the trigger mention unguided friction evaluation, tests, and self-optimization?
└─ YES → Pattern 5: triple-loop-learning
└─ NO → continue
2. Is this work I can do entirely myself (research, document, iterate)?
└─ YES → Pattern 1: learning-loop
└─ NO → continue
3. Does it need adversarial review before proceeding?
└─ YES → Pattern 2: red-team-review
└─ NO → continue
4. Can the work be split into parallel independent tasks?
└─ YES → Pattern 4: agent-swarm
└─ NO → Pattern 3: dual-loop (sequential inner/outer delegation)
| Signal | Pattern | Skill |
|--------|---------|-------|
| Research question, knowledge gap, documentation task | Simple Learning | learning-loop |
| Architecture decision, security review, high-risk change | Red Team Review | red-team-review |
| Feature implementation, bug fix, single work package | Dual-Loop | dual-loop |
| Large feature, bulk migration, multi-concern parallel work | Agent Swarm | agent-swarm |
| Systemic rules generation, autonomous meta-optimizations | Triple-Loop | triple-loop-learning |
agy, claude, copilot, codex, llama).Gemini 3.5 Flash (Low) or gemini-3.5-flash for agy).
Record their choice and pass it to the sub-agent runner (run_agent.py) using the --cli and --model flags, ensuring you append < /dev/null to prevent SIGTTIN process halts.agent-orchestrator, git, and optionally any upstream planning tool..git.You orchestrate workflows by natively executing the agent_orchestrator.py script provided by this skill (located in scripts/).
⚠️ Note: A
scanCLI subcommand is not currently implemented inagent_orchestrator.py. Perform spec readiness assessment manually or via native file reads before delegating.
When a task is ready for implementation, generate a Task Packet using the packet command.
python ./scripts/agent_orchestrator.py packet --wp <WP-ID> --spec-dir <PATH>
This generates a markdown file in the handoffs/ directory. You must then instruct the user/system to launch the Inner Loop with this file.
You must check all outputs of the agents you orchestrate. No blind trust is allowed. Check the Inner Loop's work against the packet using the verify command:
python ./scripts/agent_orchestrator.py verify --packet handoffs/task_packet_NNN.md --worktree <PATH>
Follow these strict verification rules:
If the work fails criteria, use the Severity-Stratified Output schema to generate a structured correction packet:
Generate the correction packet to send back to the Inner Loop:
python ./scripts/agent_orchestrator.py correct --packet handoffs/task_packet_NNN.md --feedback "Specific failure reason"
For bulk operations or partitioned tasks, use the swarm_run.py script from the agent-swarm skill.
python ./swarm_run.py --job <JOB_FILE> [--resume]
This is the designated route for all Pattern 4 triggers.
As the Orchestrator, you can route tasks to ANY capable CLI agent based on complexity:
flowchart LR
Router{Task Router} -->|Complex| High["High-Reasoning CLI (Opus/Ultra)"]
Router -->|Routine| Fast["Fast CLI (Haiku/Flash)"]
Router -->|Audit| Spec["Specialist CLI (Security/QA)"]
⚠️ Note: A
bundleCLI subcommand is not currently implemented inagent_orchestrator.py. Use thecontext-bundlerskill fromdev-utilsto compile files for external review instead.
Generate a retrospective template to close the cognitive loop with structured learning, before signaling the environment to seal.
python ./scripts/agent_orchestrator.py retro
This creates a template in the retros/ directory.
Meta-Improvement: After reviewing what went right/wrong, the orchestrator should also assess whether any loop infrastructure needs updating:
This makes each loop iteration smoother than the last.
Once the loop is complete and learning has been extracted, the Orchestrator MUST pass control to the environment's global sovereign (e.g., the primary agent plugin).
The Orchestrator explicitly DOES NOT:
context-bundler:context-bundling or update recursive language model (RLMs) summaries in caches.persist_soul or sync to HuggingFace.git commit, git push).These are environment-specific actions owned entirely by the Primary Agent.
Session Closure
Execution complete. Run your environment's standard session closure sequence. If you are
using agent-agentic-os, trigger os-improvement-loop closure. If you are in a standalone
project, save any outputs to your preferred persistence location and close the session.
claude-cli-agent has a hard stop on passing massive context bundles (~5MB+) either natively via stdin or --file. If your payload exceeds context windows, you must write a semantic chunking script instead of blindly dumping a context-bundler package into a prompt!--dangerously-skip-permissions (for agy / claude) or if the user is not authenticated natively using claude login.run_agent.py or system subprocess runners), you must redirect standard input (e.g., stdin=subprocess.DEVNULL or < /dev/null) to prevent the operating system from suspending the process with a SIGTTIN signal, which hangs execution indefinitely.The orchestrator must verify these gates at each phase:
| Phase | Gate | |:------|:-----| | Planning | Spec or plan is coherent and broken into tasks. | | Execution | Packets are generated and handed off. | | Review | Output passes verification criteria. | | Retrospective | Post-loop learnings extracted and infrastructure improved. | | Primary Agent Handoff | Signal the global ecosystem to run Seal, Persist, and Git closure. |
No phase may be skipped. If a gate fails, the orchestrator must resolve it before proceeding.
| Control | Description |
|---------|-------------|
| Iteration Counter | Increment each cycle. Log "Loop iteration N of M" at orientation. |
| Max Iterations | Safety cap. When reached, force-seal as incomplete with blocking notes. |
| Completion Promise | Deterministic exit: only declare done when acceptance criteria are genuinely met. |
| Mechanism | Purpose |
|-----------|---------|
| Stop Hook (scripts/closure_guard.py) | Blocks premature session exit until Seal → Persist → Retrospective are complete. |
| Red Team Subagent | Red team review can run as a forked subagent to keep the main session context clean. |
One WP at a Time: Do not delegate multiple WPs simultaneously unless you are running a swarm.
Explicit Context: The Inner Loop only knows what is in the packet. If it needs a file, list it.
No Git in Inner Loop: This is a hard constraint to prevent state corruption.
Correction is Learning: Do not just "fix it yourself" if the Inner Loop fails. Generate a correction packet. This trains the system logic.
Never Abandon Closure: The orchestrator must shepherd Review → Accept → Retro → Merge. Stopping after delegation is a protocol violation.
Merge from Main Repo: Always merge from the project root, never from inside a worktree.
This skill implements the "Dual-Loop Agent Architecture" inspired by:
testing
Skill for creating and managing isolated git worktrees (`.worktrees/issue-NNN`) for issue execution branches. USE ONLY when setting up or cleaning up isolated git worktrees for specific issue execution. DO NOT USE for managing local task files (use `task-agent`) or escalating tasks to issues (use `github-issue-backlog-agent`).
data-ai
Skill for orchestrating the end-to-end GitHub issue lifecycle flow: Issue -> Worktree -> Implementation -> PR Creation -> Resolution Closure. USE ONLY when running or dry-running full lifecycle orchestration for resolving an issue with a PR. DO NOT USE for isolated worktree management only (use `issue-worktree-agent`) or logging issues (use `github-issue-agent`).
tools
Automatically ranks GitHub issues (P0-P3) based on friction tier, frequency, and blockages, synchronizing priority labels and GitHub Projects v2 custom fields.
testing
Bridge skill for escalating ephemeral local task scratchpad items (`tasks/*.md`) into durable, taxonomy-validated, evidence-rich GitHub Issues. USE ONLY when promoting a single-session local task into durable repository backlog. DO NOT USE for managing local kanban boards (use `task-agent` instead) or directly querying/commenting on issues (use `github-issue-agent` instead).