Skip to main content

phoenix-auto

Dynamic, state-sensing router for autonomous multi-step work — chooses the next Phoenix skill at runtime from the current objective state (what's green/red, what stage, is there a backlog) instead of following a fixed pipeline. This is Phoenix's autopilot. Use for open-ended autonomous execution where the next step depends on results, when the user says /phoenix-auto, "autopilot", "drive this", "orchestrate", or "figure out the steps as you go". For a fixed lifecycle just use the phoenix meta-router; for a persistent backlog loop use phoenix-ralph.

Jump to install

Source facts

Repository
All-The-Vibes/ATV-Phoenix
Last source activity
June 19, 2026 at 23:19
Detected SKILL.md language
English
Stars
6
Forks
4

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
type
Phoenix Skill
name
phoenix-auto
description
Dynamic, state-sensing router for autonomous multi-step work — chooses the next Phoenix skill at runtime from the current objective state (what's green/red, what stage, is there a backlog) instead of following a fixed pipeline. This is Phoenix's autopilot. Use for open-ended autonomous execution where the next step depends on results, when the user says /phoenix-auto, "autopilot", "drive this", "orchestrate", or "figure out the steps as you go". For a fixed lifecycle just use the phoenix meta-router; for a persistent backlog loop use phoenix-ralph.
license
MIT
# phoenix-auto — the adaptive orchestrator The base `phoenix` skill is a **fixed routing tree** (think → plan → build → review → ship): great when the path is known. phoenix-auto is the **dynamic** counterpart — Anthropic's *routing* + *orchestrator-workers* patterns ([Building Effective Agents](https://www.anthropic.com/engineering/building-effective-agents)): at each step it **senses current state** and picks the next skill based on results, because in real work you can't predict the subtasks up front. > Fixed pipeline = a train on rails. phoenix-auto = a driver reading the road. Both are valid; pick by > how predictable the path is. ## The state-sensing loop ``` ┌───────────────────────────────────────────────┐ ▼ │ SENSE state ──▶ ROUTE to a skill ──▶ EXECUTE ──▶ phoenix_sense gate (green/red? (pick next by (run it) │ backlog? current reality) ├─ green ─▶ snapshot, re-SENSE ─┘ stage?) └─ red ──▶ phoenix_heal (≤3) ─▶ re-SENSE ``` ### Routing policy (what to pick, given state) | Current state | Route to | |---|---| | Goal is vague / no acceptance check exists | `phoenix-goal` (formalize) → or `phoenix-think` | | Have intent, no steps | `phoenix-plan` | | There's a backlog to grind to completion | `phoenix-ralph` (the persistence loop) | | Implementing a known step | `phoenix-build` (+ `phoenix-test` to set the gate) | | A check is red / something broke | `phoenix-debug` | | Need cheap structural context | `phoenix-context` (graph) | | Work looks complete | `phoenix-review` → `phoenix-ship` | ## Guardrails (dynamic routing fails in specific, known ways — design against them) - **Oscillation guard.** Keep a short route history. If you route to the same pair of skills back and forth, or pick the same skill 3× with no state change, **stop and escalate** — that's a planning problem, not a routing one. - **Confidence fallback.** If the right next skill isn't clear, route to `phoenix-think`, don't guess. - **Re-sense, don't cache.** Decide from a *fresh* read of state (the trace, the backlog, a real `phoenix_sense`), never a remembered summary — stale state causes wrong routes. - **Every executed step still ends in an objective gate.** Routing chooses *what*; `phoenix_sense` decides *whether it worked*. Dynamic routing never relaxes the verification law. - **Bounded.** A cap on total steps; on exhaustion, report state honestly rather than looping. ## Common Rationalizations | Rationalization | Reality | |---|---| | "I'll keep routing until it works out." | Unbounded routing is just an expensive infinite loop. Cap steps; escalate when stuck. | | "I routed here last step, I remember the state." | Re-sense. Acting on cached state is the #1 cause of wrong routes. | | "Confidence is low but I'll pick something." | Low confidence → `phoenix-think`. Guessing the route wastes a whole step. | | "This step's result looks right, route onward." | "Looks right" isn't a gate. `phoenix_sense` before you route on a result. | ## Red Flags — stop - You've bounced between two skills more than twice. → Escalate; it's a planning problem. - You're routing based on what you *think* the state is. → Re-sense from disk/trace first. - A step "succeeded" with no `phoenix_sense`. → No gate, no progress; verify before routing on. ## Relationship to the other skills phoenix-auto is opt-in: the base **phoenix** router stays a stable fixed tree and dispatches here only when you explicitly ask for autonomous mode or when `.phoenix-ralph/` state is present. For a known backlog it will usually route straight into **phoenix-ralph**; for a vague goal, into **phoenix-goal**.
View on GitHub