Ultragoal — the closed loop for goals too big to ship in one run
SkillAI & modelsRun a large, multi-session goal (e.g. shipping a whole side product) through the full V-model closed loop, one phase at a time, with cross-session state and a final north-star acceptance gate. Ultragoals never downgrade the lane: every phase runs CP-1→CP-6 with adversarial verification. Opt-in: invoke with /ultragoal or by calling something a long-running goal. Ordinary work does not run this.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Ultragoal — the closed loop for goals too big to ship in one run skill
What this skill tells your AI
The instructions your AI receives, as published by huytieu/cog-second-brain in skills/ultragoal/SKILL.md and read by ahel’s review.
An ultragoal is the term for a north-star that spans many sessions: fork the repos, combine the strong parts, ship one product. A /closed-loop run is one task through the loop. An ultragoal is a chain of phases, each of which is its own full closed-loop run, tracked so any cold session can resume.
Core rule (from dwarves-kit, adopted fully): the worker never grades its own homework, and wrongness compounds across sessions — so verify every phase, not just the end.
When to use
/ultragoal <name>— resume or advance an existing ultragoal/ultragoal new "<north-star>"— charter a new one/ultragoal status— report all ultragoals from the registry- Trigger phrases: "make this an ultragoal", "this is a long-running goal", "combine these into one product over time"
Do not use for single-run work (that is /closed-loop), and do not start one on a request that never asked for one. Rule of thumb: if it needs a phase decomposition and won't finish today, it is an ultragoal.
Files (one goal = one folder)
| File | Role |
|---|---|
04-projects/harness/ultragoals.md | Registry: every ultragoal, status, current phase |
04-projects/<goal>/spec.md | Contract: north-star + AC-n acceptance criteria + phases P0…Pn + traceability matrix |
04-projects/<goal>/STATUS.md | Living ledger: phase state, current phase, open AC-n, next action (resume from here) |
04-projects/<goal>/evidence/P<n>/ | Per-phase evidence bundle (ledger.md + CP-* files) |
Code, if any, lives outside the vault (e.g. ~/code/<goal>/) — the spec/status/evidence stay in the vault.
Phase 0 — Charter (/ultragoal new)
- Interview the user for the north-star in one sentence (what "done" looks like).
- Write
04-projects/<goal>/spec.mdfrom../closed-loop/references/spec-template.md:- North-star statement
- Falsifiable
AC-nacceptance criteria (these define done for the whole goal) - Phase decomposition
P0…Pn— each phase is a shippable increment mapped to a subset ofAC-n - Traceability matrix (
AC-n↔ phase ↔ status)
- Create
STATUS.md(see template below) and add a row to the registry.
Record: bash .claude/lib/checkpoint.sh record 04-projects/<goal>/evidence/P0 CP-1 PASS "N criteria, M phases"
The phase loop (every phase, no lane downgrade)
Each phase runs the full closed loop. Do not shortcut with tiny. Ultragoals are full lane by construction.
select next phase from STATUS.md
│
▼
CP-2 PLAN tasks for this phase ↔ AC-n → evidence/P<n>/CP-2-plan.md
│
▼
CP-3 BUILD worker implements (traced to AC-n); returns paths only
│
▼
CP-3v VERIFY task-verifier (fresh context, read-only) → evidence rows per AC-n
│ ├── FAIL:fixable → fix-agent (max 2) → re-verify
│ └── FAIL:escalate → stop, escalate to the user
▼
CP-4 INTEGRATE integration-verifier → does this phase wire correctly with prior phases?
│ (always run for ultragoals — cross-phase regression is the main risk)
▼
CP-5 ACCEPT observe the artifact (curl / screenshot / re-fetch), not the tool return
│ EVIDENCE AC-n | CP-5 | PASS | <observation> | <artifact>
▼
CP-6 SHIP external mutation? → Review Gate: you approve. Internal? → auto.
│
▼
update STATUS.md (phase → done, advance current phase, log open AC-n)
│
▼
CP-7 RETRO /retro 04-projects/<goal>/evidence/P<n> → harvest + STATUS
Merge every verifier's EVIDENCE rows into evidence/P<n>/ledger.md.
The two acceptance gates
- Per-phase (CP-5): every
AC-nthis phase claims has a PASS row before the phase is marked done. - North-star (final): before the ultragoal is declared complete, spawn a fresh-context verifier whose only job is to check the spec matrix — every
AC-nacross all phases has ≥1 PASS evidence row. AnyAC-nwithout one is a gap, not a ship. This is the ultragoal-level analogue of CP-5.
North-star acceptance:
read spec.md matrix (all AC-n)
read every evidence/P*/ledger.md
for each AC-n: assert ≥1 PASS row exists, artifact re-observed
any miss → list open AC-n, STATUS stays "in progress", do NOT declare done
The HTML report (regenerate at every phase gate + final)
Every ultragoal carries a single self-contained HTML report that covers everything: north-star, live status, all phases, the full AC-n traceability table with pass/open/fail, evidence rows per phase (with screenshots embedded as data: URIs), and the open-items / next-action block. It is the human-readable face of the evidence ledger.
- Template:
../closed-loop/references/report-template.html(theme-aware, rows-not-cards). Copy it, then fill every{{token}}and<!-- FILL -->/<!-- REPEAT -->block fromspec.md+STATUS.md+evidence/P*/. You fill it by editing; do not build a parser. - Deliverable path:
04-projects/<goal>/report.html. One file, overwritten each phase (it always reflects current truth). - When: regenerate at each phase gate (CP-6) and again at final north-star acceptance. The final report must show every
AC-nwith a PASS row — if any pill isopen, the goal is not done. - Self-contained only: inline everything, embed screenshots as
data:URIs, so it also works when published as an Artifact (external hosts are blocked). Before publishing as an Artifact, load theartifact-designskill. - Surface it:
SendUserFile 04-projects/<goal>/report.html(display: render) so the user can open it, or publish viaArtifactfor a shareable link.
STATUS.md template
# <Goal> — status ledger
North-star: <one sentence>
Spec: 04-projects/<goal>/spec.md · Registry: 04-projects/harness/ultragoals.md
Current phase: P<n> · Overall: <not-started|in-progress|blocked|done>
## Phases
| Phase | AC covered | State | Evidence | Notes |
|---|---|---|---|---|
| P0 | AC-1,AC-2 | done | evidence/P0/ | <one line> |
| P1 | AC-3 | in-progress | evidence/P1/ | <what's left> |
## Open AC-n (no PASS row yet)
- AC-3 — <why still open>
## Next action (resume cold from here)
<the single next concrete step + any user-gated decision waiting>
Resuming cold (most common entry)
/ultragoal <name> with no other context:
- Read
04-projects/<goal>/STATUS.md→ "Next action" and "Open AC-n". - Read the spec's phase for the current phase only (progressive disclosure).
- Run the phase loop for the current phase.
- Never re-do a phase already marked
doneunless integration verify caught a regression.
Rules
- Never downgrade the lane. Even a one-line phase inside an ultragoal runs CP-3v + CP-4. The point is compounding correctness.
- UI/UX phases verify visually. If a phase touches a UI/UX flow, capture rendered evidence with browser-harness (
evidence_shot/FlowRecorder.save_gif/pixel_diff), read the image, fix any visual defect, and re-capture — do not accept a DOM check. Media lands inevidence/P<n>/and feedsreport.html. See CLAUDE.md → Visual Verification. - Fresh-context verifiers.
task-verifier,integration-verifier, north-star verifier get paths only — never paste worker output in (CLAUDE.md fresh-context isolation). - Read-only verifiers. They cannot edit files or mutate external state.
- Gate all external. Any publish / deploy / push waits at CP-6 for the user (Review Gate = your approval).
- One STATUS.md is the source of truth for where the goal stands. Update it at the end of every phase or it drifts.
- Model routing per CLAUDE.md: Sonnet workers build/collect/verify; Opus lead reasons, decomposes, synthesizes.
Escalation template
ULTRAGOAL ESCALATED — <goal> / P<n>
Last CP: <CP-id> | Open AC: <list without PASS rows>
Evidence: 04-projects/<goal>/evidence/P<n>/
Decision needed: <one question>
Registered ultragoals
Live list: 04-projects/harness/ultragoals.md. Each ultragoal gets its own 04-projects/<goal>/ folder holding spec.md, STATUS.md, evidence/, and report.html.
Signals
- GitHub stars
- 1k
- Forks
- 133
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
ultragoal- Source
- github.com/huytieu/cog-second-brain