feat(ultraplan-local)!: v2.4.0 — orchestrator agents as inline reference

Redefine research-orchestrator, planning-orchestrator, and
architect-orchestrator from "background executor" to "inline
reference documentation". The agent files remain as the canonical
workflow descriptions, but the /ultra* commands now execute the
phases directly in the main command context instead of spawning
these agents as sub-agents.

The /ultra* command markdowns are now the de-facto orchestrators.
Splitting work into a separate sub-agent was incompatible with the
harness's treatment of the Agent tool (not exposed to sub-agents).

BREAKING CHANGE: These agents are no longer invoked. Any external
integration that spawned them directly should now invoke the
corresponding /ultra* command instead.
This commit is contained in:
Kjell Tore Guttormsen 2026-04-19 21:24:45 +02:00
commit c8a6506384
3 changed files with 65 additions and 100 deletions

View file

@ -1,29 +1,14 @@
--- ---
name: architect-orchestrator name: architect-orchestrator
description: | description: |
Use this agent to run the full /ultra-cc-architect-local pipeline as a Inline reference (v2.4.0) — documents the architect workflow that
background task. Receives a brief + research paths and produces an /ultra-cc-architect-local executes in main context. This file is NOT
architecture note that matches the task against available CC features, spawned as a sub-agent anymore. The Claude Code harness does not expose
with explicit coverage gaps. the Agent tool to sub-agents, so an orchestrator launched with
run_in_background: true cannot spawn the documented swarm (feature-matcher,
<example> gap-identifier, architecture-critic) and would degrade to single-context
Context: ultra-cc-architect default mode transitions to background reasoning. The /ultra-cc-architect-local command now orchestrates the
user: "/ultra-cc-architect-local --project .claude/projects/2026-04-18-jwt-auth" phases below directly in the main session.
assistant: "Inputs validated. Launching architect-orchestrator in background."
<commentary>
Phase 2 of ultra-cc-architect spawns this agent with the brief + research paths
to run Phases 37 autonomously.
</commentary>
</example>
<example>
Context: User wants to re-run architecture with updated research
user: "Re-run architecture after the new research brief was added"
assistant: "Launching architect-orchestrator with the updated project dir."
<commentary>
Re-run request triggers the orchestrator fresh against the current project state.
</commentary>
</example>
model: opus model: opus
color: cyan color: cyan
tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash"] tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash"]
@ -35,13 +20,21 @@ tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash"]
Orchestrator Phase 3 = Command Phase 5 (Synthesis — write overview.md) Orchestrator Phase 3 = Command Phase 5 (Synthesis — write overview.md)
Orchestrator Phase 4 = Command Phase 6 (Adversarial review) Orchestrator Phase 4 = Command Phase 6 (Adversarial review)
Orchestrator Phase 5 = Command Phase 7 (Present + gaps.md + stats) Orchestrator Phase 5 = Command Phase 7 (Present + gaps.md + stats)
This agent handles Phases 37 when mode = default (background). --> As of v2.4.0, /ultra-cc-architect-local runs these phases inline in
main context instead of spawning this agent. Keep this file as the
canonical reference for what those phases do. -->
You are the orchestrator for `/ultra-cc-architect-local`. You receive This document is the canonical workflow description for the ultra-cc-architect
a task brief, zero or more research briefs, and the skill catalog pipeline as of v2.4.0. The `/ultra-cc-architect-local` command reads it as
path. You produce an architecture note that matches the task against reference and executes the phases below **inline in the main command
available Claude Code features, with explicit coverage gaps. You run context**. It is no longer spawned as a background sub-agent — that mode
as a background agent while the user continues other work. silently lost the Agent tool and degraded the swarm to single-context
reasoning.
The role of the "orchestrator" now belongs to the command markdown itself:
the main Opus session launches feature-matcher / gap-identifier /
architecture-critic via the Agent tool, collects their results, synthesizes
the architecture note, and writes overview.md + gaps.md.
## Input ## Input

View file

@ -1,36 +1,14 @@
--- ---
name: planning-orchestrator name: planning-orchestrator
description: | description: |
Use this agent to run the full ultraplan planning pipeline (exploration, research, Inline reference (v2.4.0) — documents the planning workflow that
synthesis, planning, adversarial review) as a background task. Receives a task /ultraplan-local executes in main context. This file is NOT spawned as a
brief and produces a complete implementation plan. sub-agent anymore. The Claude Code harness does not expose the Agent tool
to sub-agents, so an orchestrator launched with run_in_background: true
<example> cannot spawn the exploration swarm (architecture-mapper, task-finder,
Context: Ultraplan default mode transitions to background after brief is available plan-critic, etc.) and would degrade to single-context reasoning. The
user: "/ultraplan-local --project .claude/projects/2026-04-18-websocket-notifications" /ultraplan-local command now orchestrates the phases below directly in the
assistant: "Brief loaded. Launching planning-orchestrator in background." main session.
<commentary>
Phase 3 of ultraplan spawns this agent with the brief file to run Phases 4-10 in background.
</commentary>
</example>
<example>
Context: User plans from a brief produced by /ultrabrief-local
user: "/ultraplan-local --brief .claude/projects/2026-04-18-jwt-auth/brief.md"
assistant: "Brief loaded. Launching planning-orchestrator in background."
<commentary>
Brief-driven mode spawns this agent immediately with the provided brief.
</commentary>
</example>
<example>
Context: User wants to re-run planning with an updated brief
user: "Re-plan with the updated brief"
assistant: "I'll launch the planning-orchestrator with the updated brief file."
<commentary>
Re-planning request triggers the orchestrator with the revised brief.
</commentary>
</example>
model: opus model: opus
color: cyan color: cyan
tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash", "TaskCreate", "TaskUpdate"] tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash", "TaskCreate", "TaskUpdate"]
@ -45,11 +23,19 @@ tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash", "TaskCreate",
Orchestrator Phase 5 = Command Phase 8 (Deep planning) Orchestrator Phase 5 = Command Phase 8 (Deep planning)
Orchestrator Phase 6 = Command Phase 9 (Adversarial review) Orchestrator Phase 6 = Command Phase 9 (Adversarial review)
Orchestrator Phase 7 = Command Phase 10 (Completion) Orchestrator Phase 7 = Command Phase 10 (Completion)
This agent handles Phases 410 when mode = default (background). --> As of v2.4.0, /ultraplan-local runs these phases inline in main context
instead of spawning this agent. Keep this file as the canonical
reference for what those phases do. -->
You are the ultraplan planning orchestrator. You receive a task brief and produce This document is the canonical workflow description for the ultraplan
a complete, adversarially-reviewed implementation plan. You run as a background pipeline as of v2.4.0. The `/ultraplan-local` command reads it as reference
agent while the user continues other work. and executes the phases below **inline in the main command context**. It is
no longer spawned as a background sub-agent — that mode silently lost the
Agent tool and degraded the exploration swarm to single-context reasoning.
The role of the "orchestrator" now belongs to the command markdown itself:
the main Opus session launches exploration and review agents via the Agent
tool, collects their results, synthesizes the plan, and writes it to disk.
## Input ## Input

View file

@ -1,36 +1,13 @@
--- ---
name: research-orchestrator name: research-orchestrator
description: | description: |
Use this agent to run the full ultraresearch pipeline (parallel local + external Inline reference (v2.4.0) — documents the research workflow that
research, triangulation, synthesis) as a background task. Receives a research /ultraresearch-local executes in main context. This file is NOT spawned as
question and produces a structured research brief. a sub-agent anymore. The Claude Code harness does not expose the Agent tool
to sub-agents, so an orchestrator launched with run_in_background: true
<example> cannot spawn the research swarm and would degrade to single-context
Context: Ultraresearch default mode transitions to background after interview reasoning. The /ultraresearch-local command now orchestrates the phases
user: "/ultraresearch-local Should we use Redis or Memcached for session caching?" below directly in the main session.
assistant: "Interview complete. Launching research-orchestrator in background."
<commentary>
Phase 3 of ultraresearch spawns this agent with the research question to run Phases 4-8 in background.
</commentary>
</example>
<example>
Context: Ultraresearch foreground mode runs the full pipeline inline
user: "/ultraresearch-local --fg What authentication approach fits our architecture?"
assistant: "Running research pipeline in foreground."
<commentary>
Foreground mode runs this agent's logic inline rather than in background.
</commentary>
</example>
<example>
Context: Ultraresearch with local-only mode
user: "/ultraresearch-local --local How is error handling structured in this codebase?"
assistant: "Launching research-orchestrator with local-only agents."
<commentary>
Local mode skips external agents and gemini bridge, only launches codebase analysis agents.
</commentary>
</example>
model: opus model: opus
color: cyan color: cyan
tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash"] tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash"]
@ -43,11 +20,20 @@ tools: ["Agent", "Read", "Glob", "Grep", "Write", "Edit", "Bash"]
Orchestrator Phase 4 = Command Phase 7 (Triangulation) Orchestrator Phase 4 = Command Phase 7 (Triangulation)
Orchestrator Phase 5 = Command Phase 8 (Synthesis + write brief) Orchestrator Phase 5 = Command Phase 8 (Synthesis + write brief)
Orchestrator Phase 6 = Command Phase 9 (Completion) Orchestrator Phase 6 = Command Phase 9 (Completion)
This agent handles Phases 49 when mode = default or foreground. --> As of v2.4.0, /ultraresearch-local runs these phases inline in main
context instead of spawning this agent. Keep this file as the canonical
reference for what those phases do. -->
You are the ultraresearch research orchestrator. You receive a research question and This document is the canonical workflow description for the ultraresearch
produce a structured research brief that combines local codebase analysis with external pipeline as of v2.4.0. The `/ultraresearch-local` command reads it as
knowledge. You run as a background agent while the user continues other work. reference and executes the phases below **inline in the main command
context**. It is no longer spawned as a background sub-agent — that mode
silently lost the Agent tool and degraded the swarm to single-context
reasoning.
The role of the "orchestrator" now belongs to the command markdown itself:
the main Opus session launches local + external agents via the Agent tool,
collects their results, triangulates, and writes the research brief.
## Design principle: Context Engineering ## Design principle: Context Engineering