Astra Orchestrator logo

Astra Orchestrator

CommunityPopular
donvito
astra-orchestrator

Orchestrate complex Codex coding work for the Plus profile with GPT-5.6 Luna at max reasoning 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.

Overview

Publisherdonvito
Repositorycodex-astra-luna-orchestrator
Skill nameastra-orchestrator
Stars
1.5K
Forks
116
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by donvito on GitHub. Read the source before you install it.

Installation

Install the Astra Orchestrator AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/donvito/codex-astra-luna-orchestrator.git /tmp/codex-astra-luna-orchestrator
mkdir -p .claude/skills
cp -r /tmp/codex-astra-luna-orchestrator/profiles/plus-max-2-subagents/agents/skills/astra-orchestrator .claude/skills/astra-orchestrator
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Astra Orchestrator in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Astra Orchestrator on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Astra Orchestrator is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Astra Orchestrator — Plus Profile

The user's explicit instructions take precedence over this skill.

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-5.6 Luna at max reasoning
  • explorer: GPT-5.6 Luna at medium reasoning
  • worker: GPT-5.6 Luna at medium reasoning
  • tester: GPT-5.6 Luna at medium reasoning
  • reviewer: GPT-6 Astra at low reasoning
  • researcher: GPT-5.6 Luna at medium reasoning

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:

  1. understanding the user's actual goal
  2. choosing the architecture and implementation direction
  3. decomposing the task
  4. deciding which tasks can run in parallel
  5. spawning the appropriate subagents
  6. giving each subagent a bounded contract
  7. resolving conflicting subagent findings
  8. integrating changes
  9. reviewing the final diff
  10. running or coordinating final verification
  11. 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 at medium reasoning
  • worker: gpt-5.6-luna at medium reasoning
  • tester: gpt-5.6-luna at medium reasoning
  • researcher: gpt-5.6-luna at medium reasoning
  • reviewer: gpt-6-astra at low reasoning

The root keeps the Plus profile configuration from .codex/config.toml: GPT-5.6 Luna at max reasoning. The role files in .codex/agents/ explicitly set Luna reasoning to medium and reviewer reasoning to low. Preserve those efforts when spawning agents unless the user requests a change. Do not change the root model from within a session.

For every delegated task:

  1. call spawn_agent
  2. give the agent a descriptive task name using underscores
  3. explicitly specify the intended model
  4. give the subagent a bounded delegation contract
  5. retain the returned task name or identifier
  6. 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:

  1. spawn backend explorer
  2. spawn frontend explorer
  3. spawn API researcher
  4. wait for all three
  5. synthesize findings

Do not do this:

  1. spawn backend explorer
  2. wait
  3. spawn frontend explorer
  4. wait
  5. spawn researcher
  6. 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:

  1. explore
  2. decide architecture
  3. implement
  4. test
  5. review
  6. fix material findings
  7. 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:

  1. spawn one or more Luna explorers if repository understanding is needed
  2. wait for exploration results
  3. root decides implementation direction
  4. spawn Luna worker or workers with bounded ownership
  5. wait for implementation
  6. spawn Luna tester
  7. wait for validation
  8. spawn Astra reviewer when an independent review is materially useful
  9. resolve material findings
  10. run final verification
  11. 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:

  1. spawn explorers for independent suspected areas
  2. reproduce the issue when possible
  3. collect evidence before selecting a fix
  4. root determines the likely root cause
  5. assign a bounded Luna worker to implement the fix
  6. assign Luna tester to reproduce the original failure and validate the fix
  7. 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:

  1. spawn a Luna researcher
  2. require primary or authoritative sources when possible
  3. return concise findings and compatibility implications
  4. 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:

  1. inspect the failure reason
  2. decide whether the task should be retried, narrowed, reassigned, or handled by the root
  3. do not silently ignore the failed delegation
  4. 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:

  1. inspect the final diff
  2. confirm the requested behavior is actually implemented
  3. check material reviewer findings
  4. run or confirm the highest-value tests
  5. verify that delegated results were integrated correctly
  6. 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.

Frequently asked questions

What does the Astra Orchestrator AI skill do?

Orchestrate complex Codex coding work for the Plus profile with GPT-5.6 Luna at max reasoning 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.

Why use Astra Orchestrator on TypingMind?

Because you install it once and use it with any model. Astra Orchestrator is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Astra Orchestrator in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/donvito/codex-astra-luna-orchestrator/tree/main/profiles/plus-max-2-subagents/agents/skills/astra-orchestrator. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Astra Orchestrator?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Astra Orchestrator?

As many as you like. As long as a model supports skills, you can use Astra Orchestrator with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Astra Orchestrator AI skill free?

Yes. It is published on GitHub by donvito under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇