Skip to content
Development
Skill

/craft-goal

Draft or lint a bounded long-running goal prompt with a finish line and hard limits. Use when: asked to craft or lint a goal (a /goal prompt); one change goes to Plan.

From plugin
agentops
45231 skills5 agents1 hook

Claude Code

$ npx -y skills add boshu2/agentops --skill craft-goal --agent claude-code

SKILL.md

craft-goal.SKILL.md
name: craft-goal
description: 'Draft or lint a bounded long-running goal prompt with a finish line and hard limits. Use when: asked to craft or lint a goal (a /goal prompt); one change goes to Plan.'
practices:
- lean-startup
- design-by-contract
skill_api_version: 1
hexagonal_role: supporting
consumes:
- caller-outcome
- goal-acceptance
produces:
- outer-goal-prompt
- goal-safety-report
context_rel:
- kind: supplier-to
  with: plan
user-invocable: true
metadata:
  tier: judgment
  dependencies: []
  capabilities: ["goal_prompt_design","goal_prompt_lint"]
  effects: []
  canonical_status: canonical
  disposition: keep_strategy
  stability: stable
output_contract: 'human-readable SAFE_TO_CREATE, USE_PLAN, or UNSAFE_GOAL decision; copy-paste outer-goal prompt when safe; exact budgets, assumptions, and lint findings'

Craft Goal

Craft or lint a goal prompt: the contract a long-running goal runtime follows over a bead graph, picking each next experiment (one build bead) until a frozen finish line is proven or a limit stops it. The number of experiments need not be known in advance. A goal is safe when success is decidable, every experiment is bounded, evidence keeps its provenance, and the authorization envelope cannot silently renew itself.

**Authority boundary.** The emitted prompt and safety report are inert caller-owned text. Crafting creates no goal, starts no runtime, mutates no bead and confers no standing authorization. The prompt drives work only when a caller pastes it into their own goal runtime, under their own authority and within the non-renewing envelope they set. Craft Goal reads tracker state when present and needs no tracker installed to compile a prompt; the goal it writes runs on one.

Asked to craft ("craft a goal", "turn this into a goal"), return the decision, then the filled prompt and settings when safe. Asked to lint ("lint/review this goal", "is this safe"), return the decision and findings, plus a rewrite when supplied facts permit one.

Admission: decide first

**Fuzzy route is acceptable; fuzzy success is not.** Before goal creation the caller must know the outcome, what evidence would prove it, non-goals, authority, and the tracker the goal runs on (any with status, dependencies and notes; BD is one); the exact experiment graph may still be unknown. Write each terminal criterion as a Given/When/Then with an observable result and name each domain term once; the caller can settle these with Interview first.

  • `USE_PLAN`: one shaped change with no verdict-driven follow-on; hand it to

[Plan](../plan/SKILL.md) or native execution (RPI only if the caller selects it).

  • `SAFE_TO_CREATE`: a terminal outcome that may need several related

experiments, with those decisions and the budgets below supplied. A shaped goal with no beads may begin with 1 bounded discovery wave that creates the root and initial experiment beads.

  • `UNSAFE_GOAL`: no falsifiable first question or terminal evidence can be

named (route that intent to idea or plan work), or the request is indefinite monitoring or event reaction, which is an automation, not a terminal goal.

Goals come in different sizes: size the wave and hard envelopes to the outcome, never to one universal budget. Do not invent acceptance, authority, graph semantics, tracker or campaign size; return `UNSAFE_GOAL` with the missing decisions. The caller owns revision and goal creation.

What a safe goal holds

  • **Closed outcome, adaptive route.** Freeze terminal acceptance. New facts may

change hypotheses and dependencies, never silently enlarge success.

  • **Bead graph as memory.** The tracker is durable memory, not a parallel goal

ledger: the root epic holds outer intent and each build bead one experiment, so compaction cannot erase the record. A decision bead resolves through the method Navigate names for it, not through a build. [Navigate](../navigate/SKILL.md) owns the walk each wave applies: graph contract, ratchet, discovery classes and checkpoint.

  • **Proof stays outside the goal.** The goal consumes each verdict unchanged:

orchestration cannot author its own proof. Fresh validation is for [Validate's costly cases](../validate/SKILL.md#when-a-fresh-judgment-is-worth-it) only, since a review per bead multiplies cost across the graph.

  • **Two-level bounds.** Every experiment and every wave is bounded, and the

whole goal has monotonic hard ceilings, so a new wave cannot mint a new campaign.

The template's experiment policy and breaker carry these into the runtime. They prevent the **completion treadmill**, where discoveries keep becoming requirements and activity continues without new information, and **first-red abandonment**, where one falsified hypothesis ends a viable campaign.

Budgets and HOLD

Declare both envelopes with numbers before any work is selected, helper and validation costs included:

  • **Wave:** experiments, concurrency, wall time or tokens, live attempts, and

a checkpoint at its end.

  • **Goal:** total experiments, wall time or tokens, live attempts, compactions,

and any patch or surface limit for the whole campaign.

Name the native control that enforces each claimed hard limit and how the remaining allowance is observed. Objective text is an instruction, not enforcement: never report an unmeasured aggregate as a remaining balance, and never claim the goal is paused from prose alone. No helper, retry, new subject, compaction or wave renews the goal allowance.

The template's **Breaker and helper** section is the one list of HOLD triggers (implementation stops for causal review) and helper rules; fill its threshold and keep every line.

Lint rubric

| Dimension | Passes when the prompt | |---|---| | outcome | names one larger caller-visible result. | | evidence | gives each terminal criterion as a Given/When/Then with its authoritative proof. | | domain terms | defines each domain term once and reuses only that word. | | admission | fits a goal: s

Read more
@boshu2
Ships withagentops

DevOps discipline for AI coding agents. DevOps makes software delivery repeatable through shared practices, automated checks and feedback.

45231 skills5 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
452
Star history of boshu2/agentops on GitHub, a chart by star-history.com

Other skills on agentops.

implement

implement

Change or repair code, config or services without weakening tests; report what ran and what did not. Use when: implementing a…

@boshu2@boshu2Install Skill
validate

validate

Freshly judge whether a finished change and its claims meet original acceptance: PASS, FAIL or NOT_PROVEN. Use when: asked for a…

@boshu2@boshu2Install Skill
using-gc

using-gc

Operate Gas City through its own doors: Mayor, doctor and native run state. Use when: Gas City is selected or a gc run looks…

@boshu2@boshu2Install Skill
agent-native

agent-native

Dispatch independent tasks to parallel workers or subagents without write collisions. Use when: running or planning agents in…

@boshu2@boshu2Install Skill
agy-native

agy-native

Run a supplied task in headless AGY (Antigravity, Gemini) and collect its result. Use when: AGY, Antigravity or Gemini is…

@boshu2@boshu2Install Skill
architecture

architecture

Compare interface designs and find structural friction. Use when: a change spreads across modules or a boundary is unclear. For…

@boshu2@boshu2Install Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about craft-goal.

Which coding agents can use craft-goal?
craft-goal installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.