ClaudeMods
☰
JA
● 0 人がオンライン ・閲覧 0 回
スポンサー作品を投稿
GitHub リポジトリ · 投稿者 shabier

dashboard

サイドペインの Bento グリッド。時計、todo、コンテキスト予測、git、Hacker News を表示し、`/dash` で開きます。

shabier@shabier

shabier/claude-plugins/tree/main/plugins/dashboard

翻訳済み

この mod について

dashboard

サイドペインの Bento グリッドです。時計、todo、コンテキスト予測、git、Hacker News を表示し、/dash で開きます。

コマンド

| コマンド | 動作 | |---|---| | /dash | 開く/閉じる | | /dash list | すべての widget、そのサイズ、占めるサイズを表示 | | /dash add <widget> [WxH] | 1 つ追加。指定がなければ既定サイズ | | /dash rm <widget> | 1 つ削除。データは残る | | /dash size <widget> <WxH> | サイズ変更 | | /dash reset | 既定レイアウトに戻す | | /dash autostart on\|off | セッション開始時に開く。既定は off |

キー

ペインをクリックするか ctrl+x tab を押してキーを渡し、Esc で返します。

todo タイルがキーを所有します。j と k で移動し、x で完了、d で削除します。最後の行にも表示されます。2 つ目のタイルがキーを持つと n でフォーカスを移動します。

プロンプトで + buy milk と入力すると todo が追加され、Claude には届きません。1 行だけなので、貼り付けた diff も同じです。

ウィジェット

| Widget | Sizes | Shows | |---|---|---| | clock | 2x1, 1x1 | ドットマトリクスの時刻、日付、秒 | | todo | 2x2, 2x1, 4x1 | リスト | | context | 2x1, 2x2 | compaction point の割合、残り token、現在のペースで残るターン。API key ではコストを表示し、意味を持たないサブスクリプションでは隠す | | git | 2x2, 4x2, 2x1 | ブランチ、ahead/behind、最近の commit、+/- バー付きの変更ファイル | | hn | 2x2, 4x2, 2x1 | 上位 10 件の story、5 分ごと。タイトルをクリックすると thread |

レイアウト順が packing order です。タイルはペインを埋めるまで伸びます。

Git は設計上 read-only です。Claude が編集するたびと 10s ごとに、host は 4 つの固定 read command 以外を実行しません。タイルは Claude が実行しているフォルダーに従います。

ウィジェットを書く

  1. hooks/widgets/<id>.ts を hooks/contract.ts の defineWidget で作る。
  2. hooks/widgets/index.ts に追加する。
  3. claude plugin test plugins/dashboard。

Widget は pure です:init、update、draw、persist。$ も timer もありません。host が tick、session number、git、fetch、storage などすべての effect を所有し、データを渡します。色は hex ではなく tone:fg dim faint accent add mod del info link。リンクは tile.link を通し、https のみです。

suite は登録済みの各 widget を各サイズで 19 入力に通します。throw せず、draw は 50ms 未満、タイル外に出ず、状態は JSON round trip を通ります。runtime で throw する widget は error tile になり、残りは続行します。

contract: 1。追加のみです。壊すなら v2 になり、host は知らない version を拒否します。

制限

  • 高さだけの window resize では再フィットせず、Claude Code は幅が変わったときに redraw します。/dash を切り替えてください。
  • 新しいセッションでは最初の response の後に context が表示されます。
  • 残りターンは 2 回回答されるまでペースが算出されません。

Credits:CREDITS.md。

インストール

まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。

claude plugin marketplace add shabier/claude-plugins
claude plugin install dashboard
原文 / README

dashboard

A bento grid in the side pane: clock, todo, context forecast, git, Hacker News. /dash opens it.

Commands

| Command | Does | |---|---| | /dash | open or close | | /dash list | every widget, its size, the sizes it takes | | /dash add <widget> [WxH] | add one, default size unless given | | /dash rm <widget> | remove one; its data stays | | /dash size <widget> <WxH> | resize | | /dash reset | back to the default layout | | /dash autostart on\|off | open at session start. Off by default |

Keys

Click the pane or ctrl+x tab to give it the keys, Esc to hand them back.

The todo tile owns them: j k move, x done, d delete. Its last row says so too. n moves focus once a second tile has keys.

+ buy milk in the prompt adds a todo and never reaches Claude. Single lines only, so a pasted diff still does.

Widgets

| Widget | Sizes | Shows | |---|---|---| | clock | 2x1, 1x1 | time in dot-matrix, date, seconds | | todo | 2x2, 2x1, 4x1 | the list | | context | 2x1, 2x2 | share of the compaction point, tokens left, turns left at the current pace. Cost on API keys; hidden on subscriptions, where it means nothing | | git | 2x2, 4x2, 2x1 | branch, ahead/behind, recent commits, changed files with +/- bars | | hn | 2x2, 4x2, 2x1 | top 10 stories, every 5 min. Click a title for the thread |

Layout order is packing order. Tiles stretch to fill the pane.

Git is read-only by construction: the host runs 4 fixed read commands and nothing else, after every edit Claude makes and every 10s. The tile follows the folder Claude runs in.

Writing a widget

  1. hooks/widgets/<id>.ts, built with defineWidget from hooks/contract.ts.
  2. Add it to hooks/widgets/index.ts.
  3. claude plugin test plugins/dashboard.

Widgets are pure: init, update, draw, persist. No $, no timers. The host owns every effect (ticks, session numbers, git, fetches, storage) and hands the data in. Colours are tones, never hex: fg dim faint accent add mod del info link. Links go through tile.link, https only.

The suite runs every registered widget through 19 inputs at every size: no throws, under 50ms a draw, nothing outside its tile, state through a JSON round trip. A widget that throws at runtime gets an error tile; the rest carry on.

contract: 1. Additions only. A break would be v2, and the host refuses versions it doesn't know.

Limits

  • Height-only window resizes don't refit; Claude Code redraws on width. Toggle /dash.
  • A fresh session shows context after its first response.
  • Turns left needs 2 answered turns to have a pace.

Credits: CREDITS.md.

同名の他の作品

関連作品