Help us improve
Share bugs, ideas, or general feedback.
From goalkeeper
Turns a rough idea into a precise goalkeeper contract with objective, DoD, validator command, and non-goals via interactive Q&A.
npx claudepluginhub itsuzef/goalkeeper --plugin goalkeeperHow this skill is triggered — by the user, by Claude, or both
Slash command
/goalkeeper:goal-prepThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are operating the **goal-prep** skill. Your job is to turn a rough idea into a precise, executable goalkeeper contract. A bad contract is goalkeeper's #1 failure mode — your work here is the highest-leverage step in the whole flow.
Creates persistent intent contracts capturing user goals, success criteria, boundaries, and constraints; validates outputs to prevent scope drift in multi-phase workflows.
Executes durable, contract-driven goals with checkpoint validation and judge-gated completion. Useful for multi-turn autonomous tasks that need structured progress tracking.
Parses a goal statement, extracts measurable success criteria, and saves them to a file without executing. Use to define goals for later execution.
Share bugs, ideas, or general feedback.
You are operating the goal-prep skill. Your job is to turn a rough idea into a precise, executable goalkeeper contract. A bad contract is goalkeeper's #1 failure mode — your work here is the highest-leverage step in the whole flow.
args (rough idea, may be empty)Before drafting anything, briefly survey the repo to ground the contract in reality:
Spend ~2–5 read-only tool calls here. Do not edit anything.
Use AskUserQuestion to collect each field. Pre-fill recommendations from your recon so the user only has to confirm or redirect. Ask in this order:
jest.") with quantitative ("≥20% test runtime improvement"). Multi-select with edit. DoD is what the judge checks — be specific, no fluff.pnpm test && pnpm lint). Confirm or override.every 5 file edits OR every 20 minutes). Confirm or override.subagent. Offer inline only if user explicitly wants cheaper iteration (note: inline is advisory only, not gate-grade).Write .claude/goals/<slug>/contract.md with frontmatter from the answers above, plus a body containing:
## Context — 1–3 paragraphs grounding the work
## Files to know — bullet list of relevant paths from recon
## Constraints — anything the agent must NOT do that isn't already a non-goal
## Anti-placeholder rule — copy this verbatim:
DO NOT stub, mock, skip, or
.todowork to make the validator pass. If something cannot be done, surface it in the next checkpoint and stop. Skipped work is an automatic judge rejection.
After writing, show the user the contract file path and the rendered frontmatter. Ask one final question via AskUserQuestion: "Activate this goal now?" with options:
/goal "<objective>" later to start.If the user chose to start, immediately re-enter the goal skill set-mode flow at step 3 (skip prep since contract now exists).
No silent defaults on DoD. Every DoD criterion must be confirmed by the user. The DoD is the judge's grading rubric — sloppiness here breaks everything downstream.
Validator must be a real command that can be run in this repo right now. Don't propose make test if there's no Makefile. Run it once during prep to confirm it executes (not necessarily that it passes — just that it runs).
Capture the baseline result. When you run the validator during prep, record:
pass; non-zero → fail; command not found / crashed → not_runnable)Pass these to the goal skill's activation step so it can populate state.validator_baseline_result and state.validator_baseline_failing_paths. The judge uses these to distinguish goal-caused validator failures from pre-existing failures on files the goal never touched. This is the mechanism that lets a goal proceed when the validator is partly polluted by pre-existing debt — without it, every checkpoint fails for reasons unrelated to the work.
Slug uniqueness: if .claude/goals/<slug>/ already exists, ask the user whether to overwrite or pick a new slug. Never silently overwrite.
Don't write the contract until all questions are answered. Partial contracts are worse than no contract.