From define-goal
Interview the user with the AskUserQuestion tool and iteratively refine their intent into a precise, verifiable completion condition for the native /goal skill. The native /goal takes a single condition (`/goal <condition>`) and runs autonomously until that condition is met or judged unachievable — so a sharp, observable condition is everything. Use when the user wants to set up, scope, or sharpen a goal before running /goal — e.g. "help me define a goal", "set a goal for X", "what should my /goal condition be", "refine this before I run /goal". The output is a saved goal brief plus a ready-to-run `/goal <condition>` command, with an offer to launch it.
How this skill is triggered — by the user, by Claude, or both
Slash command
/define-goal:define-goalThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Help the user turn a fuzzy intention into a **single, verifiable completion
Help the user turn a fuzzy intention into a single, verifiable completion
condition for the native /goal skill — by asking, not assuming.
This skill runs a short, structured interview with AskUserQuestion, drafts a
candidate condition plus a short task brief, refines them with the user in a
tight loop, saves the result to a file, and then offers to run
/goal <condition>.
/goal actually is (read this first)/goal is not a "do this project" command. It is an autonomous run-until
control built into Claude Code:
/goal <condition> — sets a success condition. Claude then works
autonomously and keeps going until the condition is met (Goal achieved)
or it determines the condition cannot be achieved (Goal could not be achieved)./goal — shows status (Goal active / No goal set)./goal clear — stops early / clears the active goal./goal requires a trusted workspace and hooks enabled (it won't run if
disableAllHooks / allowManagedHooksOnly is set).Because /goal loops until the condition flips true, the single most important
deliverable of this skill is a condition that is observable and unambiguously
checkable — Claude must be able to tell, on its own, the moment it's done.
Vague conditions cause /goal to run forever or stop too early.
/goal run but their target is fuzzy./goal condition should be, or to refine one./goal run looped without converging or stopped prematurely because
the condition was vague — redefine it./goal <condition>.Ask, reflect, draft, show, repeat. Never invent requirements the user hasn't confirmed. Drive every clarification through AskUserQuestion. The goal of the interview is to be able to write a condition that Claude itself can verify is true or false at any moment.
Read the invocation args and recent conversation. Restate, in one sentence, what
the user seems to want /goal to accomplish, and confirm. If there's nothing to
go on, ask one open question to get the seed.
Use AskUserQuestion. Group related questions into rounds (up to 4 per call).
For each question give a short header (≤12 chars), a clear question, and 2–4
concrete options with helpful descriptions (the tool always adds "Other" and
free-text, so don't add your own). Use multiSelect: true when options aren't
mutually exclusive, and put a recommended default first labelled "(Recommended)".
Cover these dimensions (skip what's already answered; infer the obvious and show it back as an assumption rather than asking):
/goal should
stop and report rather than loop (e.g. "if it needs prod credentials, stop").Run one round at a time; reflect on the answers before the next round. Stop when you can write a condition the agent can self-check. Two to four rounds is typical.
Produce two things:
/goal argument. Prefer concrete checks:
pytest -q exits 0 and curl -s localhost:8000/health returns
{\"status\":\"ok\"}"Mark anything you inferred with (assumption) so the user can correct it.
Show the condition and brief, then use AskUserQuestion to ask if it's ready:
Apply only the requested change and show it again. Loop until the user finalizes. Keep tightening the condition toward something binary and self-verifiable.
On finalize:
green-ci)../.goal/ in the current working directory if needed../.goal/<slug>.md using the template below.
If the file exists, confirm overwrite or add a numeric suffix./goal <condition>
command back to the user.Use AskUserQuestion:
/goal <condition> now (Recommended)" — invoke the native /goal skill
with the finalized condition.Before launching, sanity-check the prerequisites: the workspace must be trusted
and hooks enabled, or /goal will refuse. If they aren't, tell the user what to
fix (accept the trust dialog on restart; ensure hooks aren't disabled).
# Goal: <one-line outcome>
## Condition (the /goal argument)
> <single, observable, self-checkable success condition>
Run it with:
`/goal <single, observable, self-checkable success condition>`
## Brief
<2–4 sentences: what to do to reach the condition.>
## Verification
<Exactly how the condition is checked — the command, file, endpoint, or metric
that flips it true.>
## Guardrails
- <must / must-not, files to avoid, style constraints>
## Give up if
- <conditions that make this unachievable; /goal should stop and report>
## Context & resources
- <repos, paths, commands, docs the loop needs>
## Assumptions
- (assumption) <anything inferred; correct me if wrong>
/goal condition is binary and machine-checkable. If you can't
describe how Claude would verify it without a human, keep refining.Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub coflounder/claude-kit --plugin define-goal