Interrogate the decision before the artifact. The requested dashboard might really be an alert, a report, or a deleted process.
A scoping skill for Claude Code — goal interview, a one-page charter, then agile buckets with testable completion conditions that hand straight off to the built-in
/goalcommand.
- Goal interview — surfaces the recurring decision the artifact is meant to drive before any tech/data/feature talk.
- One-page charter — goal, core decision, today's pain, a testable success signal, anti-goals, and buckets. Confirmed before any code.
- Agile buckets — smallest decision-moving slice first, hard review checkpoint after each, no marching ahead unsolicited.
/goalhandoff — every bucket carries a tool-verifiable "Done when", so a confirmed bucket drops straight into the autonomous/goalcommand.- Drift checks — every added scope must trace back to the core decision, out loud.
- The artifact is a hypothesis, not the goal. "Build me a dashboard" is a guess at a solution. The goal is the decision it serves. Build the wrong thing well = wasted work.
- Solution questions come last. Asking "what stack? where's the data? which features?" first presumes the artifact is correct. This skill forbids those until the charter is confirmed.
- Clarity feeds autonomy. The built-in
/goalcommand runs autonomously until a completion condition is met — but it skips the WHAT/WHY interview.goal-firstdoes that interview, then produces the precise, testable finish-line/goalneeds.
/plugin marketplace add Roni-quant/goal-first
/plugin install goal-first@goal-first-marketplacegit clone https://github.com/Roni-quant/goal-first ~/.claude/skills-src/goal-first
ln -s ~/.claude/skills-src/goal-first/skills/goal-first ~/.claude/skills/goal-firstSend any of these to Claude Code and watch what goal-first does:
| You say | goal-first does |
|---|---|
Build me a dashboard for our sales data. |
Stops. Runs the goal interview — what decision does the dashboard drive? — before any chart. |
I need a Slack bot that posts daily metrics. |
Asks what action the daily post is meant to trigger; maybe the answer is an alert, not a feed. |
Add a CSV export button to the report page. |
Well-defined edit → no interview, just builds it. |
The product: the artifact never gets built until the decision behind it is written down and confirmed.
Every "build me X" request goes through this loop:
- User names an artifact to build.
goal-firstruns the goal interview — outcome, core decision, pain, success signal, anti-goal. No solution questions allowed.- Writes
PROJECT_CHARTER.mdwith a testable success signal and a bucket table. - Checkpoint zero — confirm the charter before any code.
- Deliver the riskiest bucket first; checkpoint after each; never march ahead.
- Any confirmed bucket with a tool-verifiable "Done when" can hand off to
/goalfor autonomous execution. - Drift check at every choice — scope that doesn't trace to the core decision gets named, not absorbed.
For a full transcript, see Examples.
They're complementary, not competing:
/goal (built-in) |
goal-first |
|
|---|---|---|
| Job | Execute autonomously until a completion condition is met | Find the goal + decision, scope into buckets |
| Needs | A precise, testable finish-line | A vague "build me X" request |
| Skips | The WHAT/WHY interview | Nothing — it is the interview |
| Output | Finished work, self-checked | A charter + buckets, each with a /goal-ready Done-when |
goal-first produces the finish-line /goal consumes. Use goal-first to scope, then hand each confirmed bucket to /goal to build.
- Decision > artifact. Most "build me X" requests are solving the wrong X.
- Confirm before code. A one-page charter is cheaper than a wrong build.
- Testable or it doesn't ship. "Works well" is not a completion condition.
- Checkpoints are hard stops. Agile means reviewed slices, not a big-bang plan.
examples/transcript-dashboard.md— "build me a dashboard" → interview reveals the real artifact is an alert.examples/transcript-goal-handoff.md— charter → bucket → autonomous/goalrun.
See ROADMAP.md for v0.2, v0.3, v1.0 plans and out-of-scope notes.
Questions, bug reports, scoping gaps: open an issue.
See CONTRIBUTING.md. Short version: changes to the interview or charter shape need a transcript showing the gap they close.
- anthropics/skills — single-repo plugin+marketplace pattern.
- Claude Code's built-in
/goalcommand — the autonomous-execution counterpart this skill feeds. - Roni-quant/skill-radar — repo structure this one mirrors.
MIT — see LICENSE.