
Ultragoal
- 183 installs
- 38.3k repo stars
- Updated August 4, 2026
- yeachan-heo/oh-my-claudecode
Track large multi-session projects with a durable in-repo ledger of ordered stories, attempt counts, and per-story evidence logs that persist across Claude session restarts.
About
ultragoal is a persistent project-tracking skill for the oh-my-claudecode framework that stores a durable goal ledger directly in the repository. It breaks large work into ordered stories with attempt tracking and evidence logs, ensuring nothing is lost when Claude sessions restart. Solo builders reach for it when tackling projects large enough to span multiple working sessions and needing reliable continuity with a structured verification workflow before marking work complete.
- Durable in-repo ledger persists across multiple Claude sessions and branches
- Manages ordered stories with attempt counts and per-story evidence logs
- Verification workflow: ai-slop-cleaner, verification, then code review
- Coordinates with /goal directive to resume work after session restarts
- Prevents progress loss on complex multi-objective projects
Ultragoal by the numbers
- 183 all-time installs (skills.sh)
- +7 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #3,026 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/yeachan-heo/oh-my-claudecode --skill ultragoalAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 183 |
|---|---|
| repo stars | ★ 38.3k |
| Last updated | August 4, 2026 |
| Repository | yeachan-heo/oh-my-claudecode ↗ |
What it does
Track large multi-session projects with a durable in-repo ledger of ordered stories, attempt counts, and per-story evidence logs that persist across Claude session restarts.
Who is it for?
Best when you're working on large features that span many agent sessions and need guaranteed continuity
Skip if: Simple single-session tasks that complete in one sitting
What you get
- goal ledger file
- per-story evidence logs
- verified completion report
Files
<Purpose> Ultragoal breaks a brief into an ordered set of goals, records start/checkpoint/blocker/failure events in a durable append-only ledger, and tells the active Claude agent how to drive the Claude Code /goal slash command alongside the plan. It does not — and cannot — mutate Claude /goal state from the shell; it persists durable repo state and prints a model-facing handoff that the active agent must act on in-session. </Purpose>
<Use_When>
- The user wants a durable, repo-native way to track an ultragoal across multiple Claude sessions or worktrees
- The work is large enough to warrant multiple ordered "stories" with attempt counts and per-story evidence
- The user wants the final completion gated behind ai-slop-cleaner + verification + $code-review
- The user wants the active Claude
/goaldirective coordinated with the ledger so that a session restart does not lose progress
</Use_When>
<Do_Not_Use_When>
- The task is a single small change — use direct delegation or
ralphinstead - The user wants the assistant to literally invoke
/goalitself from the shell — that is not possible;omc ultragoalonly writes artifacts and prints handoff text - The user wants a planning-only artifact with no execution loop — use
planinstead
</Do_Not_Use_When>
<Why_This_Exists> Claude Code /goal is a session-scoped Stop hook: it blocks the session from stopping until a condition holds, and auto-clears on success. That is a great single-session execution primitive, but it loses state across sessions and does not by itself enforce a final review gate. omc ultragoal adds a durable plan, ledger, and gating layer so a long multi-step initiative can survive session restarts, fresh worktrees, and review iterations while still leveraging Claude /goal to keep the active agent focused. </Why_This_Exists>
<How_To_Use>
1. Create a plan from a brief:
omc ultragoal create-goals --brief-file plan.mdOr with explicit stories:
omc ultragoal create-goals --brief "ship the migration" \
--goal "Schema::Add new columns" \
--goal "Backfill::Backfill rows in batches" \
--goal "Cutover::Drop old columns and switch reads"The default mode is aggregate (one Claude /goal covers the run). Pass --claude-goal-mode per-story if you want each story to have its own /goal.
Multi-repo workspaces / parallel sessions: when several Claude sessions in the same workspace need to run /ultragoal concurrently, pass either --plan-id <stable-id> or --auto-plan-id so the plan is written to .omc/ultragoal/plans/{planId}/ instead of the shared single-plan path. Without that flag, two sessions creating goals would clobber each other. --auto-plan-id derives {epochMs}-{slug} from the brief title. Then thread the same --plan-id <id> through every subsequent subcommand in that session. Use omc ultragoal list-plans to enumerate available planIds when needed.
2. Start (or resume) the next story:
omc ultragoal complete-goalsThis prints a model-facing handoff. The active Claude agent must read it and:
- Confirm/Set the active
/goalcondition in this session. - Work the story.
- When the story is complete (and for the final story, after the full quality gate), share back a snapshot of the active
/goalstate and callcheckpoint.
3. Checkpoint a story:
omc ultragoal checkpoint --goal-id G001-... --status complete \
--evidence "tests/files/PR evidence" \
--claude-goal-json '{"goal":{"objective":"...","status":"active"}}'For the final story, also pass --quality-gate-json containing aiSlopCleaner, verification, and codeReview evidence (all clean).
4. If the final review is not clean, do NOT mark complete. Record blockers:
omc ultragoal record-review-blockers --goal-id G00X-... \
--title "Resolve final code-review blockers" \
--objective "Fix the listed review findings and rerun final gates" \
--evidence "<the review findings>" \
--claude-goal-json '{"goal":{"objective":"...","status":"active"}}'This appends a new blocker story and keeps the Claude /goal active.
5. Inspect state at any time:
omc ultragoal status</How_To_Use>
<Important_Limitations>
- The shell cannot invoke or mutate Claude Code
/goalstate.omc ultragoalonly persists durable artifacts and prints instructions that the active Claude agent reads and acts on in-session. - Snapshots passed via
--claude-goal-jsonare model-supplied proof of the active/goalstate; OMC validates them for textual consistency with the plan's expected objective and ledger event, but it cannot independently observe Claude/goalstate. - If the Claude
/goalslash command is renamed or restructured, only the handoff wording needs to change; the reconciliation logic is name-agnostic.
</Important_Limitations>