Excavates the evidence, then interviews you — questions with evidence-backed candidates, your answers, no guesses — into the one-page contract every session starts from.
Free & open · no signup · read-only — it ends by asking · nothing leaves your machine
You are working inside this repo. Mission: recover the product's intent from evidence, put the decisions to the operator as questions, and only then write CHARTER.md — one page: problem, user, job, non-goals, what done means now — so every future session starts from the same contract, not the memory of an old chat.
This brief interviews before it writes. Like 142's spec, the report *is* the artifact — your only write is the charter file — built from the operator's answers, not your inferences.
Phase 2 sweeps the codebase through every one of these, citing file and line for each finding.
the pain this exists to remove, in one sentence its user would recognize
the one primary user; a charter with three users has none
the single job the product does; evidence showing two products is a question, never a coin flip
what this will not do or become; every abandoned tangent in the history is a candidate, and scope creep dies here, in writing
what must stay true through any change: privacy stance, zero-dependency, offline-first, tone
the current milestone as five or fewer outcomes, the next one, and the parked list
one observable check per candidate Now outcome, runnable by a stranger
One structured report at the repo root — or in reports/, if you keep one — the same shape every time, ready for a teammate — or the optional Studio — to act on.
Every Goal Prompt follows the same four steps, so results are consistent and repeatable — no matter which one you run.
Read what the repo claims.
Turn the evidence into the seven decisions only the operator can make.
Build the charter from the operator's answers plus the evidence nobody disputed.
Write CHARTER.md at repo root.
Copy it and paste it into your agent inside the repo you want checked.
Install the goal plugin once — two commands — then just type /goal:the-charter.
/plugin marketplace add GhostlyGawd/goal-prompts/plugin install goal@goal-promptsOr install only this Goal Prompt as /goal-the-charter:
curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=149 shLet an agent fetch it mid-conversation, or pull the raw Goal Prompt by URL.
https://goal-prompts.vercel.app/raw/149.mdNothing hidden — this is the whole Goal Prompt, verbatim. Read it in a minute, edit it, or copy it as-is.
# Goal: The Charter You are working inside this repo. Mission: recover the product's intent from evidence, put the decisions to the operator as questions, and only then write `CHARTER.md` — one page: problem, user, job, non-goals, what done means now — so every future session starts from the same contract, not the memory of an old chat. This brief interviews before it writes. Like 142's spec, the report *is* the artifact — your only write is the charter file — built from the operator's answers, not your inferences. ## Phase 1 — Excavate the intent - Read what the repo claims: README and marketing or docs copy (the promises), package metadata, CLAUDE.md / AGENTS.md (what agents are told today), any spec, roadmap, or TODO files. - Read what the repo did: skim the commit log's arc — built first, built recently, started and quietly abandoned. - Every contradiction between claim and code becomes a question for the operator, not a judgment call for you. ## Phase 2 — Interview through 7 lenses Turn the evidence into the seven decisions only the operator can make: per lens, what the evidence supports, the gap or contradiction, and two or three evidence-backed candidates — never a blank what-do-you-want. 1. **Problem** — the pain this exists to remove, in one sentence its user would recognize 2. **User** — the one primary user; a charter with three users has none 3. **The job** — the single job the product does; evidence showing two products is a question, never a coin flip 4. **Non-goals** — what this will not do or become; every abandoned tangent in the history is a candidate, and scope creep dies here, in writing 5. **Invariants** — what must stay true through any change: privacy stance, zero-dependency, offline-first, tone 6. **Now / Next / Not-now** — the current milestone as five or fewer outcomes, the next one, and the parked list 7. **Done looks like** — one observable check per candidate Now outcome, runnable by a stranger Then stop. Report only — end by asking the operator the numbered questions first: a charter written from guesses is the drift it exists to prevent. Unattended? Write the question sheet to `CHARTER.md`, headed DRAFT — questions and candidates, no invented answers — and stop. ## Phase 3 — Draft from the answers - Build the charter from the operator's answers plus the evidence nobody disputed. A line that traces to neither gets cut. - Questions left unanswered stay in Open questions, marked unresolved — never quietly filled in. - Cut to one page. A charter nobody re-reads is chat context with a filename. - Propose the durability wiring: one line in the agent entry file — read `CHARTER.md` before changing product behavior — and a 150 · Drift Audit cadence to re-check it. ## Phase 4 — Report Write `CHARTER.md` at repo root: **Problem**, **User**, **The job**, **Non-goals**, **Invariants**, **Now / Next / Not-now**, **Done looks like** — then **Open questions** (still unsettled) and **Contradictions found** (claim · where stated · what the code shows · the operator's ruling). Date the header. If `CHARTER.md` already exists from a previous run, this is an amendment, not a rewrite: read it first, re-ask only what changed, lead with the diff — and never silently drop a ratified non-goal; strike it with a dated note. ## Rules - The interview is the work: questions arrive with evidence-backed candidates, and the operator's answers — never your guesses — become the contract - Answers you don't have come from the operator or stay open in the file; imagination is not a source - One page. Past that, cut the charter, not the reader's patience - A `reports/` directory at the repo root changes nothing here: `CHARTER.md` always lives at the root, where every future session can meet it - Before asking, present the top findings as a ranked list in plain words - Report only — end by asking the operator to ratify the charter, settle what is still open, and approve the entry-file pointer
reports/ directory at the repo root changes nothing here: CHARTER.md always lives at the root, where every future session can meet itCurated neighbors — briefs that answer the adjacent question, worth running in the same session.
Holds what the repo is against what it says it is — every surface traced to a goal, every goal to working code — and files each drift: formalize, finish, park, or kill.
Turns venture research and operator intent into SPEC.md — a contract where every acceptance criterion carries a command a machine can run.
Can a coding agent work here? Entry files, one-command checks, discoverable conventions, and a mechanical definition of done — audited by attempting the work.
Holds what the repo is against what it says it is — every surface traced to a goal, every goal to working code — and files each drift: formalize, finish, park, or kill.
The milestone-boundary review — what was agreed, what landed, and a verdict on every piece: keep, finish, formalize, or revert — logged so decided stays decided.
Runs inside these playbooks — curated sequences you can launch with one paste: