Goldengoal
Nine opinionated agent skills for Claude Code & Codex — UX design, motion, HTML artifacts, decision spread, goal contracts, and the craft of making skills. Every protocol opens with a gate that can say no.
npx -y skills add lroolle/skills --skill goldengoalAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Goal engineering for agentic loops -- a goal is a contract, not a wish. Composes fuzzy intent into a goal brief plus a /goal condition, or sharpens an existing draft against five contract gates (outcome, evidence, boundary, stop rules, pause conditions). Calibrates to task weight: trivial skips, simple gets three lines, complex gets pre-mortem. Fires on three branches: defining a task or setting up /goal or /loop ("I want to build", "help me start", "define the task"); checking whether a goal, spec, or requirement is clear enough ("sharpen this", "is this goal clear"); and recovering after a loop drifted or built the wrong thing. Mid-execution corrections with clear direction don't need a contract -- just make the correction.
SKILL.md
11.6 KB, as published. Nobody here has run it
Golden Goal
A goal is a contract, not a wish.
The gap between "I want X" and a goal an agent can execute against is not prompt craft -- it's thinking discipline. Golden Goal helps you think through what you want, then compresses the result into a contract an agent can be judged against.
The test: can someone (or something) evaluate the goal's outcome without asking you what you meant?
Mode selection
If the user provides text that looks like a goal (has an outcome, a condition, a structured prompt), start in Sharpen mode. If they describe intent without structure ("I want to add SSO"), start in Compose mode.
When composing, infer answers from the codebase and conversation context. Only ask questions when the answer materially affects the goal and can't be determined from available information. A user who says "add rate limiting to the API" doesn't need to be asked "what API?" if there's one API in the repo.
Gate -- calibrate to task weight
Before running the protocol, gauge complexity:
| Level | Signal | What to do |
|---|---|---|
| Trivial | Known fix, one file, <5 min | Skip. Just do it. |
| Simple | Known outcome, small scope, low risk | Quick mode (3 lines) |
| Standard | Feature, bug with unknown cause, multi-file | Full compose or sharpen |
| Complex | Architecture, risky, multi-system, hard to reverse | Full + pre-mortem + risk |
When in doubt, start at Standard. The gate saves effort on trivial tasks and prevents under-specification on complex ones.
The five contract gates
Every goal, regardless of mode, must pass these five gates before shipping. This is the spine -- compose and sharpen are paths to getting here, but the gates are non-negotiable.
| Gate | Question | Failure mode if missing |
|---|---|---|
| Outcome | What's true after that isn't true now? | Agent builds confidently in the wrong direction |
| Evidence | How does anyone verify this is done? | "Done" is a guess; bugs ship silently |
| Boundary | What must NOT change? | Agent expands scope into adjacent code |
| Stop rules | When should the agent halt and ask? | Agent drifts on ambiguity or makes risky decisions silently |
| Pause conditions | When is the agent blocked, not stuck? | Agent grinds on blocked work (missing credentials, human decision, external dependency) instead of surfacing the blocker |
Stop rules handle ambiguity (the agent doesn't know which path is right); pause conditions handle blockers (the agent can't proceed regardless of knowledge). Contract section 5 has worked examples of each.
Compose mode
User has intent but not a structured goal. Walk through these steps in order. Each compresses one dimension of ambiguity.
1. PROBLEM
What actually hurts? Who feels it? Why now?
One to two sentences. If you can't state the problem without jargon or hand-waving, the goal isn't ready.
Think through:
- What breaks, fails, or frustrates without this change?
- Who notices if it doesn't get done?
- Is this solving a real problem or preventing an imagined one?
If the domain is unfamiliar and the user can't answer these questions, the first goal should be investigation: "Understand X well enough to define the real goal." Don't force a build goal when a discovery goal is what's needed.
2. OUTCOME
What exists after this is done that doesn't exist now?
Observable, not aspirational. "Users can log in with SSO" not "improve the auth experience." "Migration runs in <30s on the test dataset" not "optimize the migration."
Make it quantitative when the domain supports it. Prefer numbers that represent real success, not decorative precision:
| Domain | Quantify with |
|---|---|
| Bugs | Reproduction test fails before, passes after |
| Tests | Exact command + required pass condition |
| Performance | Metric, target threshold, measurement method, run count |
| Quality | Observable acceptance bar (lint, typecheck, review criteria) |
| Research | Decision the research enables, evidence standard |
| Operations | Healthy state, monitoring window, rollback trigger |
Think through:
- What would a screenshot, test, or demo show?
- Can you describe the before and after in concrete terms?
- Would two engineers independently agree on whether this is done?
3. SCOPE
What's in. What's out. What's frozen.
- In: files, modules, behaviors being changed
- Out: what the agent must NOT touch or expand into
- Frozen: interfaces, APIs, schemas that must stay stable
Non-goals are as important as goals. "Do NOT refactor the auth module while fixing this bug" prevents a common drift mode.
Think through:
- What adjacent code could the agent be tempted to "improve"?
- What would a PR reviewer flag as out of scope?
- What contracts (APIs, schemas, interfaces) must stay stable?
4. CONTEXT
What the agent needs that it can't infer from the code.
Include: relevant files/modules, patterns to follow, domain rules, prior decisions, known constraints (perf, security, compatibility), conventions.
Exclude: obvious things the agent reads from the repo, generic best practices, anything already in CLAUDE.md.
Think through:
- What would a new team member need before touching this?
- What existing pattern should the agent follow?
- What domain knowledge isn't in the code?
5. CONTRACT
Five parts. This is the load-bearing section.
DONE WHEN: Verifiable completion criteria. Tests pass, specific behavior works, file exists, metric meets target. Must be checkable without asking the author what they meant.
Bad: "auth is improved." Good: "POST /login returns 200 with valid credentials and 401 without, rate-limited to 10/min."
VERIFY: How to check. Specific test commands, lint, typecheck, build, manual verification steps. What the agent should report if it can't verify something.
Bad: "test it." Good: "run pytest test/auth -v, verify rate
limit with curl loop, check 401 response body matches spec."
STOP RULES: When to halt and ask instead of guessing. High ambiguity, conflicting requirements, risk of data loss, scope expansion beyond stated boundaries, uncertain architectural decisions.
PAUSE CONDITIONS: When to surface a blocker instead of grinding. Missing credentials, needed human decisions, external service dependencies, budget or cost thresholds, repeated failures with the same approach.
ITERATION POLICY: How to retry after failures. How many focused rounds before reporting. What to inspect before retrying.
Example: "Rerun checks after each meaningful change. Inspect logs before retrying. Make at most 3 focused improvement rounds before reporting remaining issues."
6. PRE-MORTEM (Standard/Complex only)
After drafting the goal, ask one question:
"What is the most likely way this goal fails?"
Walk the five gates' failure-mode column against this specific goal and name the likeliest failures.
For each identified failure mode, derive one constraint -- a non-goal, a stop rule, or a pause condition. Add it to the contract. The pre-mortem often catches what the compose flow missed because humans are better at imagining concrete failures than abstract success criteria.
7. SHAPE
Compress everything into two outputs:
Goal brief -- the full spec, pasted as a session message or saved to a file. Structured by the sections above.
Goal condition -- a short string for /goal that captures
the verifiable done state. This is what the evaluator checks.
The brief gives the agent context. The condition gives /goal its exit criteria. They work together but are not the same thing.
Example conditions:
- "all tests in test/auth pass and lint is clean"
- "the migration completes in <30s on the test dataset"
- "the new endpoint returns 200 with valid JWT and 401 without"
Sharpen mode
User has a draft goal -- existing prompt, issue description, Slack message, previous /goal that drifted.
Load signals.md -- it owns the full signal set -- and run its two checks in order:
- Engine test, on the outcome statement only: every word must do work. "Robust" and "scalable" idle; "10 req/min per IP" carries load. Flag idling words, propose measurable replacements.
- Contract gates: check the draft against all five gates. For each gap, name it, state what goes wrong without it in one sentence, and propose a specific fix.
Sharpening is done when no idling word survives in the outcome and every gate has a concrete answer. Then reshape into goal brief + condition format.
Quick mode (simple tasks)
For tasks that gate at Simple:
OUTCOME: [one sentence -- what exists after]
DONE WHEN: [verifiable condition]
VERIFY: [how to check -- test command, manual step]
Three lines. The contract gates still apply in your head but don't need to be written down.
After shaping
Present the goal brief and condition to the user. Then offer concrete next steps:
- Set
/goal <condition>to start an autonomous loop - Save the brief to a
.mdfile for multi-session work - Enter
/planmode to design the implementation
If the user revises ("no, that's not the outcome I want"), re-enter compose at the step that needs revision -- not from scratch.
Composition
Golden Goal defines WHAT to build and WHEN it's done. It sits before execution in the skill pipeline:
| Step | Skill | Does what |
|---|---|---|
| 1 | /parallax | Decide which approach (when the path is unclear) |
| 2 | /goldengoal | Define what to build and when it's done |
| 3 | /plan | Plan how to build it (Claude Code plan mode) |
| 4 | Execute | Invoke domain skills (kiln, htmlize, etc.) |
| 5 | /goal | Set the loop with the condition from step 2 |
| 6 | /skillize | Capture the workflow if it was reusable |
Not every task needs every step. Golden Goal works standalone or as part of this pipeline. For simple tasks, skip to 2 + 5.
Output shape
The output shape is a formatting guide, not the process. The compose steps produce the thinking. The output compresses it. Skipping to the template without working through the steps produces Template Zombie output -- formatted but empty.
Simple (quick mode)
OUTCOME: [sentence]
DONE WHEN: [condition]
VERIFY: [check]
Standard / Complex
## Goal Brief
**Problem:** [1-2 sentences]
**Outcome:** [observable, quantified result]
**Scope:**
- In: [what changes]
- Out: [what must not change]
- Frozen: [stable interfaces]
**Context:** [relevant files, patterns, domain knowledge]
**Contract:**
- DONE WHEN: [verifiable criteria]
- VERIFY: [specific checks]
- STOP RULES: [when to halt and ask]
- PAUSE IF: [when to surface a blocker]
- ITERATION: [how to retry, max rounds]
---
/goal [short condition string]
References
| Reference | When to load |
|---|---|
| signals.md | Sharpen mode, or reviewing any goal's quality |
| patterns.md | Composing goals for common task types |
| sources.md | Deep background on goal/loop engineering |