Skip to main content

phoenix-goal

Turn ONE high-level, possibly-vague goal into a runnable, objective acceptance check and a verifiable backlog, then drive it to completion. The critical step is FORMALIZE — deriving an executable done-check before any code, because a goal with no objective acceptance criterion has no honest termination. This is the DEFAULT entry for any hands-off "just go and finish it" request. Use at the start of an open-ended ask, when the user says /phoenix-goal, "achieve", "build me", "get this working end to end", "go", "go autonomous", "let's go", "just do it", "run it to done", or gives a goal without a spec. Hands off to phoenix-ralph for the loop. Not for an already-scoped backlog (use phoenix-ralph) or a single known fix (use phoenix-build).

インストールへ移動

ソース情報

リポジトリ
All-The-Vibes/ATV-Phoenix
ソースの最終更新活動
2026年6月19日 23:19
検出された SKILL.md の言語
英語
スター
6
フォーク
4

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
type
Phoenix Skill
name
phoenix-goal
description
Turn ONE high-level, possibly-vague goal into a runnable, objective acceptance check and a verifiable backlog, then drive it to completion. The critical step is FORMALIZE — deriving an executable done-check before any code, because a goal with no objective acceptance criterion has no honest termination. This is the DEFAULT entry for any hands-off "just go and finish it" request. Use at the start of an open-ended ask, when the user says /phoenix-goal, "achieve", "build me", "get this working end to end", "go", "go autonomous", "let's go", "just do it", "run it to done", or gives a goal without a spec. Hands off to phoenix-ralph for the loop. Not for an already-scoped backlog (use phoenix-ralph) or a single known fix (use phoenix-build).
license
MIT
# phoenix-goal — from a fuzzy goal to a demonstrated outcome Goal-oriented autonomous execution (BabyAGI, ReAct, Anthropic's evaluator-optimizer) all share one fatal weakness: **without an executable acceptance criterion there is no reliable "done".** Naive agents loop forever generating busywork, or hallucinate completion. phoenix-goal fixes this by making the *first* deliverable an **objective `done-check`**, not code. > The most expensive bug is building the wrong thing correctly. The second most expensive is never > knowing you're finished. phoenix-goal closes both by formalizing intent into a check that can fail. ## The flow ``` fuzzy goal ("just go and finish it" — or any goal handed over without a spec yet) │ ▼ FRAME + confirm ── name the entry, the goal, and the done-check; invite correction before any edit │ ▼ phoenix-think ── deep interview + research ──▶ Intent Contract │ whose DELIVERABLE is one runnable │ acceptance check (a real command_exit) ▼ write .phoenix-ralph/done-check.json (MUST start RED — prove it fails today) │ ▼ phoenix-plan ── decompose ──▶ backlog.json (each item carries its OWN objective check) │ ▼ hand off to phoenix-ralph (the loop) ──▶ driver proves done-check failure-first ──▶ DONE ``` The difference from phoenix-ralph: **ralph takes a backlog you already have; goal derives the backlog *and* the acceptance check from a single goal first.** Goal is the on-ramp; ralph is the engine. ## Steps 1. **FRAME the run — the handshake (always first, before any `phoenix-think` or edit).** The failure this step exists to prevent is silently "operating in the spirit of" a request and wandering off. So open with a short, explicit frame and **wait for a go**: - **Entry:** Phoenix's autonomous skills are `phoenix-goal`, `phoenix-auto` (its autopilot), and `phoenix-ralph` (the persistence loop). If the user arrived via an alias from another harness that maps to none of them, orient in one line — *"its autonomous entry is `phoenix-goal`, so I'll run it that way"* — no lecture. - **Goal heard:** restate the goal in one sentence, as you understood it. - **Done-check:** name the objective acceptance check you're about to FORMALIZE (a real test/build that exercises the goal, which must start RED). This is *what "done" will mean*. - **Shape + control:** one line on how it runs (formalize → decompose → loop; completion proven from the trace) and how to steer or stop it. - **Invite correction before the first edit**, then proceed to FORMALIZE. Keep it to a few lines. The point: the user always knows the goal, the finish line, and how to drive it *before* anything changes on disk. 2. **FORMALIZE (the hard, non-skippable part).** Run `phoenix-think`: interview the user / research the codebase until the goal is unambiguous, then write the **acceptance check** to `.phoenix-ralph/done-check.json`. It must be a real `command_exit` — a test or build that actually exercises the goal — and it must be RED right now. If you cannot write a check that fails today, the goal is still too vague: keep interviewing. *No code until this exists.* 3. **DECOMPOSE.** Run `phoenix-plan`: break the goal into small, independently-verifiable items in `.phoenix-ralph/backlog.json`. Each item gets its own objective `check`. Order by dependency so the build stays green between items. 4. **SCAFFOLD** the loop state: `PROMPT.md` (from `dist/ralph/PROMPT.template.md`), `progress.md`. 5. **HAND OFF** to **phoenix-ralph**: run `dist/ralph/phoenix-ralph.ps1`. The driver proves the done-check failure-first on an intact trace before it stops. 6. **REPORT** with the proof: `.phoenix-ralph/completed.json` + the trace head + the git tag. ## Who writes the checks (and why it matters) The acceptance check is authored during FORMALIZE and **frozen** before implementation. The implementing loop must satisfy the check, not weaken it. If a check genuinely needs to change, that is a re-scope: stop, return to `phoenix-think`, re-baseline (watch the new check fail), and only then continue. This separation — author the gate, then satisfy it — is what stops a system from "optimizing the check instead of the goal". ## Common Rationalizations | Rationalization | Reality | |---|---| | "They said 'just go' / 'go autonomous' — I'll start building." | First FRAME the run: name the entry, restate the goal and the done-check you'll formalize, and get a go. Editing before the user has seen the finish line is the wander this skill exists to prevent. | | "The goal is clear enough, I'll start coding." | If you can't write a check that fails today, it isn't clear enough. Formalize first. | | "I'll use `test -f output` as the acceptance check." | That's vacuous — it can't meaningfully fail. The done-check must exercise the actual behavior (a real test/build). | | "I'll let the loop figure out what done means." | A loop with no objective termination runs forever or fakes done. Define the check up front. | | "The goal shifted, I'll just relax the check." | Relaxing the gate to pass is optimizing the check, not the goal. Re-scope through phoenix-think and re-baseline. | | "Decomposition is overhead, I'll one-shot it." | For anything multi-step, an un-decomposed goal can't keep the build green between changes. Plan into verifiable slices. | ## Red Flags — stop - You started FORMALIZE or editing without first restating the goal + done-check to the user and getting a go. → Stop; do the FRAME handshake first. - You're about to write code and `done-check.json` doesn't exist yet. → Formalize first. - Your done-check passes on an untouched repo. → It's vacuous; re-target it at the unmet behavior. - The backlog items have prose acceptance ("works well") instead of an objective `check`. → Rewrite each as a runnable check. - You weakened the acceptance check to make the loop finish. → That's not done; re-scope honestly. ## Relationship to the other skills phoenix-goal = **FORMALIZE + DECOMPOSE**, then it delegates the persistent execution to **phoenix-ralph**. It leans on **phoenix-think** (to derive the check) and **phoenix-plan** (to derive the backlog). It is the Phoenix realization of the Intent-to-Outcome loop's "intent → verifiable acceptance criteria" step (see `docs/intent-to-outcome.md`).
GitHubで見る