agentleFS
svy04svy04/ballast/skills/goal/SKILL.md

goal

Skill73 starsChanged 3 months agoMITView on GitHub

Run a large or unfamiliar goal through the full ballast pipeline — mobilize what you already hold, terrain scan, full skeleton, atomic foundation learning with verification, then build from bedrock to a verified done. Use when the user hands over a big goal, enters a new field, or asks to learn X in order to achieve Y.

47 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use origin, update-cli-config and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • 0mlkrizzz655335vSkill

    origin

    origin CLI 管理。安装、登录、更新、修复 origin.cursor.com 的 CLI。"disabled-environments:

    Also in 3 projects that use this

  • PandelisZSkill

    update-cli-config

    View and modify Cursor CLI configuration settings in ~/.cursor/cli-config.json. Use when the user wants to change CLI settings, configure permissions, switch approval mode, enable vim mode, toggle display options, configure sandbox, or manage any CLI preferences.

    Also in 4 projects that use this

  • 0mlkrizzz655335vSkill

    review-bugbot

    缺陷导向代码审查。用 Bugbot 子代理找 bug。

    Also in 3 projects that use this

  • 32103210Skill

    migrate-to-skills

    Convert 'Applied intelligently' Cursor rules (.cursor/rules/*.mdc) and slash commands (.cursor/commands/*.md) to Agent Skills format (.cursor/skills/). Use when you want to migrate rules or commands to skills, convert .mdc rules to SKILL.md format, or consolidate commands into the skills directory.

    Also in 4 projects that use this

  • 32103210Skill

    update-cursor-settings

    Modify Cursor/VSCode user settings in settings.json. Use when you want to change editor settings, preferences, configuration, themes, font size, tab size, format on save, auto save, keybindings, or any settings.json values.

    Also in 4 projects that use this

  • MicrosoftSkill

    automate

    Propose an automation from a completed task or a new idea, then create it after approval. Use when the user asks to create an automation or wants scheduled local or cloud agent work.

    Also in 4 projects that use this

  • +1 more from 32103210
  • +3 more from 0mlkrizzz655335v

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 43 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Check what already exists before planning to build anything: prior art, standard tools, the user's own assets.

    line 13
  2. Distinctive:

    Ensure the memory structure exists (run brain-init if not).

    line 14
  3. Distinctive:

    Leave a mobilization table the user can glance at: branch · what it needs · what's held (with the file) · gap → first move.

    line 23
  4. Distinctive:

    Ask explicitly, of the field and of yourself: *"what important thing have I not written down?"* A well-verified map that misses the core is …

    line 31
  5. Distinctive:

    Batch refutation: when leaves are filled in parallel, refute the whole batch once more before any of them bears weight — only what survives …

    line 45
  6. Distinctive:

    Check the file itself on every trip up: a node marked filled with no source beside it is not filled — drop it back to named-unfilled until …

    line 58
  7. Distinctive:

    Before showing the evidence, re-read the one-line restatement from Phase 0 and say plainly whether the deliverable answers *that* — a …

    line 66
  8. Distinctive:

    Keep a checkpoint note so the user can return at any moment and catch up in thirty seconds: where we are, what's decided, the one thing …

    line 76

“Common” is measured: kept by at least 6 in 10 of the 43 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Goal engine

Premise: don't trust what you already think you know. Big goals rarely fail loudly — they fail quietly, on foundations that were guessed instead of verified. This pipeline replaces confidence with structure. It is domain-agnostic: a marketing campaign, a codebase, a field you have never touched.

Phase 0 — Intake

  • Restate the goal and its definition of done, one line each. Confirm only what is genuinely the user's to decide: direction, taste, budget, deadlines, and who a deliverable is for. Tools and order are yours — do not ask about them.
  • Check what already exists before planning to build anything: prior art, standard tools, the user's own assets. Adopting beats rebuilding.
  • Ensure the memory structure exists (run brain-init if not). From here on, decisions are recorded the moment they happen, and unresolved items are registered, not remembered.

Phase 0.5 — Mobilize (summon what you already hold)

A goal never starts from zero: by the time it arrives you already hold rules, recorded decisions, verified notes, and skills. This phase exists because of a real, quiet failure: work can proceed competently from a blank page while the exact knowledge it needed sits unread in a file — knowledge held but not summoned degrades the result as surely as knowledge missing.

  • Split the goal into branches that do not overlap and together cover the whole of it (MECE). Keep this coarse — a handful of branches, not a skeleton; Phase 2 does the fine cutting.
  • For each branch, write down what it needs to be done well.
  • Judge each branch against what already exists: the rules catalog, memory/knowledge/, the decision ledger, existing skills. Where an asset exists, using it is mandatory — open it now and let it steer the branch, don't defer it to "later". Where nothing exists, learning is that branch's first task, and it enters the terrain scan first.
  • Leave a mobilization table the user can glance at: branch · what it needs · what's held (with the file) · gap → first move.

Phase 1 — Terrain scan (questions before answers)

Branches the mobilization table marked as gaps come here first. In an unfamiliar field, your sense of what matters is the least trustworthy thing you have. So do not start by producing answers.

  • Collect the field's live debates, solved vs unsolved problems, beginner traps, and standard tooling — as questions and a map, not conclusions.
  • With a researcher configured (see the researcher skill), the collecting itself can be delegated — findings return as hearsay; the map, the labels, and the judgment stay yours.
  • Ask explicitly, of the field and of yourself: "what important thing have I not written down?" A well-verified map that misses the core is the failure mode here.
  • Output: a terrain map the user can read in a minute, every item labeled (confirmed / observed / assumed / hearsay / unknown — see verify-gate). It lives at the top of memory/goal/<slug>.md, above the skeleton it will produce.

Phase 2 — Skeleton (top-down, pyramid-structured)

  • From the terrain, derive the full tree — pyramid discipline: every parent is a conclusion its children must jointly carry, and at every level the children are MECE (no overlap, nothing missing). If a level fails that test, the cut is wrong — recut it now, not later.
  • Go down to atomic leaves. A leaf is atomic only if it passes all four tests: no hidden premises inside it · one axis of judgment · compressible to a single question · no other leaf needs to restate its content. Fail any one → it is not a leaf, split it.
  • The skeleton is disposable by design. In a new field expect to re-cut it two or three times; version each cut and supersede the old one — never silently overwrite, or you will lose track of which map was right.
  • The skeleton lives in a file, not in the session: memory/goal/<slug>.md (slug: 2–4 kebab-case words from the goal's key nouns — list memory/goal/ first and reuse a matching file rather than minting a twin) holds the goal and its definition of done, the tree with each leaf marked filled / named-unfilled / superseded (labels attached) and every node carrying what it rests on — the file path or link; a named-unfilled node carries the lead it will be filled from, or no source yet, never a blank, the single next leaf, known gaps by name, the done-check, and superseded cuts kept below. That file is the canonical copy of this goal's structure — a session ending loses nothing the file holds. (checkpoint still owns session state; this file owns the goal's shape.)

Phase 3 — Leaves (bottom-up, goal-pulled)

  • Fill leaves in the order the goal pulls, not encyclopedia order. Learning must never swallow the goal.
  • Every leaf passes the verify gate before it becomes load-bearing: refute first, primary sources, sample size, stated limits, label attached.
  • Batch refutation: when leaves are filled in parallel, refute the whole batch once more before any of them bears weight — only what survives that pass enters the tree.
  • Atom recursion: if a leaf turns out to contain a named sub-field while you work it, register its children in the tree at that moment — by name, even unfilled. Zero silent gaps: a branch you cannot fill today still gets a name today. This is an output, not a thing to notice: every filled leaf ships the line "sub-foundations exposed: <name — atomic / not atomic → split into …>, …", and a leaf that exposed none writes none there. A blank is not an answer — treat the leaf as unfinished until that line exists.
  • Build alongside learning. A leaf proven in use beats a leaf proven on paper.

Phase 4 — Re-check (top-down again, then loop)

Four signals send you back up the tree — do not wait for a scheduled review:

  1. The goal or its constraints changed from outside → re-check immediately.
  2. Working a leaf exposed a skeleton error — the main signal. Detection: before starting any leaf, ask "is everything this leaf depends on already in the tree?" A missing dependency is an unnamed branch; register it on the spot.
  3. A leaf keeps failing or shows no progress → the cut is wrong, not the effort.
  4. A major branch is finished → survey the whole before descending again.
  • Check the file itself on every trip up: a node marked filled with no source beside it is not filled — drop it back to named-unfilled until one is attached.
  • Repair by diff, not demolition: supersede the dead branches, add the new ones, keep the rest. A full re-cut is only for a pivot of the goal itself.
  • Loop phases 2↔3↔4 until the definition of done is met.

Phase 5 — Done means verified

  • Verify and stop. Turn the definition of done into the smallest sufficient set of checks, run those, and report each as pass / fail / unavailable / blocked — exactly one of the four. When the proof is complete, stop: no polish, no cleanup, no unrelated tests after the criteria pass. (Wording after the caveman project's verify-and-stop pattern, MIT.)
  • Before showing the evidence, re-read the one-line restatement from Phase 0 and say plainly whether the deliverable answers that — a passed check on the wrong goal is still a miss.
  • "Done" is a claim and passes the same gate as any claim: show the evidence (the thing runs, the test passes, the deliverable survived rehearsal — see the rehearsal skill; its round log is the citable part).
  • Remaining expectations are registered as hypotheses with a judgment date — not folded into the victory lap.
  • Distill before leaving: procedures that repeated become skills; corrections that hurt become pinned rules (see pin).

Standing behavior, all phases

  • Blocked? Try three distinct routes before asking. When you do ask, present the fork, not the confusion.
  • Anything that spends money or is hard to reverse: estimate → explicit approval → act.
  • Anything externally visible ships only with the user's click.
  • Keep a checkpoint note so the user can return at any moment and catch up in thirty seconds: where we are, what's decided, the one thing they need to decide, the next move (the checkpoint skill owns the format).

Part of ballast — foundations first, every solved path kept, done means checks pass.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.