Skip to main content

phoenix-plan

Decompose a clear intent into small, individually-verifiable steps before writing code — each step a slice you can prove pass/fail with phoenix_sense, ordered so the build stays green between them. Use after phoenix-think, when you have an Intent Contract and need an executable plan, or when the user says /phoenix-plan, "break this down", or "make a plan".

Jump to install

Source facts

Repository
All-The-Vibes/ATV-Phoenix
Last source activity
June 18, 2026 at 02:25
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-plan
description
Decompose a clear intent into small, individually-verifiable steps before writing code — each step a slice you can prove pass/fail with phoenix_sense, ordered so the build stays green between them. Use after phoenix-think, when you have an Intent Contract and need an executable plan, or when the user says /phoenix-plan, "break this down", or "make a plan".
license
MIT
# phoenix-plan — small atomic steps, each with an objective finish line ## Overview A plan is only useful if you can *prove* each step is done. Phoenix plans in **slices the self-heal loop can verify one at a time** — every step carries its own `phoenix_sense` check, the steps compose up to the Intent Contract's acceptance gate, and the build stays green between them so any step is independently revertible. A plan whose steps you can't check is a wish list. ## When to use - After `phoenix-think` produced an Intent Contract with an acceptance check. - Any multi-step change, refactor, or feature where order and blast radius matter. - When a task "feels big" — planning is how you find the seams. **When NOT to use:** a one-line change with an obvious check — just `phoenix-build` it directly. ## The planning flow ``` Intent Contract (acceptance check) │ ▼ Decompose into ordered slices │ ▼ for each slice: ┌─────────────────────────────┐ │ goal (one line) │ │ check (a phoenix_sense) │ ← must be runnable & able to fail │ risky? → snapshot first │ └─────────────────────────────┘ │ ▼ Slices compose up to the acceptance check ``` ## Produce a step list like this ``` STEP 1 Add the failing test for the new behavior check: {"kind":"command_exit","target":["pytest","-q","tests/test_x.py::test_new"],"expect":0} (expected RED until step 2 — that's correct) STEP 2 Implement the minimal code to pass step 1 risky? no check: same as step 1, now expected GREEN STEP 3 Wire it into the caller risky? YES → snapshot caller.py first check: {"kind":"command_exit","target":["pytest","-q"],"expect":0} (full suite green) ACCEPTANCE = step 3's full-suite check (from the Intent Contract) ``` ## Rules - **One check per step.** If you can't attach a single objective check to a step, it's too big — split it. - **Green between steps.** Order so the suite is green after each step; that makes every step revertible and turns "it broke" into "roll back the last step", not "debug the whole change". - **Name the risky steps.** Steps likely to break a passing check get a `phoenix_snapshot` before editing so `phoenix_heal` can roll back instantly. - **Use the graph to scope.** Before planning a change to `X`, ask `phoenix-context` "what breaks if I change X?" — plan the real blast radius, not a guessed one. (Cheaper and more accurate than grepping.) - **The last step's check = the acceptance gate.** The plan is wrong if the steps don't compose up to it. ## Sizing heuristic A good step is one you could implement and verify in a single focused pass. If a step needs "and then also…", that's two steps. Smaller steps = tighter heal granularity = less wasted work on a failure. ## Common Rationalizations | Rationalization | Reality | |---|---| | "I'll plan it in my head and just build." | Unwritten plans have no verifiable steps; the first surprise becomes a debugging spiral. Write the checks down. | | "This step is too small to need its own check." | A step without a check can't be healed in isolation — when it breaks you bisect the whole change. | | "I'll figure out the blast radius as I go." | "As you go" means re-reading files every turn. Ask the graph once, plan the real scope. | | "I'll snapshot later if I need to." | You need the snapshot *after* you've already overwritten the good state. Snapshot before the risky edit. | ## Red Flags - A step has no runnable check. → Split or rewrite it until it does. - The suite would be red between two steps. → Reorder so green is the resting state. - You're guessing what a change affects. → `phoenix-context` the blast radius first. - The plan has one giant "implement the feature" step. → That's not a plan; decompose it. ## Next Hand each step to **`phoenix-build`** (snapshot→edit→sense→heal). For "prove this behavior" steps, route to **`phoenix-test`**.
View on GitHub