Skip to content
Back to skills

Goal Runner

ASecurity

Use when the user asks to advance, continue, or work on the project's long-horizon goal (or to set one up) — the policy for goal-driven increments driven through the goal companion, one increment at a time, delegated via the codex/cursor delegation skills, honestly recorded.

  • 33 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added August 31, 2026
ai-agentsgo

Works with

  • cursor

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add zebbern/agent-collab --skill goal-runner --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Goal Runner?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Goal Runner
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zebbern-goal-runner/badge)](https://www.skillsdirectory.com/skills/zebbern-goal-runner)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: goal-runner
description: Use when the user asks to advance, continue, or work on the project's long-horizon goal (or to set one up) — the policy for goal-driven increments driven through the goal companion, one increment at a time, delegated via the codex/cursor delegation skills, honestly recorded.
---

# Goal Runner

The companion (`goal-companion.mjs`) owns state, selection, and dispositions;
you own judgment. Follow the `/goal:step` choreography exactly — never
reimplement its bookkeeping by editing the goal file ad hoc.

Policy:

- **One increment at a time.** `next` → `start` → execute → verify → PR →
  `record` → stop. The companion refuses a second in-progress item; do not
  work around the refusal.
- **Disclose.** Announce each increment (and each delegation) in one line.
- **Start before working.** Call `start` before any work on the increment
  begins — including delegated work — or the ledger's step-started→disposition
  gap understates reality and the retro must discard it. Ledger evidence,
  2026-08-07: one of eight durations read 0min because work preceded `start`.
- **Delegate with judgment.** Trivial work stays local. Deep analysis or a
  second opinion goes to Codex, fast parallel implementation to Cursor, via
  the `codex-delegation` / `cursor-delegation` skills. Analysis and
  implementation are separate delegations when both are needed.
- **Refine once.** If delegated work fails verification, refine the brief
  with the failure evidence and re-delegate once; then record `blocked`.
- **Blocked is a full stop.** A blocked item blocks the goal; `next` refuses
  until a human resolves it. Surface the reason; never guess past it.
- **Unattended never merges.** A `/loop`-driven or scheduled step works on a
  `goal/<slug>/<itemId>` branch, opens the PR, leaves the item in-progress,
  and stops; the next wake reconciles that PR (merged / closed / still open)
  using `/goal:step`'s all-state JSON query and exact head-branch check.
  Failed, missing, or ambiguous PR evidence stops the wake without a
  disposition. Recording a reconciliation also ends the wake. Merging stays
  human.
- **One writer per project.** Prevent overlapping scheduled wakes and manual
  `/goal:step` invocations. If another runner may still be active, stop before
  changing goal state.
- **Honest dispositions.** `merged` means the PR merged. Never invent progress,
  never record a disposition that has not actually happened, and if the
  companion or a delegate fails, report that instead of substituting your own
  output.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.