hud について
Claude Code の OMC ステータスライン HUD を設定するスキルです。状態の確認やインストール、修復に加え、表示プリセットを切り替えられます。
主な機能
- 01HUD 状態の確認
- 02ステータスラインの導入・修復
- 03簡易・集中・全表示レイアウトの切り替え
- 04ステータスライン項目の設定
- 05エージェントとタスク情報の表示
活用シーン
- 01現在の HUD 設定の確認
- 02Claude Code のステータスライン設定
- 03表示する情報量の調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yeachan-heo/ oh-my-claudecode --skill hudインストール後、Claude Code で/hudを入力して読み込まれたか確認します。
詳細
HUD スキル
ステータスラインの OMC HUD(ヘッドアップディスプレイ)を設定します。
注:このガイド内の ~/.claude/... パスは、環境変数 CLAUDE_CONFIG_DIR が設定されている場合、その値に従います。
クイックコマンド
| コマンド | 説明 |
|---|---|
/oh-my-claudecode:hud | 現在の HUD の状態を表示します(必要に応じて自動セットアップ) |
/oh-my-claudecode:hud setup | HUD ステータスラインをインストール/修復します |
/oh-my-claudecode:hud minimal | 最小表示に切り替えます |
/oh-my-claudecode:hud focused | フォーカス表示に切り替えます(デフォルト) |
/oh-my-claudecode:hud full | 全表示に切り替えます |
/oh-my-claudecode:hud status | HUD の詳細な状態を表示します |
自動セットアップ
/oh-my-claudecode:hud または /oh-my-claudecode:hud setup を実行すると、システムは自動的に次の処理を行います。
~/.claude/hud/omc-hud.mjsが存在するか確認します~/.claude/settings.jsonにstatusLineが設定されているか確認します- 設定が不足している場合は、HUD ラッパースクリプトを作成し、設定を行います
- 状態を報告し、変更があった場合は Claude Code の再起動を促します
重要:引数が setup の場合、または HUD スクリプト ~/.claude/hud/omc-hud.mjs が存在しない場合は、以下の手順に従って HUD ファイルを直接作成する必要があります。
セットアップ手順(以下のコマンドを実行)
ステップ 1: セットアップが必要か確認します。
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')"
ステップ 2: プラグインがインストールされていることを確認します。
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 not installed - run: /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)?'READY':'NOT_FOUND - try reinstalling: /plugin install oh-my-claudecode')}catch{console.log('Plugin not installed - run: /plugin install oh-my-claudecode')}"
ステップ 3: omc-hud.mjs が存在しない場合、または引数が setup の場合は、正規テンプレートから HUD ラッパーとその依存ファイルをインストールします。
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"
重要: 必ず scripts/lib/hud-wrapper-template.txt の正規テンプレートからコピーしてください。ラッパーの内容を直接記述してはいけません。テンプレートが唯一の信頼できる情報源であり、ドリフトテスト(src/__tests__/hud-wrapper-template-sync.test.ts、src/__tests__/paths-consistency.test.ts)によって整合性が確認されています。
ステップ 4: 実行可能にします(Unix のみ。Windows ではスキップします)。
node -e "if(process.platform==='win32'){console.log('Skipped (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('Done')}"
ステップ 5: HUD を使用するように settings.json を更新します。
${CLAUDE_CONFIG_DIR:-~/.claude}/settings.json を読み込み、statusLine フィールドを更新または追加します。
重要: コマンドで ~ を使用しないでください。Unix では、マシン間でパスの移植性を保つために $HOME を使用してください。Windows では、シェルコマンド内で ~ が展開されないため、絶対パスを使用してください。
Windows を使用している場合は、まず正しいパスを確認します。
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))"
重要: すべてのプラットフォームで、コマンドパスには必ずスラッシュを使用してください。Claude Code は bash 経由で statusLine コマンドを実行するため、バックスラッシュはエスケープ文字として解釈され、パスが壊れます。
次に、statusLine フィールドを設定します。Unix では、移植性を保つため次のようにします。
{
"statusLine": {
"type": "command",
"command": "node ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hud/omc-hud.mjs"
}
}
Windows では、パスにスラッシュを使用します(バックスラッシュではありません)。
{
"statusLine": {
"type": "command",
"command": "node C:/Users/username/.claude/hud/omc-hud.mjs"
}
}
他の設定を保持したままこのフィールドを追加または更新するには、Edit ツールを使用します。
ステップ 6: 古い HUD スクリプトがあれば削除します。
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('Removed legacy omc-hud.js')}else{console.log('No legacy script found')}}catch{}"
ステップ 7: 変更を反映するには Claude Code の再起動が必要であることをユーザーに伝えます。
表示プリセット
最小
必要な情報のみを表示します。
[OMC] ralph | todos:2/5
フォーカス(デフォルト)
関連する要素をすべて表示します。
[OMC] branch:main | ralph:3/10 | US-002 | skill:planner | ctx:67% | agents:2 | bg:3/5 | todos:2/5
全表示
複数行のエージェント詳細を含むすべての情報を表示します。
[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 analyzing architecture patterns...
├─ e explore 45s searching for test files
└─ s executor 1m implementing validation logic
複数行のエージェント表示
エージェントの実行中、HUD は詳細情報を個別の行に表示します。
- ツリー文字(
├─、└─)は視覚的な階層を示します - エージェントコード(O、e、s)は、モデル階層の色とともにエージェントの種類を示します
- 実行時間は各エージェントの実行時間を示します
- 説明は各エージェントが実行している内容を示します(最大 45 文字)
表示要素
| 要素 | 説明 |
|---|---|
[OMC] | モード識別子 |
repo:name | Git リポジトリ名(シアン) |
branch:name | Git ブランチ名(シアン) |
ralph:3/10 | Ralph ループの反復回数/最大回数 |
US-002 | 現在の PRD ストーリー ID |
skill:name | 最後に有効化されたスキル(シアン) |
effort:high | Claude Code の作業レベル(低は暗色、中はシアン、高は黄色、xhigh はマゼンタ、max は太字のマゼンタ) |
ctx:67% | コンテキストウィンドウの使用率 |
agents:2 | 実行中のサブエージェント数 |
bg:3/5 | バックグラウンドタスクのスロット数 |
todos:2/5 | Todo の完了状況 |
色分け
- 緑:通常/正常
- 黄:警告(コンテキスト >70%、ralph >7)
- 赤:重大(コンテキスト >85%、ralph が最大値)
設定の場所
HUD の設定は、~/.claude/settings.json の omcHud キーの下に保存されます(または、CLAUDE_CONFIG_DIR が設定されている場合は、カスタム設定ディレクトリに保存されます)。
旧設定の場所(非推奨):~/.claude/.omc/hud-config.json
手動設定
設定ファイルは手動で編集できます。各オプションは個別に設定できます。未設定の値にはデフォルトが適用されます。
{
"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",
"effort": true,
"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
呼び出し回数バッジのアイコンスタイルを制御します。
"auto"(デフォルト):macOS/Linux では絵文字、Windows/WSL では ASCII"emoji":🔧 🤖 ⚡を強制"ascii":T: A: S:を強制
safeMode
safeMode が true(デフォルト)の場合、HUD は ANSI コードを取り除き、ASCII のみの出力を使用して、同時更新中のターミナル表示の破損を防ぎます。これは特に Windows やターミナルマルチプレクサーを使用する場合に重要です。
agentsFormat のオプション
count:agents:2codes:agents:Oes(モデルのティアに応じた大文字・小文字を使用したタイプ別コード)codes-duration:agents:O(2m)es(所要時間付きコード)detailed:agents:[architect(2m),explore,exec]descriptions:O:analyzing code | e:searching(コードと実行中の内容)tasks:[analyzing code, searching...](説明のみ)multiline:エージェントの詳細をそれぞれ別の行に表示する複数行表示
トラブルシューティング
HUD が表示されない場合:
/oh-my-claudecode:hud setupを実行して、自動インストールと設定を行います- セットアップの完了後、Claude Code を再起動します
- それでも動作しない場合は、
/oh-my-claudecode:omc-doctorを実行して、完全な診断を行います
旧形式の文字列からの移行: 古い OMC バージョンでは、statusLine が通常の文字列(例:"~/.claude/hud/omc-hud.mjs")として書き込まれていました。最新の Claude Code(v2.1+)では、オブジェクト形式が必要です。インストーラーまたは /oh-my-claudecode:hud setup を実行すると、旧形式の文字列が正しいオブジェクト形式に自動で移行されます。
{
"statusLine": {
"type": "command",
"command": "node ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hud/omc-hud.mjs"
}
}
Node 24+ との互換性: HUD ラッパースクリプトは、node:path ではなく node:os から homedir をインポートします。SyntaxError: The requested module 'path' does not provide an export named 'homedir' が発生した場合は、インストーラーを再実行して omc-hud.mjs を再生成してください。
手動での確認:
- HUD スクリプト:
~/.claude/hud/omc-hud.mjs - 設定:
~/.claude/settings.jsonで、statusLineにtypeフィールドとcommandフィールドを持つオブジェクトが設定されていることを確認します
HUD はアクティブなセッション中、約300ミリ秒ごとに自動更新されます。