mcpField
S
statusline-setup

statusline-setup

github.com/b-open-ioエージェントワークフロー16107 回インストール4 週間前に更新
リポジトリ

statusline-setup について

Claude Code のステータスラインを設定するためのガイドです。シェルスクリプトと ccstatusline の手順を示し、モデル、Git、トークン、費用などの情報を表示する例を紹介します。

主な機能

  1. 01スクリプトまたはccstatuslineで設定
  2. 02モデル、ディレクトリ、Gitブランチを表示
  3. 03コンテキストのトークン使用量とセッション費用を表示
  4. 04ANSIカラーとPowerline形式を設定
  5. 05クリック可能なファイルリンクを追加

活用シーン

  1. 01Claude Codeのカスタムステータスラインを設定
  2. 02セッション中にモデルとトークン使用量を確認
  3. 03現在のブランチと作業ディレクトリを表示
  4. 04ターミナルでファイル名をクリック可能にする

インストール

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

$npx skills add https://github.com/b-open-io/prompts --skill statusline-setup

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
.clawnet/
unsigned-skill.json
examples/
ccstatusline-config.json
peacock-statusline.sh
simple-statusline.sh
references/
ccstatusline-guide.md
json-input-schema.md
scripting-patterns.md
scripts/
install-statusline.sh
restore-statusline.sh

詳細

ステータスラインの設定

Claude Code のステータスラインを作成、カスタマイズして、モデル名、Git ブランチ、トークン使用量、プロジェクトの色などのコンテキスト情報を表示します。

概要

Claude Code は、インターフェースの下部に表示されるカスタムステータスラインをサポートしています。ステータスラインは会話のメッセージが変更されると更新され、実行間隔は最短でも 300ms です。

対話型セットアップフロー

ステータスラインを設定するときは、まず既存の設定を確認し、AskUserQuestion を使って希望を確認してください。

事前確認:既存のステータスライン
# Check for existing configuration
if [[ -f ~/.claude/settings.json ]]; then
    EXISTING=$(jq -r '.statusLine // empty' ~/.claude/settings.json)
    if [[ -n "$EXISTING" ]]; then
        # User has existing status line - ask about backup
    fi
fi
セットアップの質問
  1. 方法:カスタムスクリプト(完全な制御)、ccstatusline(ウィジェットベースの TUI)、またはシンプルなインライン表示
  2. 機能:Git ブランチ、プロジェクトの色、トークン使用量、セッションコスト
  3. スタイル:Powerline、ミニマル、またはターミナルに合わせる
  4. エディター:Cursor、VS Code、Sublime、またはなし(クリック可能なリンクを使わない場合)

2 つの方法

1. 手動スクリプト(完全な制御)

標準入力経由で JSON データを受け取り、ANSI カラーを使った 1 行を出力するシェルスクリプトを作成します。

クイックセットアップ:

cat > ~/.claude/statusline.sh << 'EOF'
#!/bin/bash
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(basename "$(echo "$input" | jq -r '.workspace.current_dir')")
echo "[$MODEL] $DIR"
EOF
chmod +x ~/.claude/statusline.sh

設定で構成:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh",
    "padding": 0
  }
}
2. ccstatusline(ウィジェットベース)

サードパーティの ccstatusline を使い、TUI で設定するウィジェットベースの方法を利用します。

クイックセットアップ:

bunx ccstatusline@latest

設定で構成:

{
  "statusLine": "bunx ccstatusline@latest"
}

JSON 入力の構造

ステータスラインコマンドは、標準入力経由で構造化された JSON を受け取ります。

フィールド説明
model.idモデル識別子(例:"provider/model-id")
model.display_name人が読みやすい名前(例:"Opus")
workspace.current_dir現在の作業ディレクトリ
workspace.project_dir元のプロジェクトディレクトリ
cost.total_cost_usdセッションのコスト(USD)
cost.total_duration_msセッションの合計時間
context_window.context_window_size最大コンテキストサイズ
context_window.current_usage現在のトークン使用量オブジェクト
transcript_pathセッションのトランスクリプト JSON へのパス
session_id一意のセッション識別子

よくあるパターン

Git ブランチの表示
if git rev-parse --git-dir > /dev/null 2>&1; then
    BRANCH=$(git branch --show-current 2>/dev/null)
    DIRTY=""
    git diff --quiet HEAD 2>/dev/null || DIRTY="*"
    echo "[$MODEL] $BRANCH$DIRTY"
fi
コンテキスト使用率
USAGE=$(echo "$input" | jq '.context_window.current_usage')
if [ "$USAGE" != "null" ]; then
    TOKENS=$(echo "$USAGE" | jq '.input_tokens + .cache_creation_input_tokens + .cache_read_input_tokens')
    SIZE=$(echo "$input" | jq -r '.context_window.context_window_size')
    PERCENT=$((TOKENS * 100 / SIZE))
    echo "Context: ${PERCENT}%"
fi
Peacock プロジェクトの色
SETTINGS=".vscode/settings.json"
if [[ -f "$SETTINGS" ]]; then
    COLOR=$(jq -r '.["peacock.color"] // empty' "$SETTINGS")
fi
クリック可能なファイルリンク(OSC 8)
FILE_URL="vscode://file${LAST_FILE}"
echo -e "\033]8;;${FILE_URL}\a${FILENAME}\033]8;;\a"

参考ファイル

詳しい実装方法については、以下を参照してください。

  • references/json-input-schema.md — すべてのフィールドを網羅した JSON 入力の完全なドキュメント。Bash/Python/Node.js での抽出例と、null 値の処理も記載しています。
  • references/scripting-patterns.md — ANSI カラーコード(256 色およびトゥルーカラー)、Powerline の区切り文字、Git 連携のパターン、プロジェクトの検出、クリック可能なリンク(OSC 8)、ターミナル連携、書式設定ヘルパーについて説明しています。
  • references/ccstatusline-guide.md — ウィジェットの完全なドキュメント、インストール方法、設定オプション、利用可能なウィジェット、複数行のセットアップ、トラブルシューティングについて説明しています。

コメント