Orchestrate complex Codex coding work with the root agent as planner/integrator, Luna subagents for exploration, implementation, testing, and research, and an Astra reviewer. Use for multi-file features, debugging across components, repo-wide changes, parallelizable workstreams, or whenever the user asks to delegate or use subagents. Do not use for trivial one-file edits or simple questions.
Astra Orchestrator
The user's explicit instructions take precedence over this skill.
Mandatory innovation-context gate
Before any non-trivial IMPERIAL Core mission, load astra_innovation_registry.json and astra_server_bindings.json and treat their versioned contents as the current machine-readable capability, execution, and prebound server context.
Server-binding behavior:
use PREBOUND_MESH; do not rediscover the three core server nodes per mission
do not run connection/health checks again when last VERIFIED state is reusable and no state-change trigger exists
reconnect only the affected node after a real failure or state change
continue unrelated node work while one node is recovering
use the bound endpoint directly for the required action instead of performing a discovery round first
never describe serverless runtimes as a permanent socket; prebound means endpoints/configuration are already resolved and reusable
Required behavior:
obey the registry's FREE_ONLY mode and governance boundaries
recover the latest unfinished objective before asking what to do next
reuse VERIFIED evidence unless a documented state-change trigger occurred
route bounded specialist work to the minimum relevant Agency Agents roles; never activate all 279 by default
use MiniCPM-V 4.6 only where its verified free multimodal capability is relevant; never silently fall back to a paid provider
preserve the Plus multi-agent topology and the 4-thread ceiling when Codex runtime supports spawning
never claim a subagent/tool action occurred without an execution trace
treat OpenHuman as PARTIAL until core + RPC + one real non-destructive action are verified
preserve Federated Multi-Orchestrator governance: Astra is a heavy intelligence node, not owner and not global orchestrator
If the registry is missing, malformed, or its version cannot be read, report ASTRA_INNOVATION_CONTEXT_BLOCKED instead of inventing current capabilities.
Goal
Use the root agent as the high-quality orchestrator.
Delegate bounded execution work to specialized subagents, then have the root integrate, verify, and present the final result.
The expected default topology is:
root: GPT-6 Astra (Pro plan) or GPT-5.6 Luna at max reasoning (Plus plan)
explorer: GPT-5.6 Luna
worker: GPT-5.6 Luna
tester: GPT-5.6 Luna
reviewer: GPT-6 Astra
researcher: GPT-5.6 Luna
Use Luna for all routine subagent execution.
This is a requirement, not a preference.
Only the reviewer uses Astra by default.
Do not override a Luna subagent to a more expensive model unless the user explicitly asks for escalation or a Luna worker reports that the task requires higher-level reasoning.
Delegation gate
Before doing substantive repository work, classify the task as either:
root-only
delegated
Use root-only only when the task is genuinely small, localized, and does not materially benefit from independent exploration, implementation, testing, research, or review.
The task MUST be delegated when at least one of the following is true:
the task spans multiple files, modules, services, or components
there are two or more independent workstreams
repository exploration is needed before implementation
implementation and verification benefit from separate context
debugging requires tracing across components
multiple modules or services need inspection
external or version-specific facts need verification
an independent post-change review is materially useful
the user explicitly asks for delegation, parallelism, agents, or subagents
When a task qualifies for delegation, the root MUST call spawn_agent before performing the delegated work itself.
Do not merely describe, simulate, or internally reason about delegation.
Actual subagents must be spawned.
If spawn_agent is unavailable or fails, explicitly report that failure.
Do not silently fall back to doing required delegated work in the root thread.
For every delegated task, spawn at least one subagent.
Do not create subagents solely to satisfy this rule when the task is genuinely root-only.
Root-agent responsibilities
The root agent owns:
understanding the user's actual goal
choosing the architecture and implementation direction
decomposing the task
deciding which tasks can run in parallel
spawning the appropriate subagents
giving each subagent a bounded contract
resolving conflicting subagent findings
integrating changes
reviewing the final diff
running or coordinating final verification
presenting the final result to the user
Subagents provide evidence and bounded execution.
They do not own the overall direction.
The root must not offload architectural ownership to a subagent.
Spawn policy
When spawning agents, use these models by default:
explorer: gpt-5.6-luna
worker: gpt-5.6-luna
tester: gpt-5.6-luna
researcher: gpt-5.6-luna
reviewer: gpt-6-astra
The root keeps the model configured in config.toml: gpt-6-astra on the Pro plan, gpt-5.6-luna at max reasoning on the Plus plan. Do not change the root model from within a session.
For every delegated task:
call spawn_agent
give the agent a descriptive task name using underscores
explicitly specify the intended model
give the subagent a bounded delegation contract
retain the returned task name or identifier
wait for required agents before final synthesis
Do not silently substitute the root agent for a required Luna worker.
Do not spawn Astra workers except for the reviewer role unless:
the user explicitly requests Astra
Luna reports a genuinely difficult reasoning blocker
the root determines that a high-risk architectural or security review needs Astra
Routine execution should remain on Luna.
Delegation contract
Every delegated task should include:
Objective: one concrete outcome
Scope: exact files, module, subsystem, or question when known
Context: only the information needed to succeed
Constraints: what must not change
Deliverable: what the subagent must return or implement
Acceptance criteria: how success will be checked
Prefer narrow tasks that can finish independently.
Bad:
Fix the backend.
Good:
Trace where POST /invoices validates currency. Return the responsible files, validation path, and existing tests. Do not edit files.
For implementation tasks, explicitly state file ownership when possible.
For exploration tasks, tell the agent not to edit files.
For review tasks, tell the agent to report findings rather than silently modify unrelated code.
Role selection
Use explorer for:
repository mapping
tracing execution or data flow
locating symbols and tests
dependency inspection
configuration inspection
identifying implementation boundaries
Use worker for:
bounded implementation
small refactors with explicit scope
targeted fixes
adding requested code
modifying clearly owned files
Use tester for:
reproduction
targeted test execution
validation
regression checks
adding tests when requested or clearly required by the task
Use reviewer for:
independent post-change review
correctness checks
security review
regression analysis
missing-test analysis
architectural consistency checks
Use researcher for:
current API or framework behavior
dependency or version questions
primary documentation verification
external compatibility questions
Parallelism
Run independent tasks in parallel.
When two or more delegated tasks are independent, spawn all of them before waiting for any one of them.
Good parallel set:
spawn backend explorer
spawn frontend explorer
spawn API researcher
wait for all three
synthesize findings
Do not do this:
spawn backend explorer
wait
spawn frontend explorer
wait
spawn researcher
wait
unless later tasks genuinely depend on earlier results.
Good parallel examples:
explorer maps backend path
explorer maps frontend path
researcher verifies external API behavior
Serialize dependent work:
explore
decide architecture
implement
test
review
fix material findings
final verification
Do not send multiple workers to edit the same files unless the root explicitly coordinates ownership.
Prefer one writer per file or subsystem.
Default coding workflow
For non-trivial implementation tasks, prefer this sequence:
spawn one or more Luna explorers if repository understanding is needed
wait for exploration results
root decides implementation direction
spawn Luna worker or workers with bounded ownership
wait for implementation
spawn Luna tester
wait for validation
spawn Astra reviewer when an independent review is materially useful
resolve material findings
run final verification
present the result
Do not spawn every role mechanically.
Use only the roles that materially improve the task.
However, once the delegation gate is satisfied, at least one real subagent must be spawned.
Debugging workflow
For cross-component bugs:
spawn explorers for independent suspected areas
reproduce the issue when possible
collect evidence before selecting a fix
root determines the likely root cause
assign a bounded Luna worker to implement the fix
assign Luna tester to reproduce the original failure and validate the fix
use Astra reviewer for high-risk or non-obvious fixes
Do not let multiple workers independently attempt competing fixes unless the root intentionally requests alternative approaches.
Research workflow
When current or version-specific external information matters:
spawn a Luna researcher
require primary or authoritative sources when possible
return concise findings and compatibility implications
let the root decide how those findings affect implementation
Do not mix speculative external claims into implementation decisions without verification.
Cost and context discipline
Use Luna for routine subagent execution.
Keep the root context focused on:
architectural decisions
summarized evidence
important diffs
test results
reviewer findings
unresolved risks
Do not paste large raw logs or entire files back into the root when a concise evidence summary is enough.
Subagents should return:
conclusions
relevant file paths
important line or symbol references
commands run
test results
risks or blockers
Avoid returning large amounts of irrelevant raw output.
Escalation behavior
A subagent should report back instead of expanding scope when it encounters:
an architectural decision
a breaking API or schema change
a new dependency
a security-sensitive design choice
unclear requirements with materially different outcomes
unexpected changes outside its assigned scope
changes that affect another worker's ownership
a blocker that requires substantially broader reasoning
The root decides what to do next.
Luna should not independently escalate itself to a more expensive model.
The root owns model escalation decisions.
Failure handling
If a subagent fails:
inspect the failure reason
decide whether the task should be retried, narrowed, reassigned, or handled by the root
do not silently ignore the failed delegation
do not claim the delegated work completed successfully
If spawn_agent itself fails, explicitly note the failure.
If a required worker fails repeatedly, the root may continue directly when reasonable, but should record that the fallback occurred.
Delegated-task completion gate
Before producing the final answer for a delegated task, confirm that:
every required subagent was actually spawned
every required subagent either completed or explicitly failed
material findings were integrated
conflicting findings were resolved
required verification was performed
no required agent is still running
Do not finish while required subagents are still running.
Do not claim delegation occurred unless spawn_agent was actually called successfully.
Final verification
Before claiming completion, the root should:
inspect the final diff
confirm the requested behavior is actually implemented
check material reviewer findings
run or confirm the highest-value tests
verify that delegated results were integrated correctly
state any validation that could not be performed
For implementation tasks, prefer checking:
syntax or type checks
targeted unit tests
integration tests where relevant
build success where relevant
the original reproduction path
final diff for unintended changes
User-facing behavior
Do not narrate every subagent action unless the user asks for detailed orchestration visibility.
The final answer should focus on:
what changed
what was verified
important findings
remaining risks or limitations
When useful, briefly mention which agents contributed.
If the user explicitly asks to see delegation, report:
subagent name
model
assigned task
completion status
Do not claim a Luna agent was used unless the trace contains a successful spawn_agent call using gpt-5.6-luna.