Communitygithub.com

ultragoal

Dauerhafter Multi-Goal-Workflow, der Plan-/Sachkonten-Artefakte unter .omc/ultragoal speichert und für die aktive Sitzung einen Claude /goal-Übergabetext ausgibt.

Was ist ultragoal?

Ultragoal ist ein Skill für Claude Code, Cursor und Codex, der eine dauerhafte, repositoreiigene Möglichkeit bietet, umfangreiche Arbeitsabläufe mit mehreren Zielen über mehrere Sitzungen hinweg zu verfolgen. Er zerlegt ein Briefing in eine geordnete Menge von Zielen, zeichnet Start-/Checkpoint-/Blocker-/Fehlerereignisse in einem dauerhaften, append-only Ledger auf und gibt dem aktiven Claude-Agenten einen modellseitigen Übergabetext aus, der diesen anweist, den nativen `/goal`-Befehl von Claude Code zu nutzen. Der Skill selbst kann den `/goal`-Zustand nicht direkt aus der Shell setzen – er persistiert nur Artefakte im Repository und verlässt sich darauf, dass der Agent die Übergabe innerhalb der Sitzung interpretiert und umsetzt. Dies macht Ultragoal besonders nützlich für langlaufende Initiativen, bei denen der Fortschritt Sitzungsneustarts, Worktree-Wechsel und mehrere Review-Iterationen überstehen muss. Er unterstützt parallele Sitzungen in Multi-Repo-Workspaces durch separate Plan-IDs und bietet eine optionale Qualitätsschranke mit KI-Slop-Reinigung, Verifikation und Code-Review vor der endgültigen Fertigstellung.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/ultragoal

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

<Verwende_Wenn>

  • Der Benutzer eine dauerhafte, repositoreiigene Möglichkeit wünscht, ein Ultragoal über mehrere Claude-Sitzungen oder Worktrees hinweg zu verfolgen.
  • Die Arbeit umfangreich genug ist, um mehrere geordnete „Stories" mit Versuchszahlen und Nachweisen pro Story zu rechtfertigen.
  • Der Benutzer den endgültigen Abschluss hinter einer ai-slop-cleaner + Verifikation + $code-review Hürde haben möchte.
  • Der Benutzer wünscht, dass die aktive Claude /goal-Direktive mit dem Ledger abgestimmt ist, sodass ein Sitzungsneustart keinen Fortschritt verliert. </Verwende_Wenn>

<Verwende_Nicht_Wenn>

  • Die Aufgabe eine einzelne kleine Änderung ist – verwende stattdessen direkte Delegation oder ralph.
  • Der Benutzer möchte, dass der Assistent /goal buchstäblich aus der Shell aufruft – das ist nicht möglich; omc ultragoal schreibt nur Artefakte und gibt Übergabetext aus.
  • Der Benutzer ein reines Planungsartefakt ohne Ausführungsschleife wünscht – verwende stattdessen plan. </Verwende_Nicht_Wenn>

<Warum_Dies_Existiert> Claude Code /goal ist ein sitzungsspezifischer Stop-Hook: Er blockiert das Beenden der Sitzung, bis eine Bedingung erfüllt ist, und löscht sich bei Erfolg automatisch. Das ist ein großartiges primitives Element für die Ausführung in einer einzelnen Sitzung, verliert aber den Zustand sitzungsübergreifend und erzwingt an sich keine abschließende Review-Hürde. omc ultragoal fügt einen dauerhaften Plan, ein Ledger und eine Hürdenschicht hinzu, sodass eine lange, mehrschrittige Initiative Sitzungsneustarts, neue Worktrees und Review-Iterationen überstehen kann, während gleichzeitig Claude /goal genutzt wird, um den aktiven Agenten fokussiert zu halten. </Warum_Dies_Existiert>

<Wie_Man_Es_Verwendet>

  1. Erstelle einen Plan aus einem Briefing:

    omc ultragoal create-goals --brief-file plan.md
    

    Oder mit expliziten Stories:

    omc ultragoal create-goals --brief "ship the migration" \
      --goal "Schema::Neue Spalten hinzufügen" \
      --goal "Backfill::Zeilen batchweise nachfüllen" \
      --goal "Cutover::Alte Spalten löschen und Lesezugriffe umstellen"
    

    Der Standardmodus ist aggregate (ein Claude /goal deckt den gesamten Durchlauf ab). Übergib --claude-goal-mode per-story, wenn jede Story ihr eigenes /goal haben soll.

    Multi-Repo-Workspaces / parallele Sitzungen: Wenn mehrere Claude-Sitzungen im selben Workspace /ultragoal gleichzeitig ausführen müssen, übergib entweder --plan-id <stabile-id> oder --auto-plan-id, damit der Plan in .omc/ultragoal/plans/{planId}/ statt im gemeinsamen Einzelplan-Pfad abgelegt wird. Ohne dieses Flag würden sich zwei Sitzungen, die Ziele erstellen, gegenseitig überschreiben. --auto-plan-id leitet {epochMs}-{slug} aus dem Briefingtitel ab. Verwende dann in allen nachfolgenden Unterbefehlen derselben Sitzung --plan-id <id>. Verwende omc ultragoal list-plans, um bei Bedarf verfügbare planIds aufzulisten.

  2. Starte (oder setze fort) die nächste Story:

    omc ultragoal complete-goals [<goal-id>]
    

    Ohne Ziel-ID wird das Standardverhalten beibehalten: die aktive Story fortsetzen oder die erste ausstehende Story starten. Mit einer Ziel-ID zielt OMC genau auf diese benannte berechtigte Story ab (eine ausstehende Story kann außer der Reihe gestartet werden); sie fällt nie auf eine andere Story zurück. Eine aktive andere Story, unbekannte ID, abgeschlossene oder durch Review blockierte Story oder fehlgeschlagene Story ohne --retry-failed wird ohne Zustandsänderung abgelehnt. Eine laufende benannte Story wird ohne Änderung der Versuchszahl fortgesetzt. Dies gibt eine modellseitige Übergabe aus. Der aktive Claude-Agent muss sie lesen und:

    • Das native Claude /goal für diese Sitzung setzen – im eigenständigen Claude Code kann weder die Shell noch der Agent das tun, also bitte den Benutzer, /goal <Gesamtziel> einzugeben und zu warten. --claude-goal-json (unten) gleicht nur das Ledger ab und erfüllt nicht die PreToolUse /goal-Hürde, die Tool-Aufrufe blockiert, bis sie ein aktives /goal feststellt.
    • Die Story bearbeiten.
    • Wenn die Story abgeschlossen ist (und bei der letzten Story nach der vollständigen Qualitätshürde), einen Snapshot des aktiven /goal-Zustands zurückmelden und checkpoint aufrufen.
  3. Setze einen Checkpoint für eine Story:

    omc ultragoal checkpoint --goal-id G001-... --status complete \
      --evidence "tests/files/PR evidence" \
      --claude-goal-json '{"goal":{"objective":"...","status":"active"}}'
    

    Für die letzte Story übergib zusätzlich --quality-gate-json mit aiSlopCleaner, verification und codeReview-Nachweisen (alle sauber).

  4. Wenn die abschließende Überprüfung nicht sauber ist, markiere NICHT als abgeschlossen. Zeichne Blocker auf:

    omc ultragoal record-review-blockers --goal-id G00X-... \
      --title "Lösche finale Code-Review-Blocker" \
      --objective "Behebe die genannten Review-Feststellungen und führe die finalen Hürden erneut aus" \
      --evidence "<die Review-Feststellungen>" \
      --claude-goal-json '{"goal":{"objective":"...","status":"active"}}'
    

    Dies fügt eine neue Blocker-Story an und hält das Claude /goal aktiv.

  5. Überprüfe den Zustand jederzeit:

    omc ultragoal status
    

</Wie_Man_Es_Verwendet>

<Wichtige_Einschränkungen>

  • Die Shell kann den Claude Code /goal-Zustand weder aufrufen noch ändern. omc ultragoal persistiert nur dauerhafte Artefakte und gibt Anweisungen aus, die der aktive Claude-Agent liest und innerhalb der Sitzung umsetzt.
  • Snapshots, die über --claude-goal-json übergeben werden, sind vom Modell gelieferte Nachweise des aktiven /goal-Zustands; OMC validiert sie auf textuelle Konsistenz mit dem erwarteten Ziel des Plans und dem Ledger-Ereignis, kann aber den Claude /goal-Zustand nicht unabhängig beobachten. Sie erfüllen nicht die PreToolUse /goal-Hürde, die ein tatsächlich aktives /goal erfordert – einen hostinjizierten Snapshot oder das native /goal, das der Benutzer in der Sitzung gesetzt hat.
  • Wenn der Claude /goal-Slash-Befehl umbenannt oder umstrukturiert wird, muss nur der Übergabetext geändert werden; die Abgleichslogik ist namensunabhängig. </Wichtige_Einschränkungen>

Hinweise zu parallelen Sitzungen

  • Multi-Repo-Workspace-Anker: platziere einen .omc-workspace-Marker im übergeordneten Verzeichnis, sodass mehrere Sitzungen in Unter-Repos ein gemeinsames .omc/ teilen. Auflösungsreihenfolge: OMC_STATE_DIR > .omc-workspace > git > cwd. Siehe docs/REFERENCE.md.
  • Quelle der Sitzungs-ID: OMC_SESSION_ID-Umgebungsvariable gewinnt in CLI-Kontexten; hook payload data.session_id gewinnt in Hook-Kontexten.
  • Plan-ID (falls zutreffend): Zwei Durchläufe im selben Workspace kollidieren bei gemeinsamen Plan-Artefakten. Verwende unterschiedliche Sitzungs-IDs (die Hook-Payload-Session-ID ist bereits pro Claude Code-Sitzung isoliert) oder übergib --plan-id, um parallele Ultragoal-Läufe auf getrennten Ledgern zu halten.
  • Paralleles Urteil: unterstützt (jede Sitzung schreibt ihren eigenen sitzungsspezifischen Zustand).

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

agent-doc-discipline

Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and carrying a why, steps before reference, one meaning in one home, no restating what the environment already says. Mandatory at drydock seed generation and the launch C5 sediment pass; opt-in for any other agent-facing doc edit. The companion of minimal-code-discipline: that one disciplines code, this one disciplines papers.

ai-slop-cleaner

Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode

ask

Process-first advisor routing for Claude, Codex, Gemini, Antigravity, Grok, or Cursor via `omc ask`, with artifact capture and no raw CLI assembly

ask-navigator

Shipyard

autopilot

Full autonomous execution from idea to working code

autoresearch

Stateful single-mission improvement loop with strict evaluator contract, markdown decision logs, and max-runtime stop behavior

cancel

Cancel any active OMC mode (autopilot, ralph, ultragoal, swarm, ultrapilot, pipeline, team) and clean up retired legacy state

configure-notifications

Configure notification integrations (Telegram, Discord, Slack) via natural language

debug

Diagnose the current OMC session or repo state using logs, traces, state, and focused reproduction

deepinit

Deep codebase initialization with hierarchical AGENTS.md documentation

deep-interview

Socratic deep interview with mathematical ambiguity gating before explicit execution approval

drydock

Lay the keel of the shipyard harness in any repo — the 4-pillar shared environment (Context, Rules, Tools, Standards) across 5 surfaces (CLAUDE.md, skills, design-system, mcp/cli, shared context) so that every human and agent inherits the same design language and anyone can ship. Run once per repo; re-run with --check to audit drift.

execute

Carry an approved task through to working, verified code

external-context

Invoke parallel document-specialist agents for external web searches and documentation lookup

graph

Deterministic orchestration graph runtime - declarative DAG pipelines with journal-based crash recovery

harbor

Harbor intake for external work — the captain only handles unresolved decisions. Sweeps incoming issues and PRs, verifies every claim before disposition, reuses every decision already made, and hands the maintainer a docket whose pending items each carry one question with options, recommendation, impact and evidence. Agent-autonomous for facts and for actions covered by standing authorization; signed for every new judgment. Never merges.

hud

Configure HUD display options (layout, presets, display elements)

launch

Shipyard

loft

Loft the shape before cutting steel — answer a design question that prose cannot settle by building a throwaway artifact: a pure logic module in a clickable shell, or structurally different UI variants behind one route. The captain reacts to the artifact; the answer folds into the decision; the artifact never docks. Use when a design question stalls in words, when a navigator map carries a loft ticket, or when a spec discussion reaches

minimal-code-discipline

YAGNI-ladder coding discipline for writing changes — existence-first, reuse before writing, dependency ladder, shortest correct diff, with non-negotiables that must never be minimized away

Verwandte Skills