ワークフロー&基本ツール · daymade/claude-code-skills

statusline-generator

Claude Code のステータスライン(cwd、モデル、トークン数)のインストール、設定、カスタマイズ、トラブルシューティングを行います。ステータスラインの新規設定や変更、minimal と full のレイアウト切り替え、パーセンテージ表記の代わりに絶対トークン数(例: ctx 108K / 1M)の表示、ccusage によるコストや git status の追加、Claude Code がスクリプトに渡す stdin JSON のダンプ、および空白・無反応・フリーズ・「permission denied」表示・スクリプト編集後に更新が止まった状態(多くは chmod +x の付け忘れ)の修復に使用します。トリガーフレーズ: "configure statusline"、"statusline blank"、"status line not showing"、"statusline broken"、"show token count in statusline"、状态栏、状态栏不显示、状态栏空白、显示工作目录、显示 token 数。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ファイル書き込みDual-pass Audit
Author daymadeGitHub daymade/claude-code-skills ↗Stars 1385License MIT(仓库根 LICENSE;GitHub API spdx MIT)Commit d5c4678cb5
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

「信頼できる唯一の情報源(SSOT)」アーキテクチャ: generate_statusline.sh が唯一のステータスラインスクリプトです(Claude Code が stdin 経由で JSON を渡すためフラグの競合を避け、2つのレイアウトは環境変数 CLAUDE_STATUSLINE_LAYOUT で切り替え)。install も health check も同一スクリプトを軸に動作します。

daymade-claude-code/statusline-generator/SKILL.md
The script reads layout from environment, not flags (Claude Code passes JSON on stdin, so flags would conflict).
generate_statusline.sh のヘッダーコメントにも「# Configuration via environment variables (no flags — Claude Code passes JSON on stdin)」と明記されており、スクリプトはまず `input=$(cat)` で stdin を読み込んでから解析します。

ゼロフォークのパフォーマンス規律: git プロセスを起動せず、上位ディレクトリを探索して .git/HEAD を通常ファイルとして読み取ることで Git ブランチを取得(worktree や submodule の gitdir: 参照や detached HEAD の短縮 SHA にも対応)。ミリ秒単位のリフレッシュ予算と1桁台のフォーク数を維持します。

daymade-claude-code/statusline-generator/scripts/generate_statusline.sh
# Zero-fork git branch: walk up to .git and read HEAD as a file. Never spawns # git.
SKILL Rule 3 では動機となるデータとして「パッケージランナー型ステータスライン(bunx <pkg>@latest 形式など)はリフレッシュごとに約 0.4 秒の CPU を消費するのに対し、本スクリプトは約 0.01 秒」と 2026 年 7 月の実測調査を引用。git_branch_fast 関数が .git ディレクトリと gitdir: ファイルの両形態を処理します。

JSON 解析のフォールバック階層: jq を最優先し、python3 へフォールバック、どちらも存在しない場合は素の cwd のみに縮退。ctx 使用量は input/cache_read/cache_create の 3 項目を合算し、$HOME の短縮にはシェル互換性のためパラメータ展開ではなく case 文を使用します。

daymade-claude-code/statusline-generator/SKILL.md
| `jq` | JSON parsing (preferred) | falls back to `python3` |
generate_statusline.sh の実装: 'if command -v jq >/dev/null 2>&1; then parsed=$(parse_with_jq) elif command -v python3 … else echo "$PWD"; exit 0'。awk が 999/108K/1M/1.5M といった可読性の高い形式への変換を担います。

インストール = コピー + chmod + 配線 + 自己検証の閉ループ: install_statusline.sh は既存の ~/.claude/statusline.sh と settings.json をバックアップし、jq で statusLine ブロックのみを変更(他の設定を保持)、chmod +x を強制し、最後に必ず health_check を実行して非ゼロで失敗を報告します。「インストール完了」には確実な動作証跡が必須です。

daymade-claude-code/statusline-generator/SKILL.md
**Mandatorily runs `health_check.sh` and shows the result** — installation is not "complete" until verification passes.
install スクリプト内のコメント「# critical — silent failure root cause if missed」に準拠。jq がない場合はユーザー設定の破損を防ぐため settings.json の変更を拒否し、手動編集手順を出力します。

health_check.sh による4層検証: ファイルの存在と実行権限 → settings.json の配線 → モック stdin カバレッジ(完全データ / ゼロトークン / フィールド欠損 / $HOME 短縮 / 擬似 .git/HEAD によるゼロフォークブランチ)→ CLAUDE_STATUSLINE_DEBUG=1 で保存された実 stdin のリプレイ。失敗ごとに1行の修正コマンドを提示します。

daymade-claude-code/statusline-generator/SKILL.md
It validates four layers: 1. `~/.claude/statusline.sh` exists and is executable. **Missing `chmod +x` is the single most common silent-failure cause**
モックテストは Claude Code 本体に依存せず、bash で直接対象スクリプトを実行して出力形式(例: 'TestModel.*ctx: 100K / 1M')を grep で検証。デバッグモードではリフレッシュのたびに stdin を /tmp/.claude-statusline-last-stdin.json に上書き保存し、リプレイやバグ報告に利用できます。

full レイアウトのコスト表示は ccusage を使用し、キャッシュとサイレント縮退を完備: キャッシュファイル /tmp/claude_cost_cache_<min>.txt を利用し、2分経過で再生成、ccusage が存在しない場合は静かにスキップ。色は ctx の占有率(50%/80%)に応じて緑・黄・赤に変化します。

daymade-claude-code/statusline-generator/scripts/generate_statusline.sh
# Cost via ccusage (cached, async; silent if ccusage unavailable)
Git のダーティ状態(* / +)は full レイアウト専用の機能です(リフレッシュごとに git status でワークツリーを走査するため)。minimal レイアウトはデフォルトで色、コスト、パーセンテージ表記を行いません。

2コア機能

01ワンクリックインストール + 自己検証(バックアップ → settings.json への配線 → health check による必須完了確認)
02minimal / full のデュアルレイアウト: minimal = 短縮パス + ブランチ + モデル + 絶対トークン数、full = ユーザー / コスト / パーセンテージ / 複数行 + Git ダーティフラグ
034層の健全性チェック + 各障害に応じた1行の修復コマンド提示(chmod / 配線 / フィールド例外 / リプレイ)
04stdin JSON デバッグダンプ(CLAUDE_STATUSLINE_DEBUG=1 → /tmp/.claude-statusline-last-stdin.json)と実入力のリプレイ機能
05ゼロフォークによるブランチ取得(.git/HEAD ファイル直接読み取り、worktree / submodule / detached HEAD 対応)
06ccusage コスト表示(full レイアウト、分単位キャッシュ、サイレントなグレースフルデグラデーション)
07症状ベースのトラブルシューティング(references/troubleshooting-decision-tree.md: 空白、ctx 非表示、パーセンテージ切り替え、エスケープシーケンス露出、Git 部分の欠落、コスト非表示、変更が反映されない、リフレッシュ遅延の全8カテゴリ)
08フィールド仕様リファレンス(references/context-window-schema.md: セッション開始時の used_percentage の null 挙動、total_input_tokens のバージョン間互換性など)

3外部依存関係

KindDependency / Endpoint
clijq(JSON 解析首选)
clipython3(JSON 解析回退)
cliawk(token K/M 格式化,两布局必需)
cligit(full 布局脏标记;minimal 读 .git/HEAD 不需 git)
cliccusage(full 布局成本,可选)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトおよびコマンドの実行: bash generate_statusline.sh(Claude Code のリフレッシュごとに実行、内部で jq/python3/awk/whoami を適宜フォーク)
  • 本地工作目录: ファイル読み書きと成果物出力: install 処理で cp による ~/.claude/statusline.sh の上書き、jq による ~/.claude/settings.json の更新(いずれも実行前に .b* 拡張子でバックアップ)
監査ノート: ローカル bash スクリプトの同梱およびローカル設定の更新(~/.claude/statusline.sh、settings.json。いずれもタイムスタンプ付きバックアップと jq による構造保持を実施)を行い、外部ネットワーク送信、認証情報の読み取り、破壊的操作(ユーザーデータの改変・削除)は一切行いません。ccusage は --offline による利用実績の取得のみに制限されています。留意事項: ステータスラインの出力は制御文字のエスケープ処理を行っていません(悪意ある cwd やブランチ名による ANSI インジェクションはターミナル全般の既知の課題です)。また、jq が未インストールの場合は settings.json の自動変更を拒否します。

5二重目の独立検証

  • [ok] install 是否真的强制 chmod +x — install_statusline.sh 显式 'chmod +x "$TARGET_PATH" # critical — silent failure root cause if missed'。
  • [ok] settings.json 是否保结构更新 — install 用 'jq --arg cmd … .statusLine = {"type":"command","command":$cmd,"padding":(.statusLine.padding // 0)}' 合并;无 jq 分支拒绝编辑并提示手改。
  • [ok] health_check 声称的 mock 用例 — run_mock 五例(完整/0 token/缺字段/$HOME 缩短/合成 .git/HEAD 分支)与 SKILL 描述逐条对应。
  • [ok] 无网络外发与凭证读取 — 三脚本无 curl/wget/url;ccusage 以 --offline 调用;env 仅 LAYOUT/DEBUG/HOME。
  • [ok] ccusage 成本路径缓存语义 — generate 185-210 行:缓存文件 /tmp/claude_cost_cache_$(date +%Y%m%d_%H%M).txt、mmin +2 清理、缺失时后台重建并回退旧缓存。
  • [unlocatable] 运行时行为(真实 Claude Code stdin 形状下渲染) — 静态代码+reference 文档(context-window-schema.md)齐备,但本环境无 Claude Code 宿主,未做实机刷新验证;字段语义以文档为准。

6結論

  • 実測に裏付けられたホットパス性能規律: ゼロフォークでのブランチ取得、フォーク数の徹底抑制、パッケージランナー型ステータスラインの明確な禁止
  • インストール・検証の閉ループ: health check を通過しない限り、スクリプト自体が「インストール完了」とみなさない厳格設計
  • 最も頻発するサイレント障害(chmod の付け忘れ)を明示的なチェック項目へ昇格させ、1行の修復手順を提供
  • 階層化された網羅的ドキュメント: スキーマリファレンス、トラブルシューティングツリー、カスタマイズ手順、カラーコードを備え、当て推量での対応を排除
  • 最適な用途: Claude Code のステータスラインを構築・修復したいユーザー(多言語トリガーにより日本語・中国語ユーザーにも対応)、リフレッシュのオーバーヘッドに敏感なヘビーマルチセッションユーザー(minimal では git サブプロセス完全ゼロ)、およびステータスラインの障害診断時に health_check を初手として実行したいエージェントに最適です。
    不向きな用途: Claude Code 以外の環境(スクリプトは Claude Code 独自の stdin JSON プロトコルを前提とします)、パーセンテージ表示のみで十分で絶対トークン数を必要としないユーザー、過剰な装飾(リッチアイコン、動的ウィジェット、複数行アニメーションなど)を求める環境には不向きです(本スキルの主眼はシンプルさと極限の低負荷にあります)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-09
    Option A · Direct DownloadDownload statusline-generator.tar.gz
    sha256: 7b68993203365b32…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d5c4678cb5.