Communitygithub.com

HUD

Konfiguriere die OMC HUD-Anzeigeoptionen (Layout, Presets, Anzeigeelemente)

Was ist HUD?

Dieser Skill ermöglicht die Konfiguration des Heads-Up Displays (HUD) für die Statusleiste in Claude Code, bereitgestellt über das oh-my-claudecode Plugin. Er bietet drei vordefinierte Presets – Minimal, Fokussiert (Standard) und Voll – die jeweils unterschiedliche Detailstufen anzeigen, von einfachen Metadaten bis hin zu detaillierten Multi-Line-Agenteninformationen. Der Skill unterstützt die automatische Einrichtung des HUD-Skripts und der Einstellungen, die Migration von Legacy-String-Formaten und die Kompatibilität mit Node 24+. Über JSON-Konfiguration können einzelne Anzeigeelemente, Schwellenwerte für Warnungen und das Format der Agentenanzeige feinabgestimmt werden. Das HUD aktualisiert sich automatisch alle ~300ms während aktiver Sitzungen und bietet farbcodierte Statusanzeigen für Kontextnutzung, Ralph-Iterationen und andere Metriken.

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

In Ihrer bevorzugten KI fragen

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

Dokumentation

HUD Skill

Konfiguriere das OMC HUD (Heads-Up Display) für die Statusleiste.

Hinweis: Alle Pfade mit ~/.claude/... in dieser Anleitung berücksichtigen CLAUDE_CONFIG_DIR, sofern diese Umgebungsvariable gesetzt ist.

Schnellbefehle

BefehlBeschreibung
/oh-my-claudecode:hudAktuellen HUD-Status anzeigen (automatische Einrichtung falls nötig)
/oh-my-claudecode:hud setupHUD-Statusleiste installieren/reparieren
/oh-my-claudecode:hud minimalAuf minimale Anzeige umschalten
/oh-my-claudecode:hud focusedAuf fokussierte Anzeige umschalten (Standard)
/oh-my-claudecode:hud fullAuf vollständige Anzeige umschalten
/oh-my-claudecode:hud statusDetaillierten HUD-Status anzeigen

Automatische Einrichtung

Wenn du /oh-my-claudecode:hud oder /oh-my-claudecode:hud setup ausführst, wird das System automatisch:

  1. Prüfen, ob ~/.claude/hud/omc-hud.mjs existiert
  2. Prüfen, ob statusLine in ~/.claude/settings.json konfiguriert ist
  3. Falls fehlend, das HUD-Wrapper-Skript erstellen und die Einstellungen konfigurieren
  4. Status melden und zum Neustart von Claude Code auffordern, falls Änderungen vorgenommen wurden

WICHTIG: Wenn das Argument setup ist ODER das HUD-Skript nicht unter ~/.claude/hud/omc-hud.mjs existiert, MUSST du die HUD-Dateien direkt mit den folgenden Anweisungen erstellen.

Einrichtungsanweisungen (Führe diese Befehle aus)

Schritt 1: Prüfen, ob die Einrichtung benötigt wird:

node -e "const p=require('path'),f=require('fs'),d=process.env.CLAUDE_CONFIG_DIR||p.join(require('os').homedir(),'.claude');console.log(f.existsSync(p.join(d,'hud','omc-hud.mjs'))?'EXISTS':'MISSING')"

Schritt 2: Überprüfen, ob das Plugin installiert ist:

node -e "const p=require('path'),f=require('fs'),d=process.env.CLAUDE_CONFIG_DIR||p.join(require('os').homedir(),'.claude'),b=p.join(d,'plugins','cache','omc','oh-my-claudecode');try{const v=f.readdirSync(b).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));if(v.length===0){console.log('Plugin nicht installiert - ausführen: /plugin install oh-my-claudecode');process.exit()}const l=v[v.length-1],h=p.join(b,l,'dist','hud','index.js');console.log('Version:',l);console.log(f.existsSync(h)?'BEREIT':'NICHT_GEFUNDEN - versuche Neuinstallation: /plugin install oh-my-claudecode')}catch{console.log('Plugin nicht installiert - ausführen: /plugin install oh-my-claudecode')}"

Schritt 3: Falls omc-hud.mjs FEHLT oder das Argument setup ist, installiere den HUD-Wrapper und seine Abhängigkeit aus der kanonischen Vorlage:

HUD_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hud"
mkdir -p "$HUD_DIR/lib"
cp "${CLAUDE_PLUGIN_ROOT}/scripts/lib/hud-wrapper-template.txt" "$HUD_DIR/omc-hud.mjs"
cp "${CLAUDE_PLUGIN_ROOT}/scripts/lib/config-dir.mjs" "$HUD_DIR/lib/config-dir.mjs"

WICHTIG: Kopiere immer aus der kanonischen Vorlage unter scripts/lib/hud-wrapper-template.txt. Schreibe den Wrapper-Inhalt NICHT inline – die Vorlage ist die alleinige Quelle der Wahrheit und wird durch Drift-Tests geschützt (src/__tests__/hud-wrapper-template-sync.test.ts, src/__tests__/paths-consistency.test.ts).

Schritt 4: Als ausführbar markieren (nur Unix, unter Windows überspringen):

node -e "if(process.platform==='win32'){console.log('Übersprungen (Windows)')}else{require('fs').chmodSync(require('path').join(process.env.CLAUDE_CONFIG_DIR||require('path').join(require('os').homedir(),'.claude'),'hud','omc-hud.mjs'),0o755);console.log('Erledigt')}"

Schritt 5: settings.json aktualisieren, um das HUD zu verwenden:

Lese ${CLAUDE_CONFIG_DIR:-~/.claude}/settings.json und aktualisiere/ergänze das Feld statusLine.

WICHTIG: Verwende kein ~ im Befehl. Unter Unix verwende $HOME, um den Pfad maschinenunabhängig zu halten. Unter Windows verwende einen absoluten Pfad, da Windows ~ in Shell-Befehlen nicht expandiert.

Wenn du auf Windows bist, ermittle zuerst den korrekten Pfad:

node -e "const p=require('path').join(require('os').homedir(),'.claude','hud','omc-hud.mjs').split(require('path').sep).join('/');console.log(JSON.stringify(p))"

WICHTIG: Der Befehlspfad MUSS auf allen Plattformen Vorwärtsschrägstriche verwenden. Claude Code führt statusLine-Befehle über bash aus, das Rückwärtsschrägstriche als Escape-Zeichen interpretiert und den Pfad beschädigt.

Setze dann das Feld statusLine. Auf Unix sollte es portabel bleiben und so aussehen:

{
  "statusLine": {
    "type": "command",
    "command": "node ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hud/omc-hud.mjs"
  }
}

Auf Windows verwendet der Pfad Vorwärtsschrägstriche (keine Rückwärtsschrägstriche):

{
  "statusLine": {
    "type": "command",
    "command": "node C:/Users/username/.claude/hud/omc-hud.mjs"
  }
}

Verwende das Bearbeitungswerkzeug, um dieses Feld hinzuzufügen/zu aktualisieren, während andere Einstellungen erhalten bleiben.

Schritt 6: Alte HUD-Skripte bereinigen (falls vorhanden):

node -e "const p=require('path'),f=require('fs'),d=process.env.CLAUDE_CONFIG_DIR||p.join(require('os').homedir(),'.claude'),t=p.join(d,'hud','omc-hud.js');try{if(f.existsSync(t)){f.unlinkSync(t);console.log('Altes omc-hud.js entfernt')}else{console.log('Kein altes Skript gefunden')}}catch{}"

Schritt 7: Teile dem Benutzer mit, dass er Claude Code neu starten muss, damit die Änderungen wirksam werden.

Anzeige-Presets

Minimal

Zeigt nur das Wesentliche:

[OMC] ralph | todos:2/5

Fokussiert (Standard)

Zeigt alle relevanten Elemente:

[OMC] branch:main | ralph:3/10 | US-002 | skill:planner | ctx:67% | agents:2 | bg:3/5 | todos:2/5

Voll

Zeigt alles, einschließlich mehrzeiliger Agentendetails:

[OMC] repo:oh-my-claudecode branch:main | ralph:3/10 | US-002 (2/5) | ctx:[████░░]67% | agents:3 | bg:3/5 | todos:2/5
├─ O architect    2m   Analysiere Architekturmuster...
├─ e explore     45s   Suche nach Testdateien
└─ s executor     1m   Implementiere Validierungslogik

Mehrzeilige Agentenanzeige

Wenn Agenten ausgeführt werden, zeigt das HUD detaillierte Informationen in separaten Zeilen:

  • Baumzeichen (├─, └─) zeigen die visuelle Hierarchie
  • Agentencode (O, e, s) gibt den Agententyp mit Modellstufenfarbe an
  • Dauer zeigt an, wie lange jeder Agent bereits läuft
  • Beschreibung zeigt, was jeder Agent tut (max. 45 Zeichen)

Anzeigeelemente

ElementBeschreibung
[OMC]Moduskennung
repo:nameGit-Repository-Name (cyan)
branch:nameGit-Branch-Name (cyan)
ralph:3/10Ralph-Schleifeniteration/-maximum
US-002Aktuelle PRD-Story-ID
skill:nameZuletzt aktivierter Skill (cyan)
ctx:67%Kontextfensternutzung
agents:2Anzahl laufender Unteragenten
bg:3/5Hintergrundaufgaben-Slots
todos:2/5Todo-Erfüllung

Farbcodierung

  • Grün: Normal/Gesund
  • Gelb: Warnung (Kontext >70 %, ralph >7)
  • Rot: Kritisch (Kontext >85 %, ralph am Maximum)

Konfigurationsort

Die HUD-Konfiguration wird in ~/.claude/settings.json unter dem Schlüssel omcHud gespeichert (oder in deinem benutzerdefinierten Konfigurationsverzeichnis, falls CLAUDE_CONFIG_DIR gesetzt ist).

Legacy-Konfigurationsort (veraltet): ~/.claude/.omc/hud-config.json

Manuelle Konfiguration

Du kannst die Konfigurationsdatei manuell bearbeiten. Jede Option kann einzeln gesetzt werden – nicht gesetzte Werte verwenden Standardwerte.

{
  "preset": "focused",
  "elements": {
    "omcLabel": true,
    "updateNotification": true,
    "ralph": true,
    "autopilot": true,
    "prdStory": true,
    "activeSkills": true,
    "lastSkill": true,
    "contextBar": true,
    "agents": true,
    "agentsFormat": "multiline",
    "backgroundTasks": true,
    "todos": true,
    "thinking": true,
    "thinkingFormat": "text",
    "permissionStatus": false,
    "apiKeySource": false,
    "profile": true,
    "promptTime": true,
    "sessionHealth": true,
    "useBars": true,
    "showCallCounts": true,
    "callCountsFormat": "auto",
    "safeMode": true,
    "maxOutputLines": 4
  },
  "thresholds": {
    "contextWarning": 70,
    "contextCompactSuggestion": 80,
    "contextCritical": 85,
    "ralphWarning": 7
  },
  "staleTaskThresholdMinutes": 30,
  "contextLimitWarning": {
    "threshold": 80,
    "autoCompact": false
  }
}

callCountsFormat

Steuert den Stil des Aufrufzählungs-Badge-Symbols:

  • "auto" (Standard): Emoji auf macOS/Linux, ASCII auf Windows/WSL
  • "emoji": erzwinge 🔧 🤖 ⚡
  • "ascii": erzwinge T: A: S:

safeMode

Wenn safeMode auf true gesetzt ist (Standard), entfernt das HUD ANSI-Codes und verwendet reine ASCII-Ausgabe, um eine Beschädigung der Terminaldarstellung bei gleichzeitigen Aktualisierungen zu verhindern. Dies ist besonders wichtig unter Windows und bei Verwendung von Terminal-Multiplexern.

agentsFormat-Optionen

  • count: agents:2
  • codes: agents:Oes (typkodiert mit Groß-/Kleinschreibung der Modellstufe)
  • codes-duration: agents:O(2m)es (Codes mit Dauer)
  • detailed: agents:[architect(2m),explore,exec]
  • descriptions: O:Analysiere Code | e:Durchsuche (Codes + was sie tun)
  • tasks: [Analysiere Code, Durchsuche...] (nur Beschreibungen)
  • multiline: Mehrzeilige Anzeige mit vollständigen Agentendetails in separaten Zeilen

Fehlerbehebung

Wenn das HUD nicht angezeigt wird:

  1. Führe /oh-my-claudecode:hud setup aus, um automatisch zu installieren und zu konfigurieren
  2. Starte Claude Code nach Abschluss der Einrichtung neu
  3. Falls es immer noch nicht funktioniert, führe /oh-my-claudecode:omc-doctor für eine vollständige Diagnose aus

Migration des Legacy-String-Formats: Ältere OMC-Versionen haben statusLine als einfachen String geschrieben (z. B. "~/.claude/hud/omc-hud.mjs"). Modernes Claude Code (v2.1+) erfordert ein Objektformat. Durch Ausführen des Installers oder /oh-my-claudecode:hud setup werden Legacy-Strings automatisch in das korrekte Objektformat migriert:

{
  "statusLine": {
    "type": "command",
    "command": "node ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hud/omc-hud.mjs"
  }
}

Node 24+ Kompatibilität: Das HUD-Wrapper-Skript importiert homedir aus node:os (nicht node:path). Falls du einen SyntaxError: The requested module 'path' does not provide an export named 'homedir' erhältst, führe den Installer erneut aus, um omc-hud.mjs neu zu generieren.

Manuelle Überprüfung:

  • HUD-Skript: ~/.claude/hud/omc-hud.mjs
  • Einstellungen: ~/.claude/settings.json sollte statusLine als Objekt mit den Feldern type und command konfiguriert haben

Das HUD aktualisiert sich während aktiver Sitzungen automatisch alle ~300ms.

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.

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

omc-doctor

Diagnose and fix oh-my-claudecode installation issues

Verwandte Skills