Agent skill

Craft Goal

by boshu2 in boshu2/agentops

Draft or lint a bounded long-running goal prompt with a finish line and hard limits.

Apache-2.0Auto-check passedDevelopment

Install Craft Goal

skills CLI
$ npx skills add boshu2/agentops --skill craft-goal -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install boshu2/agentops craft-goal --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/boshu2/agentops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/craft-goal .claude/skills/craft-goal && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
craft-goal
GitHub stars
448
Used in
1 other repo
Token cost
~2.7k tokens
SKILL.md length
1,369 words
Files
4 (incl. scripts, references)
Skills in repo
31
Repo updated
First seen
Licence
Apache-2.0

At a glance

Draft or lint a bounded long-running goal prompt with a finish line and hard limits.

  • Works in 4 steps: A first line that starts with exactly… → For UNSAFE_GOAL, each missing decision;… → When safe, the filled prompt, a separate… → …
  • : selected by name
  • SKILL.md covers Modes, Admission: decide first, What a safe goal holds and Budgets and HOLD, plus 3 more sections
  • Runs Shell scripts from its folder

What it does

Craft Goal is an agent skill from boshu2/agentops. Draft or lint a bounded long-running goal prompt with a finish line and hard limits. Use when: selected by name; one change goes to Plan.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/goal-prompt.md` and `scripts/validate.sh`).

It sits in Development, covering Linting and formatting. The repository describes itself as: DevOps discipline for AI coding agents: shape the work, track it as a graph, and get each change judged by a context that didn't write it. The licence is Apache-2.0.

When your agent uses it

  • : selected by name
  • One change goes to Plan

Example prompts

  • “/craft-goal”

Requirements

  • A Bash shell

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. A first line that starts with exactly one decision: SAFE_TO_CREATE,
  2. For UNSAFE_GOAL, each missing decision; the caller can settle them with
  3. When safe, the filled prompt, a separate goal-tool token budget, and the
  4. One lint line per rubric dimension: pass, or the finding.

What it can do on your machine

Read from SKILL.md and the folder at commit 06165d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Craft Goal loads about 2.7k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 37 tokens; SKILL.md has 1,369 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~37
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from boshu2/agentops at commit 06165d9, republished under its Apache-2.0 licence (© boshu2). 1,369 words, ~2,692 tokens.

Download SKILL.mdSave it as .claude/skills/craft-goal/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
craft-goal
description
Draft or lint a bounded long-running goal prompt with a finish line and hard limits. Use when: selected by name; 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
user-invocable
true
disable-model-invocation
true
context.window
inherit
metadata.tier
judgment
metadata.capabilities
goal_prompt_design, goal_prompt_lint

Craft Goal

Craft or lint the autonomy contract above AgentOps RPI. A goal is a persistent controller (the Goal / Mayor role) over a bead-shaped experiment graph: each RPI is one scientific trial, and the goal picks the next useful trial, preserves what was learned and ratchets toward a larger outcome.

text
Goal / Mayor: observe graph → choose bounded wave → consume results → ratchet
  └─ Bead: durable experiment intent, context, scratch, evidence, and links
       └─ RPI: plan → implement → checks → one fresh validate where a mistake is costly → report
            └─ Implementation: one RED → GREEN → refactor experiment

The number of RPIs 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. Beliefs are revisable: new evidence may retract an earlier claim. More stored knowledge is neither progress nor proof that knowledge is correct.

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 RPI dispatch 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 but needs no tracker installed to compile a prompt.

Modes

Caller wordingModeResult
"craft a goal", "turn this into a goal"craftDecision, then the filled goal prompt and settings when safe.
"lint/review this goal", "is this safe"lintDecision 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, and authority; 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_RPI: one shaped experiment with no verdict-driven follow-on.
  • 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 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: root epic = outer intent; child bead = one experiment and one RPI, so compaction cannot erase the record. Navigate owns the walk the prompt applies each wave: graph contract, edges, what counts as a ratchet, discovery classes and the checkpoint.
  • RPI membrane. One candidate gets one bounded RPI. Its checks and CI are the result for an ordinary bead. A bead gets one author-distinct fresh validation only when the caller asks, a mistake cannot be cheaply undone after it lands, or no deterministic check covers the changed behavior; a repair does not start another. The goal may request durable verdict evidence but never rewrites it: orchestration cannot author its own proof, and a review per bead multiplies cost across the whole graph.
  • Ratchet, not churn. Continue only while a result adds non-duplicative, decision-relevant knowledge or advances acceptance, and the next experiment fits frozen acceptance, authority and the remaining envelope.
  • Two-level bounds. Every RPI and every wave is bounded, and the full goal has monotonic hard ceilings. Bounded waves shorten the feedback loop; the one non-renewing campaign envelope keeps a new wave from minting a new campaign.
  • Earned andon. Ordinary informative red may change the route within frozen acceptance. Repeated no-information failure, regression, recurrence, oscillation or scope pressure enters HOLD.
  • Operator legibility. Each wave boundary reports the acceptance matrix, graph frontier, verdicts, ratchets, churn, remaining budget and next thesis.
  • Exterior self-repair. Repair an unstable factory from an ordinary shell or worktree; use the factory only for a declared bounded canary.

The two failure modes this prevents: 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.

Show full SKILL.md (649 more words)Show less

Budgets and HOLD

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

  • Wave: RPIs, concurrency, wall time or tokens, live attempts, and a checkpoint at its end.
  • Goal: total RPIs, 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.

Enter HOLD on any declared trigger: repeated blocker, no ratchet for the configured number of RPIs, oscillation between prior approaches, introduced regression, unknown new-defect cause, recurrence, requested acceptance change, or operator-reserved decision. HOLD stops implementation for causal examination. While the remaining allowance admits it, consult exactly 1 bounded fresh-context helper per HOLD incident, supplying acceptance, observations, failed approaches, exact evidence and remaining allowance. Rewording the blocker or an automatic continuation is not a new incident.

  • UNSTUCK must name a materially different experiment, its discriminating check, and why it fits unchanged acceptance, authority and remaining bounds; only the selected outer goal may resume, and it never revives a spent RPI bound.
  • ESCALATE, an unhelpful helper or no admissible experiment emits NEEDS_OPERATOR; no more implementation or helper dispatch follows.
  • Cancellation stops immediately. An explicit refusal or judgment lane, or a genuinely spent hard time, cost or quota ceiling, skips the helper and reports the refusal or NOT_ACHIEVED with the exact gaps. A retry threshold alone is not proof of a spent hard budget.

When operator action is required, report it truthfully and keep work stopped. A controller's threshold for recording blocked is status bookkeeping, never permission for extra experiments or helpers.

Lint rubric

DimensionPasses when the prompt
outcomenames one larger caller-visible result.
evidencegives each terminal criterion as a Given/When/Then with its authoritative proof.
admissionfits a goal: several related experiments, a falsifiable first question, a terminal finish.
bead graphnames the root epic or its bounded bootstrap rule and ties each experiment to an unmet criterion or named blocking uncertainty.
RPI boundarymakes one bead one RPI, takes checks and CI as an ordinary bead's result, limits fresh validation to the costly cases and consumes verdicts unchanged.
ratchetcounts progress only as evidence tied to an unmet criterion or blocking uncertainty, never activity, counts or digests.
discoverykeeps all three classes (necessary-now, linked-follow-up, HOLD/rescope) and never downgrades a necessary finding.
wave budgetsets numeric RPI, concurrency, time or token and live-attempt limits per wave, with a checkpoint.
hard budgetsets numeric campaign totals that nothing resets, naming the enforcing control or the unmeasured aggregate.
breakersets the numeric no-ratchet threshold and the HOLD triggers.
operator andonallows one helper per HOLD incident, maps UNSTUCK and ESCALATE, and stops implementation on NEEDS_OPERATOR.
scopestates non-goals and exact read, write, external and Git authority.
self-hostingrepairs an unstable factory from outside it and runs the factory only as a declared bounded canary.
terminal reportsdefines ACHIEVED, NOT_ACHIEVED and NEEDS_OPERATOR.

Output

Fill the copy-paste-only goal prompt: keep its headings and terminal semantics and replace every angle-bracket field. Return, in order:

  1. A first line that starts with exactly one decision: SAFE_TO_CREATE, USE_RPI or UNSAFE_GOAL. SAFE_TO_CREATE judges prompt content; it does not certify native enforcement or create a goal.
  2. For UNSAFE_GOAL, each missing decision; the caller can settle them with Interview.
  3. When safe, the filled prompt, a separate goal-tool token budget, and the assumptions made.
  4. One lint line per rubric dimension: pass, or the finding.

Stop

This skill makes one pass, craft or lint, then returns. It never creates or runs a goal and never mutates beads. The goal it writes stops at its first terminal report: ACHIEVED, NOT_ACHIEVED or NEEDS_OPERATOR.

© boshu2, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts, references) in skills/craft-goal of boshu2/agentops.

  • SKILL.md
  • agents/openai.yaml
  • references/goal-prompt.md
  • scripts/validate.sh

Open the folder on GitHubat commit 06165d9

Used in 1 other repository

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in boshu2/agentops, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Craft Goal next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Craft Goal compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Craft Goal this skillboshu2/agentops4481 repos~2.7kAutomated safety check: PassApache-2.0
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.4k—~2.2kAutomated safety check: PassMIT
Babysit PR To Pass CIsgl-project/sglang37k2 repos~3kAutomated safety check: PassApache-2.0
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k—~2.2kAutomated safety check: PassMIT

Similar skills

  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.4k GitHub stars~2.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Babysit PR To Pass CI

    sgl-project/sglang

    Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.

    37k GitHub starsUsed in 2 repos~3k tokens
    DevelopmentAuto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated today
    DevelopmentAuto-check passed

More from boshu2/agentops

All 31 skills in this repo
  • Agent Native

    boshu2/agentops

    Dispatch independent tasks to parallel workers or subagents without write collisions.

    448 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Council

    boshu2/agentops

    Compare independent opinions from several models or contexts without inflating agreement.

    448 GitHub starsUsed in 1 repo~3k tokens
    Auto-check passed
  • Doc

    boshu2/agentops

    Write or update READMEs, docs, repo instructions and handoff notes, checked against source.

    448 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Idea Genie

    boshu2/agentops

    Brainstorm evidence-backed options for what to build, or stress-test an idea.

    448 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Implement

    boshu2/agentops

    Change or repair code, config or services without weakening tests; report what ran and what did not.

    448 GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Memory

    boshu2/agentops

    Write, find or curate lessons and agent rules with stated evidence and limits.

    448 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed

Categories

Questions about Craft Goal

What does Craft Goal do?

Draft or lint a bounded long-running goal prompt with a finish line and hard limits. Craft Goal is an agent skill from boshu2/agentops. Draft or lint a bounded long-running goal prompt with a finish line and hard limits.

When should I use Craft Goal?

Craft Goal fits situations like: : selected by name; one change goes to Plan.

How do I install Craft Goal in Claude Code?

Run `npx skills add boshu2/agentops --skill craft-goal -a claude-code`. Or copy the skill folder (skills/craft-goal in boshu2/agentops) into .claude/skills/craft-goal in your project. Claude Code loads it when a task matches its description.

How do I install Craft Goal in Codex?

Run `npx skills add boshu2/agentops --skill craft-goal -a codex`. Or copy the skill folder (skills/craft-goal in boshu2/agentops) into .agents/skills/craft-goal in your project. Codex loads it when a task matches its description.

Can I use Craft Goal in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add boshu2/agentops --skill craft-goal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/craft-goal, .gemini/skills/craft-goal, .github/skills/craft-goal and .opencode/skills/craft-goal in your project.

What does Craft Goal need to run?

Going by SKILL.md and its folder, Craft Goal needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Craft Goal access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Craft Goal safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Craft Goal use?

Craft Goal is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Craft Goal use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 828 tokens, read only when the agent opens those files.

What are the alternatives to Craft Goal?

Skills that share tags, products or a category with Craft Goal: Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.4k stars), Babysit PR To Pass CI (sgl-project/sglang, 37k stars) and Rust Best Practices (farm-fe/farm, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Craft Goal?

boshu2 (a GitHub user) maintains it in boshu2/agentops, which has 448 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 11, 2026.

Source: boshu2/agentops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.