newtonmunene99/claudekit/tree/main/plugins/statusline
statusline
mod として動くステータス行。インストールごとに同じ表示になり、マシンごとに `statusLine` スクリプトを設定する必要がありません。
この mod について
プロンプトの上と下にステータス行を描画する Claude Code mod です。上には 5 時間と週間の制限を示すピル(バー、使用率、リセット時刻)、コンテキストウィンドウの使用量、このセッションの入力/出力/キャッシュ読み取り token、API 価格で計算したセッションコストを表示します。バーは 70% で黄色、90% で赤になります。下にはターミナルの場合だけ、フォルダー、dirty マーカー付きのブランチ、モデル、セッション名、短い session id を表示します。mod 対応の Claude Code ビルドが必要です。動作したら ~/.claude/settings.json から statusLine を削除してください。
インストール
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add newtonmunene99/claudekit claude plugin install statusline
原文 / README
statusline
A status line as a mod, the same on every install: no statusLine script to set up per machine.
Needs a Claude Code build with mod support (function hooks).
Above the prompt
A row of pills, wrapping when the window is narrow:
| Pill | Shows |
| :--- | :---- |
| 5h | 5-hour limit: bar, % used, reset time (↻ 19:20) |
| 7d | weekly limit: bar, % used, reset day and time (↻ Thu 19:00) |
| ctx | context window fill |
| ↑ ↓ ≋ | this session's input, output and cache-read tokens |
| $ | this session's cost at API prices (what /cost shows) |
Bars turn yellow at 70% and red at 90%. A figure with no reading yet is left out. Token totals count every model request of this session's turns and start at 0 when a session is resumed, so they can run below what the cost covers. Another plugin's band (Conductor's track band) stays, under the pills.
Under the prompt
At the end of the hint line (terminal only): folder (branch✗) · model · name · id. ✗ means git has uncommitted changes; a detached HEAD shows the short commit. The session's name shows when it has one (a /rename shows from the next prompt), then the first 8 characters of the session id.
Once it works for you, remove statusLine from ~/.claude/settings.json.
Writing a mod in claudekit
One mod per plugin, in plugins/<name>/: .claude-plugin/plugin.json (with "types": "./types/index.d.ts" when it keeps $.state), hooks/hooks.json naming ./register.tsx, the module and its pure helpers in hooks/, tests in tests/. Run claude plugin validate plugins/<name> and claude plugin test plugins/<name> before a version bump. A mod that serves one plugin lives inside that plugin (the Conductor HUD lives in conductor).
Two engine rules shape this:
- A plugin hooks each event once without a matcher, so two mods that both react to
turn.completeor a prompt cannot share a plugin cleanly. $is never passed into a function imported from another file; helpers that take$are top-level function declarations in the module itself.
