mcpField
W
webup-statusline

webup-statusline

github.com/webupエージェントワークフロー1341.4k 回インストール16 週間前に更新
リポジトリ

webup-statusline について

Claude Code 用のステータスラインスクリプトを生成し、インストールするスキルです。列とテーマを選び、ターミナルでセッション、コンテキスト、Git の情報を確認できます。

主な機能

  1. 01表示する列の選択
  2. 024 種類のカラーテーマ
  3. 03残りコンテキスト量の色分け
  4. 04モデル、コスト、Git 情報の表示
  5. 05Bash スクリプトの生成とインストール

活用シーン

  1. 01セッションの残りコンテキスト確認
  2. 02ステータスラインでモデルと費用を表示
  3. 03現在のブランチとワークツリーの確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/webup/skills-cc --skill webup-statusline

インストール後、Claude Code で/webup-statuslineを入力して読み込まれたか確認します。

同梱ファイルscripts/generate.mjs

詳細

ステータスラインジェネレーター

表示する列とカラーテーマを選んで、Claude Code のカスタムステータスラインスクリプトを生成します。~/.claude/settings.json に直接インストールします。

仕組み

Claude Code は、~/.claude/settings.json で設定したシェルスクリプトを使って、カスタムステータスラインを表示できます。スクリプトは標準入力からセッションの JSON(モデル、コンテキストウィンドウ、ワークスペース、vim、worktree など)を受け取り、整形したテキストを標準出力に出力します。

このスキルは、ユーザーの希望に合わせて bash スクリプトを生成し、自動的にインストールします。

スクリプトディレクトリ

重要:すべてのスクリプトは、このスキルの scripts/ サブディレクトリにあります。

エージェントの実行手順:

  1. この SKILL.md ファイルのディレクトリパスを SKILL_DIR として特定します
  2. スクリプトのパス = ${SKILL_DIR}/scripts/<script-name>.mjs
  3. このドキュメント内のすべての ${SKILL_DIR} を実際のパスに置き換えます

スクリプトの参照先:

スクリプト目的
scripts/generate.mjs選択したオプションからステータスラインスクリプトを生成してインストール

前提条件

  • jq — Claude Code からの JSON 入力を解析するために、生成されるステータスラインスクリプトで必要です。Windows では、WinGet または scoop でインストールされた jq をスクリプトが自動検出します。jq が見つからない場合は、ディレクトリを手動で PATH に追加してください。
  • Bun — ジェネレーターの実行に必要です。グローバルにインストールされていない場合は、npx -y bun を使用してください。

使用方法

# Preview generated script
npx -y bun ${SKILL_DIR}/scripts/generate.mjs --elements model,context,effort,git,dir --theme gruvbox

# Generate and install
npx -y bun ${SKILL_DIR}/scripts/generate.mjs --elements model,context,effort,git,dir --theme dracula --install
オプション
フラグデフォルト説明
--elements <list>model,context,cost,effort,style,git,dir表示する列をカンマ区切りで指定
--theme <name>gruvboxカラーテーマ — 下の表を参照
--effort-icon <preset>アイコン付きテーマでは arrow(↯)、それ以外ではなしeffort の接頭アイコンを上書きします。プリセット:arrow、bolt、flash、reason、dot、none。任意の文字も指定できます。
--installオフスクリプトを ~/.claude/scripts/statusline.sh に書き込み、settings.json を更新
列
列説明データソース
modelアクティブなモデル名(例:「Opus 4.7」)model.display_name
contextプログレスバー + パーセンテージ — 残り容量に応じて色が変化context_window.remaining_percentage
costセッションの API 使用額をゴールドで $X.XX 形式に表示 — $0.00 に丸められる場合は非表示入力 JSON の cost.total_cost_usd
effort推論 effort レベル — レベルに応じて色が変化~/.claude/settings.local.json → ~/.claude/settings.json の effortLevel
style出力スタイル名(例:Explanatory、Learning) — 「default」の場合は非表示入力 JSON の output_style.name
gitGit ブランチ名(変更がある場合は黄色)worktree.branch → git CLI
dirリポジトリのベース名(worktree 内では元のリポジトリ)worktree.original_repo_dir → workspace.current_dir
worktree太字の worktree:<id> ラベル(worktree の外では非表示)worktree.name → git CLI による親ディレクトリのベース名
vimVim モードインジケーター(非アクティブ時は非表示)vim.mode
色が変化する要素

context — バーの塗りつぶしとパーセンテージの色は、残り容量に応じて変化します:

残り容量色意味
> 50%緑コンテキストに十分な余裕があります
20–50%黄色注意が必要です
< 20%赤ほぼ上限です — 早めに compact してください

effort — 値と任意の接頭アイコンの色は、レベルに応じて変化します:

レベル色
max、xhigh、high太字の赤
medium黄色
low、xlow、minimal緑
その他/未設定薄い表示(完全に未設定の場合は非表示)
Themes
ThemeVibeIcons rendered in bar
gruvboxWarm retro, muted✦ model · ↯ effort · ❋ style · ⌂ dir · ⊕ worktree · ⎇ git · ⌨ vim
draculaModern dark, high saturation◈ model · ↯ effort · ❋ style · ⌂ dir · ⊕ worktree · ⎇ git · ⌨ vim
robbyrussellClassic oh-my-zshno prefix icons — colors + labels only
minimalDefault terminal colorsno prefix icons — plain text

The context column intentionally skips a prefix icon — the colored progress bar is already visually rich. The effort prefix (↯) is baked into iconic themes and can be overridden with --effort-icon.

Effort icons

Pass --effort-icon <preset> to swap the glyph in front of the effort value. Presets:

PresetGlyphNotes
arrow↯Electric arrow — default, narrow
boltϟGreek koppa — narrow lightning
flash⚡Classic lightning — wide in emoji-presentation fonts
reason∴Therefore
dot◉Filled circle
none(hidden)Drop the icon entirely

You can also pass any raw character as --effort-icon <char>.

Worktree behavior: When inside a git worktree (detected via the input JSON's worktree.* fields or via git rev-parse --git-common-dir fallback), the worktree column shows a bold worktree:<id> label using the parent dir name (e.g. ~/.codex/worktrees/46a6/clawmaster → worktree:46a6). The git column prefers worktree.branch from the input JSON; the dir column prefers worktree.original_repo_dir so the repo identity stays stable across worktrees.

Invocation

This skill can be invoked with or without arguments:

  • No args (/webup-statusline): Interactive prompt via AskUserQuestion to pick columns and theme.
  • With args (/webup-statusline dracula): NLP parse for theme and column preferences.
Arg parsing (natural language)

The args string is free-form text. Use NLP to extract:

  1. theme — match against: gruvbox, robbyrussell, minimal, dracula. Recognize aliases (暗黑=dracula, 极简=minimal, 复古=gruvbox, レトロ=gruvbox).
  2. elements — look for mentions of: model, context/进度/コンテキスト, effort/推理强度/努力度, git/分支/ブランチ, dir/目录/ディレクトリ, worktree/工作树/ワークツリー, vim.

Unspecified fields use defaults: model,context,effort,git,dir columns, gruvbox theme.

ワークフロー

  1. 引数が指定されていない場合:AskUserQuestion を使用して、1 回のプロンプトで 2 つの質問をします。AskUserQuestion では質問ごとの選択肢が 4 つまでなので、網羅的な切り替えリストではなく、厳選した列のプリセットを提示してください。ユーザーが「Other」を選んだ場合は、自由入力をカンマ区切りの列リスト(または対応する自然言語の説明)として解釈します。

    Q1 — 列のプリセット(単一選択):表示する列を選んでください。厳選した次の 3 つのプリセットを提示します。AskUserQuestion により、列リストや説明を自由入力できる「Other」オプションが自動的に追加されます。

    • 「Everything (Recommended)」— model,context,cost,effort,style,git,dir,worktree(現時点で有用な情報があるすべての列。ほとんどのユーザーは vim キーバインドを使用しないため、vim は除外します)
    • 「Default」— model,context,effort,style,git,dir(バランス重視。cost と worktree を除外し、スキルのデフォルトのフラグ値に一致します)
    • 「Essentials」— model,context,git,dir(シンプルな構成。effort、style、cost は含みません)

    ユーザーが自動追加された「Other」を選んだ場合は、自由入力をカンマ区切りの列リスト、または列に対応する自然言語の説明として扱います。解析が曖昧な場合は、Default にフォールバックします。

    Q2 — テーマ(単一選択):配色テーマを選んでください。

    • 「Dracula」— モダンなダークテーマ。パープル、ピンク、シアン(推奨)
    • 「Gruvbox Dark」— 温かみのあるレトロな配色。24 ビットのトゥルーカラー
    • 「Robbyrussell」— クラシックな oh-my-zsh スタイル。アイコンなし
    • 「Minimal」— 装飾なし。区切り線のみを暗く表示

    引数が指定されている場合:引数からテーマと列を解析します。プロンプトは表示しません。

  2. ユーザーの選択をスクリプトのフラグに対応付けます。

    • 列のプリセット → プリセットの標準 --elements リストに展開します。
      • Everything → model,context,cost,effort,style,git,dir,worktree
      • Default → model,context,effort,style,git,dir
      • Essentials → model,context,git,dir
      • Other(AskUserQuestion によって自動追加)→ 自由入力を解析し、認識される列名(model,context,cost,effort,style,dir,worktree,git,vim)のみを使用します。解析が曖昧な場合は、Default にフォールバックします。
    • テーマ → --theme の値(gruvbox、dracula、robbyrussell、minimal のいずれか)
  3. --install を指定してジェネレーターを実行します。

    npx -y bun ${SKILL_DIR}/scripts/generate.mjs --elements <list> --theme <theme> --install
    
  4. 新しいステータスラインを表示するには、Claude Code を再起動するようユーザーに伝えます。

出力例

Dracula(すべての列)、残量=49%、コスト=$0.42、effort=high、出力スタイル=Explanatory、worktree 内:

◈ Opus 4.7 | [■■■■■■■■■■□□□□□□□□□□] 51% | $0.42 | ↯ high | ❋ Explanatory | ⌂ clawmaster | ⊕ worktree:46a6 | ⎇ feat/xyz

(バーは黄色 — 残量 49%。$0.42 のセッション支出額はゴールドでバーの横に表示されます。effort の「high」は太字の赤。パープルの ❋ Explanatory は effort と dir の間に表示されます。コンテキストには接頭辞アイコンがありません — バーだけで十分視覚的に表現されています)

Gruvbox Dark(model + context + effort + dir + git)、残量=88%、effort=medium:

✦ Opus 4.7 | [■■□□□□□□□□□□□□□□□□□□] 12% | ↯ medium | ⌂ skills-cc | ⎇ main

(バーは緑 — 残量 88%。effort の「medium」は黄色)

Minimal(model + effort + dir + git)、effort=low:

Claude Opus 4.7 · low · skills-cc · main

(Minimal では接頭辞アイコンはありません。effort の「low」は緑)

注記

  • 生成されたスクリプトは ~/.claude/scripts/statusline.sh に保存されます。
  • スキルを再実行すると既存のスクリプトが上書きされます。テーマや列を変更するには、再実行してください。
  • スクリプトは JSON 入力の解析に jq を使用します。インストールされていることを確認してください。Windows では、スクリプトが WinGet と scoop の jq パスを自動検出します。それでも jq が見つからない場合は、手動で PATH に追加してください。
  • Git の変更検出では、ほかの git 操作への干渉を避けるために --no-optional-locks を使用します。

コメント