oMaN-Rod/claude-code-widgets/tree/main/plugins/commits-widget
この mod について
Claude Code ウィジェット
Claude Code のプロンプトの下、またはフルスクリーン時にトランスクリプトの横へドッキングして表示する小さなカードです。各ウィジェットは独立した mod で、スラッシュコマンドで切り替えます。
最初は便利なもの(コンテキスト、使用量、ファイルツリー)が少しあるだけでしたが、どんどん増えました。現在は 61 個あり、git の状態やターンタイマーから、ピクセルのカニ、ダンジョンクロール、Tetris まで揃っています。
インストール
マーケットプレイスを追加してから、レイアウトプラグインと使いたいウィジェットをインストールします。
/plugin marketplace add oMaN-Rod/claude-code-widgets
/plugin install widgets@claude-code-widgets
/plugin install context-widget@claude-code-widgets
すべてのウィジェットには、カードを配置するレイアウトプラグイン widgets が必要です。
mod(function hook)をサポートする Claude Code のバージョンが必要です。mod API はまだ早期アクセスで、リリース間で変更される可能性があります。
ウィジェット
レイアウト
すべてのウィジェットが必要とします。
| プラグイン | コマンド | 表示内容 |
| --- | --- | --- |
| widgets | /widgets [side\|above\|below\|close\|<columns>\|width <widget> <columns\|reset>] | カードをプロンプトの下、上、またはフルスクリーン時にトランスクリプトの横へ配置します |
セッション
Claude が何をしていて、どれだけ費用がかかっているかを表示します。
| プラグイン | コマンド | 表示内容 |
| --- | --- | --- |
| context-widget | /context-widget [auto\|detailed\|grid\|top\|bar\|line] | /context のカテゴリごとに色を変えた積み上げバーでコンテキストウィンドウを表示します |
| usage-widget | /usage-widget | レート制限ウィンドウごとのバー、リセットまでの時間、セッション費用を表示します |
| timer-widget | /timer-widget [on\|off\|clear] | 実行中のターンの経過時間と、直前・平均・最長ターンの時間、スパークラインを表示します |
| activity-widget | /activity-widget [on\|off\|clear] | 最新のツール呼び出し、その所要時間、失敗したかどうかを表示します |
| tasks-widget | /tasks-widget [on\|off\|clear] | Claude が進めているタスク一覧と進捗バーを表示します |
| checks-widget | /checks-widget [on\|off\|clear] | 最新のテスト、lint、ビルドの実行結果を表示します。成功または失敗、所要時間、何分前かが分かります |
| timeline-widget | /timeline-widget [on\|off] | ターンをチャートで表示します。時間軸にツール呼び出しを 1 本ずつ置き、並列呼び出しは積み重ねます |
| board-widget | /board-widget [on\|off\|clear] | Claude が pin ツールで書き込むステータスボード。目標、発見、未解決の質問を表示します |
| forecast-widget | /forecast-widget [on\|off\|clear] | ターンごとのコンテキスト増加をチャートで表示し、コンパクションまでの残りターン数を示します |
| guard-widget | /guard-widget [on\|off\|clear] | このセッションの権限チェック。許可、確認、拒否と、何度も確認を求められている項目を表示します |
| stream-widget | /stream-widget [on\|off] | Claude が書いている間、テキスト量から推定したリアルタイムの tokens-per-second ゲージとスパークラインを表示します |
| sessions-widget | /sessions-widget [on\|off] | このマシンで開いている他の Claude Code セッション。フォルダー、ブランチ、busy または idle の状態を表示します |
プロジェクトと git
ワーキングツリーの状態を表示します。
| プラグイン | コマンド | 表示内容 |
| --- | --- | --- |
| file-tree-widget | /file-tree-widget | プロジェクトディレクトリ。クリックでフォルダーを展開できます |
| git-widget | /git-widget | ブランチ、ahead/behind、ステージ済み、変更済み、未追跡の件数と最後のコミットを表示します |
| changes-widget | /changes-widget [on\|off\|clear] | このセッションで編集したファイルを新しい順に表示し、各ファイルの編集回数も示します |
| commits-widget | /commits-widget | セッション開始後に作成されたコミットを表示します |
| todos-widget | /todos-widget | 追跡対象ファイルの TODO、FIXME、HACK、XXX コメントを数えて一覧にします |
| diff-widget | /diff-widget [on\|off\|clear] | 直近の編集を構文ハイライト付きの diff で表示します |
| watch-widget | /watch-widget [on\|off\|run\|stop], /watch <command> | /watch bun test は編集のたびにコマンドを再実行します。成功または失敗の表示と、最後に失敗した行を示します |
| map-widget | /map-widget [on\|off\|clear] | 追跡対象ファイルのピクセルマップ。Claude が読んだ場所は青、編集した場所は緑に光ります |
時間と集中
セッションに依存しない時計、タイマー、リマインダーです。
| プラグイン | コマンド | 表示内容 |
| --- | --- | --- |
| pomodoro-widget | /pomodoro-widget [on\|off\|start\|break\|stop\|<minutes>] | カウントダウン付きの集中タイマー、進捗バー、完了したセッション数を表示します |
| countdown-widget | /countdown-widget [on\|off\|clear], /countdown <HH:MM\|<n>m\|<n>h> [label] | 設定した締め切りまでの残り時間、進捗バー、到達時のトーストを表示します |
| clocks-widget | /clocks-widget [on\|off\|add <zone>\|remove <zone>\|clear] | 追加したタイムゾーンの横に現地時刻を表示します。例:Asia/Tokyo |
| notes-widget | /notes-widget [on\|off\|clear], /note <text\|done <n>> | セッションをまたいで残るピン留めメモ。/note <text> で追加し、/note done <n> で削除します |
| coffee-widget | /coffee-widget [on\|off\|refill\|<minutes>] | 90 分で空になるカップを表示し、休憩を促します |
シーン
ターン、ツール呼び出し、チェック、コンテキスト使用量に反応するピクセルアートです。
| プラグイン | コマンド | 表示内容 |
| --- | --- | --- |
| pet-widget | /pet-widget [on\|off\|<mood>] | ピクセルのカニ Clawd。ターン中は働き、ツール呼び出しが失敗すると目を回し、テストが成功すると喜びます。XP を獲得してセッションをまたいでレベルアップし、badges-widget がバッジを付与すると帽子をかぶります。2 つのセッションを開いていると、最後にプロンプトを送った方に残ります |
| aquarium-widget | /aquarium-widget [on\|off\|demo] | 実行中のツール呼び出しとエージェントごとに魚を表示します |
| skyline-widget | /skyline-widget [on\|off\|demo\|clear] | ターンごとに 1 棟、ツール呼び出しごとに 1 階を表示します |
| train-widget | /train-widget [on\|off] | このターンのツール呼び出しごとに車両を 1 両つなぐ機関車を表示し、色はツールごとに変わります |
| garden-widget | /garden-widget [on\|off\|reset] | 1 本の植物。ツール呼び出しごとに葉が増え、チェック成功で花が咲き、失敗でしおれます |
| campfire-widget | /campfire-widget [on\|off\|stoke] | ツール呼び出しが多いほど高く燃え、idle になると熾火まで落ち着きます |
| constellation-widget | /constellation-widget [on\|off\|clear] | ターンごとに星を 1 つ表示し、星座につなぎます。9 個になると名前が付きます |
| fireworks-widget | /fireworks-widget [on\|off\|demo] | チェック成功時は夜空に花火を上げ、失敗時は不発弾を表示します |
| invaders-widget | /invaders-widget [on\|off\|demo\|clear] | 失敗したチェックごとに侵略者が現れ、成功したチェックが撃ち落とします |
| weather-widget | /weather-widget [on\|off\|live\|<percent>] | コンテキストに余裕があると晴天、コンパクションが近いと嵐を表示します |
| boss-widget | /boss-widget [on\|off] | コンテキスト使用量をボスの体力バーで表示し、コンパクションで倒して次のレベルを始めます |
| sky-widget | /sky-widget [on\|off] | 現地時刻の空を表示します。昼は太陽、夜は月で、セッションが長いほど星が増えます |
| world-widget | /world-widget [on\|off\|clear] | すべてを 1 つにまとめたシーン。時計で空、コンテキストで天気、ターンごとの塔、ツール呼び出しの列車、歩き回るカニを表示します |
| quest-widget | /quest-widget [on\|off\|reset] | セッションをダンジョンクロールとして表示します。ターンごとに部屋、ツール呼び出しごとにモンスター、チェック成功で戦利品が出現し、ヒーローはセッションをまたいで残ります |
| race-widget | /race-widget [on\|off\|clear] | 並列 subagent をコース上の車として表示し、ツール呼び出しごとに進み、完了時に表彰台へ上がります |
ビジュアライザー
ツールの活動から生まれる抽象的な絵です。
| プラグイン | コマンド | 表示内容 |
| --- | --- | --- |
| mosaic-widget | /mosaic-widget [on\|off\|clear] | ツール呼び出しごとにタイルを 1 枚置き、ツールごとに色を変えます。失敗は赤です |
| sorting-widget | /sorting-widget [on\|off\|step] | 並び替え中の棒グラフを表示し、ツール呼び出しごとに 1 回交換します |
| equalizer-widget | /equalizer-widget [on\|off] | ツール呼び出しのたびに跳ね、静止状態へ戻るレベルメーターです |
| rain-widget | /rain-widget [on\|off] | ターンが忙しいほど速くなる、落下するコードの雨です |
| orbit-widget | /orbit-widget [on\|off] | 小さな太陽系を表示し、ツール呼び出しの実行中は惑星が加速します |
| life-widget | /life-widget [on\|off\|reset] | Conway の Game of Life。ツール呼び出しごとにグライダーを 1 機落とします |
| donut-widget | /donut-widget [on\|off] | 回転する 3D ドーナツ。ツール呼び出し中は回転が速くなります |
| pipes-widget | /pipes-widget [on\|off] | パイプのスクリーンセーバー。Claude が idle の間は伸び、作業中は一時停止します |
| maze-widget | /maze-widget [on\|off\|new] | プロジェクトフォルダーを seed にした一人称迷路を歩きます |
| marquee-widget | /marquee-widget [on\|off\|clear\|<text>] | セッションイベントを流す LED ティッカー。別のテキストを指定すると自分の見出しを投稿します |
ゲーム
Snake、2048、Tetris が、ボードをクリックしてキー操作を引き継ぐまで自動で遊びます。
| プラグイン | コマンド | 表示内容 |
| --- | --- | --- |
| snake-widget | /snake-widget [on\|off] | Snake。キー操作を引き継ぐまで自動で遊びます |
| 2048-widget | /2048-widget [on\|off] | 2048。キー操作を引き継ぐまで自動で遊びます |
| tetris-widget | /tetris-widget [on\|off] | Tetris。キー操作を引き継ぐまで自動で遊びます |
| minesweeper-widget | /minesweeper-widget [on\|off] | Minesweeper。クリックで開き、右クリックまたは f で旗を立て、r で再開します |
| breakout-widget | /breakout-widget [on\|off\|reset] | 自動で遊ぶブロック崩し。ツール呼び出しごとにブロックの列が 1 つ増えます |
| typer-widget | /typer-widget [on\|off] | タイピングゲーム。自分のファイル名が落ちてくるので、着地する前に入力します |
おまけ
| プラグイン | コマンド | 表示内容 |
| --- | --- | --- |
| fortune-widget | /fortune-widget [on\|off\|next] | ターンごとに変わる 1 行のおみくじ |
| 8ball-widget | /8ball-widget [on\|off], /8ball <question> | /8ball <question> は信頼性に疑問のある答えを返します |
| badges-widget | /badges-widget [on\|off\|reset] | セッションをまたいで得る実績。解除時にトーストを表示します |
| sigil-widget | /sigil-widget [on\|off\|clear] | このセッションの活動から生成するピクセルの紋章と、以前のセッションの紋章ギャラリーを表示します |
| sound-widget | /sound-widget [on\|off\|mute\|test] | ツール呼び出しごとの音、チェック成功時のコード、失敗時のブザーを、ピアノロール付きで表示します(音声再生は macOS のみ) |
有効なウィジェット、配置、表示モードは、すべてのセッションで保存・復元されます。
注意
/widgets width pet 60は 1 つのウィジェットカードが広がれる幅を設定します(デフォルトは 40 カラム)。/widgets width pet resetで戻せます。/widgets sideはフルスクリーンレイアウト(/tui fullscreen)でのみカードをトランスクリプトの横にドッキングします。デフォルトレイアウトではプロンプトの下に戻ります。- ピクセルアートはターミナルのブロック文字で描画され、ターミナルにだけ表示されます。
sound-widgetは macOS でだけ音声を再生します。それ以外では無音のままピアノロールだけ描画します。board-widgetは Claude が呼び出せるpinツールを登録するため、ボードが有効な間はその説明もコンテキストの一部になります。watch-widgetはsh -c経由でコマンドを実行し、必要ならcmd /cにフォールバックします。- ゲームの操作を引き継ぐ場合も、Minesweeper を遊ぶ場合も、ボードをマウスでクリックする必要があります。フルスクリーンレイアウトはその操作を報告します。
開発
plugins/ 下の各プラグインは mod です。manifest、hooks モジュール、テストを含みます。
claude --plugin-dir plugins # load every plugin from this checkout
claude plugin validate plugins/<name> # check a manifest and hooks module
claude plugin test plugins/<name> # run its tests
プラグイン同士は import できません。そのため widgets はカードの積み重ねとピクセルレンダラーを $.widgets(plugins/widgets/hooks/kit.tsx)として共有し、各ウィジェットが呼び出します。
ライセンス
MIT
インストール
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add oMaN-Rod/claude-code-widgets claude plugin install commits-widget
原文 / README
Claude Code Widgets
Small cards that sit under the Claude Code prompt, or docked beside the transcript in fullscreen. Each widget is its own mod, toggled with a slash command.
It started with a few useful ones (context, usage, file tree) and then got carried away: there are now 61 widgets, from git status and a turn timer to a pixel crab, a dungeon crawl and Tetris.
Install
Add the marketplace, then install the layout plugin and whichever widgets you want:
/plugin marketplace add oMaN-Rod/claude-code-widgets
/plugin install widgets@claude-code-widgets
/plugin install context-widget@claude-code-widgets
Every widget needs widgets, the layout plugin that places the cards.
Requires a Claude Code version with mod (function hook) support. The mod API is early access and may change between releases.
Widgets
Layout
Required by every widget.
| Plugin | Command | What it shows |
| --- | --- | --- |
| widgets | /widgets [side\|above\|below\|close\|<columns>\|width <widget> <columns\|reset>] | Places the cards: below the prompt, above it, or docked beside the transcript in fullscreen |
Session
What Claude is doing and what it is costing.
| Plugin | Command | What it shows |
| --- | --- | --- |
| context-widget | /context-widget [auto\|detailed\|grid\|top\|bar\|line] | The context window as a stacked bar, one colour per /context category |
| usage-widget | /usage-widget | A bar per rate-limit window, time to reset, session cost |
| timer-widget | /timer-widget [on\|off\|clear] | The running turn's elapsed time, plus last, average and longest turn and a sparkline |
| activity-widget | /activity-widget [on\|off\|clear] | The latest tool calls with their duration and whether they failed |
| tasks-widget | /tasks-widget [on\|off\|clear] | The task list Claude is working through, with a progress bar |
| checks-widget | /checks-widget [on\|off\|clear] | The latest test, lint and build runs: pass or fail, duration and how long ago |
| timeline-widget | /timeline-widget [on\|off] | The turn as a chart: one bar per tool call on a time axis, parallel calls stacked |
| board-widget | /board-widget [on\|off\|clear] | A status board Claude writes itself through a pin tool: goal, findings and open questions |
| forecast-widget | /forecast-widget [on\|off\|clear] | Context growth per turn as a chart, with the turns left before compaction |
| guard-widget | /guard-widget [on\|off\|clear] | Permission checks this session: allowed, asked and denied, with what you keep being asked about |
| stream-widget | /stream-widget [on\|off] | A live tokens-per-second gauge and sparkline while Claude is writing (estimated from text length) |
| sessions-widget | /sessions-widget [on\|off] | The other Claude Code sessions open on this machine: folder, branch, busy or idle |
Project and git
The state of the working tree.
| Plugin | Command | What it shows |
| --- | --- | --- |
| file-tree-widget | /file-tree-widget | The project directory; folders expand on click |
| git-widget | /git-widget | Branch, ahead/behind, staged, changed and untracked counts, and the last commit |
| changes-widget | /changes-widget [on\|off\|clear] | Files edited this session, most recent first, with an edit count each |
| commits-widget | /commits-widget | The commits made since the session started |
| todos-widget | /todos-widget | TODO, FIXME, HACK and XXX comments in tracked files, counted and listed |
| diff-widget | /diff-widget [on\|off\|clear] | The last edit as a syntax-highlighted diff |
| watch-widget | /watch-widget [on\|off\|run\|stop], /watch <command> | /watch bun test reruns the command after every edit: a pass or fail light and the last failing lines |
| map-widget | /map-widget [on\|off\|clear] | A pixel map of the tracked files, lit blue where Claude has read and green where it has edited |
Time and focus
Clocks, timers and reminders that do not depend on the session.
| Plugin | Command | What it shows |
| --- | --- | --- |
| pomodoro-widget | /pomodoro-widget [on\|off\|start\|break\|stop\|<minutes>] | A focus timer with a countdown, a progress bar and a count of finished sessions |
| countdown-widget | /countdown-widget [on\|off\|clear], /countdown <HH:MM\|<n>m\|<n>h> [label] | Time left to a deadline you set, with a progress bar and a toast when it arrives |
| clocks-widget | /clocks-widget [on\|off\|add <zone>\|remove <zone>\|clear] | Your local time beside the time zones you add, such as Asia/Tokyo |
| notes-widget | /notes-widget [on\|off\|clear], /note <text\|done <n>> | Pinned notes kept across sessions; /note <text> adds one, /note done <n> removes it |
| coffee-widget | /coffee-widget [on\|off\|refill\|<minutes>] | A cup that empties over 90 minutes and nudges you to take a break |
Scenes
Pixel art that reacts to turns, tool calls, checks and context usage.
| Plugin | Command | What it shows |
| --- | --- | --- |
| pet-widget | /pet-widget [on\|off\|<mood>] | Clawd, a pixel crab: works during a turn, dizzy when a tool call fails, happy when tests pass. Earns XP and levels up across sessions, wears a hat once badges-widget has awarded a badge, and with two sessions open stays in the one you last prompted |
| aquarium-widget | /aquarium-widget [on\|off\|demo] | A fish for every running tool call and agent |
| skyline-widget | /skyline-widget [on\|off\|demo\|clear] | One building per turn, one floor per tool call |
| train-widget | /train-widget [on\|off] | A locomotive pulling one wagon per tool call this turn, coloured by tool |
| garden-widget | /garden-widget [on\|off\|reset] | A plant: a leaf per tool call, a flower when checks pass, wilting when a call fails |
| campfire-widget | /campfire-widget [on\|off\|stoke] | A campfire that burns higher with tool calls and dies down to embers when idle |
| constellation-widget | /constellation-widget [on\|off\|clear] | A star per turn, joined into a constellation that gets a name after nine |
| fireworks-widget | /fireworks-widget [on\|off\|demo] | A night sky that sets off fireworks when checks pass, and a dud when they fail |
| invaders-widget | /invaders-widget [on\|off\|demo\|clear] | An invader arrives for every failing check; passing checks shoot them down |
| weather-widget | /weather-widget [on\|off\|live\|<percent>] | Clear sky when context has room, a storm near compaction |
| boss-widget | /boss-widget [on\|off] | Context usage as a boss health bar; compaction defeats it and starts the next level |
| sky-widget | /sky-widget [on\|off] | The sky at your local time: sun by day, moon by night, more stars the longer the session runs |
| world-widget | /world-widget [on\|off\|clear] | One scene for everything: sky by the clock, weather by context, a tower per turn, a train of tool calls and a wandering crab |
| quest-widget | /quest-widget [on\|off\|reset] | The session as a dungeon crawl: a room per turn, a monster per tool call, loot when checks pass; the hero is kept across sessions |
| race-widget | /race-widget [on\|off\|clear] | Parallel subagents as cars on a track, one stride per tool call, with a podium as they finish |
Visualizers
Abstract pictures driven by tool activity.
| Plugin | Command | What it shows |
| --- | --- | --- |
| mosaic-widget | /mosaic-widget [on\|off\|clear] | One tile per tool call, coloured by tool; failures are red |
| sorting-widget | /sorting-widget [on\|off\|step] | A bar chart being sorted, one swap per tool call |
| equalizer-widget | /equalizer-widget [on\|off] | Level meters that jump with each tool call and fall back to rest |
| rain-widget | /rain-widget [on\|off] | Falling code rain that speeds up the busier the turn gets |
| orbit-widget | /orbit-widget [on\|off] | A small solar system; the planets speed up while tool calls run |
| life-widget | /life-widget [on\|off\|reset] | Conway's Game of Life; every tool call drops a glider |
| donut-widget | /donut-widget [on\|off] | The spinning 3D donut; it spins faster while tool calls run |
| pipes-widget | /pipes-widget [on\|off] | The pipes screensaver; it grows while the session is idle and pauses while Claude works |
| maze-widget | /maze-widget [on\|off\|new] | A first-person walk through a maze seeded by the project folder |
| marquee-widget | /marquee-widget [on\|off\|clear\|<text>] | An LED ticker scrolling session events; any other text posts your own headline |
Games
Snake, 2048 and Tetris play themselves until you click the board and take the keys.
| Plugin | Command | What it shows |
| --- | --- | --- |
| snake-widget | /snake-widget [on\|off] | Snake; it plays itself until you take the keys |
| 2048-widget | /2048-widget [on\|off] | 2048; it plays itself until you take the keys |
| tetris-widget | /tetris-widget [on\|off] | Tetris; it plays itself until you take the keys |
| minesweeper-widget | /minesweeper-widget [on\|off] | Minesweeper: click to reveal, right-click or f to flag, r to restart |
| breakout-widget | /breakout-widget [on\|off\|reset] | A self-playing brick breaker; every tool call adds a row of bricks |
| typer-widget | /typer-widget [on\|off] | A typing game: words from your own file names fall, and you type them before they land |
Just for fun
| Plugin | Command | What it shows |
| --- | --- | --- |
| fortune-widget | /fortune-widget [on\|off\|next] | A one-line fortune that changes with every turn |
| 8ball-widget | /8ball-widget [on\|off], /8ball <question> | /8ball <question> gives an answer of doubtful reliability |
| badges-widget | /badges-widget [on\|off\|reset] | Achievements earned across sessions, with a toast when one unlocks |
| sigil-widget | /sigil-widget [on\|off\|clear] | A pixel emblem generated from this session's activity, beside a gallery of the ones from earlier sessions |
| sound-widget | /sound-widget [on\|off\|mute\|test] | A note per tool call, a chord when checks pass, a buzz on failure, with a piano roll (audio plays on macOS only) |
Placement, which widgets are on, and view modes are saved and restored in every session.
Notes
/widgets width pet 60sets how wide one widget's card may grow (the default is 40 columns);/widgets width pet resetputs it back./widgets sidedocks the cards beside the transcript only in the fullscreen layout (/tui fullscreen). In the default layout it falls back to below the prompt.- The pixel art is drawn with terminal block characters and shows in the terminal only.
sound-widgetplays audio on macOS only; elsewhere it stays silent and just draws the piano roll.board-widgetregisters apintool that Claude can call, so its description is part of the context while the board is on.watch-widgetruns your command throughsh -c, falling back tocmd /c.- Taking over a game, and playing Minesweeper at all, needs a mouse click on the board, which the fullscreen layout reports.
Develop
Each plugin under plugins/ is a mod: a manifest, a hooks module and its tests.
claude --plugin-dir plugins # load every plugin from this checkout
claude plugin validate plugins/<name> # check a manifest and hooks module
claude plugin test plugins/<name> # run its tests
Plugins cannot import from one another, so widgets shares card stacking and the pixel renderer as $.widgets (plugins/widgets/hooks/kit.tsx), which every widget calls.
License
MIT
