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

slab-deck

Claude Code用のSLABスタイルのコントロールセンター。true-colourのステータスラインとコンテキスト/レート制限ゲージ、プロンプト上のライブバンド、overview/context/tools/agents/git/tmux/usageセクションを持つ`/deck`ペイン、ポップアップ、tmuxナビゲーションを備えます。

5omeOtherGuy@5omeOtherGuy

5omeOtherGuy/slab-deck/tree/main/mod/slab-deck

元の投稿の画像1
翻訳済み

この mod について

slab-deckはSLABデザイン言語(暗いサーフェス、色相はグリフと結果マーカーだけに使い、ボックス描画はしない)によるClaude Codeコントロールセンターです。2つの部分で構成されます。statusline-slab.shはClaude Codeのステータスライン枠を埋め、モデル、リポジトリ/ブランチ、effort、コンテキスト、5hと7dのレート制限(70%からアンバー、90%から赤、リセットのカウントダウン)、プロンプトキャッシュのヒット率、ターンごとの出力スパークライン、セッション時計、行数のtrue-colourゲージを表示します。mod/slab-deckはfunction-hooksプラグインAPI(Claude Code 2.1.289以降)上のmodで、プロンプト上部にライブバンド(経過時間、ステップ、トークン、tok/s、実行中ツールを示すアニメーションの▪▪▪ workingインジケーター、アイドル時のtmuxウィンドウリンクと操作)を追加します。/deck [section]で開くドッキングペインにはoverview、context、tools、agents、git、tmux、usageがあり、ツール呼び出し、ターン、tmuxペイン、キー一覧のポップアップもあります。アニメーションはセルをその場で再描画し、P1_REDUCED_MOTION=1またはSLAB_REDUCED_MOTION=1で固定できます。/deck-band full|compact|offでバンドを切り替え、コンテキストまたはレート制限が80%を超えるとトーストが表示されます。リポジトリをcloneしてclaude --plugin-dir slab-deck/mod/slab-deckを起動するか、CLAUDE_CODE_PLUGIN_DIRSとstatusLineを~/.claude/settings.jsonに設定してインストールします。ステータスラインにはjqとgitが必要で、tmuxとgitの機能はtmux内またはgitリポジトリ内で自動的に有効になります。MITライセンスです。

インストール

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

claude plugin marketplace add 5omeOtherGuy/slab-deck
claude plugin install slab-deck
原文 / README

slab-deck

A control center for Claude Code in the SLAB design language: dark surfaces, hue only on glyphs and outcome markers (› ▸ ✓ ✗ ! · ↳ ▪), no box drawing. Two parts that work together:

  • statusline-slab.sh fills Claude Code's own status line slot with gauges in true colour.
  • mod/slab-deck is a mod on the function-hooks plugin API (Claude Code 2.1.289+): a live band above the prompt, a docked deck pane, popups and tmux navigation.

slab-deck while a turn runs

What it shows

Statusline (Claude Code's status line slot): model, repo and branch, effort | context, 5h and 7d rate-limit gauges (amber from 70 %, red from 90 %, reset countdown once a window passes 70 %), prompt-cache hit rate, output-per-turn sparkline (handed over by the mod), session clock, lines +N −N. Facts drop by priority when the terminal narrows; a window at 70 % or more outlasts the repo name.

Band above the prompt: while a turn runs, the animated ▪▪▪ working indicator with elapsed time, step, tokens, tok/s and the tools running; when idle, your tmux windows as links (1–9) and actions (d deck, n window, s split, h keys).

Deck pane — /deck [section]

| section | contents | | --- | --- | | overview | session facts, context, rate limits and resets, output per turn, recent tool calls | | context | the /context grid, categories, autocompact mark, memory files | | tools | calls by tool, 30-minute timeline, recent calls | | agents | subagents and their status | | git | changed files with diff bars, commits, history graph in a new tmux window | | tmux | all panes of the session: live peek, window minimap, go there, new window, split, zoom | | usage | rate limits, token totals, cache hit, turn durations |

Popups for a tool call, a turn, a tmux pane and the key list (esc closes).

Animations: the ▪▪▪ indicator breathes while a turn runs; the deck's context and rate-limit gauges sweep up when it opens and glide to each new value. Both repaint cells in place ($.ui.blit), no redraw. P1_REDUCED_MOTION=1 or SLAB_REDUCED_MOTION=1 freezes them.

Also /deck-band full|compact|off and toasts when context or a rate limit crosses 80 %. The tmux actions only select, open or split; nothing closes, kills or types into another pane.

slab-deck idle

Install

git clone https://github.com/5omeOtherGuy/slab-deck
claude --plugin-dir slab-deck/mod/slab-deck

For every session, in ~/.claude/settings.json:

"env": { "CLAUDE_CODE_PLUGIN_DIRS": "/path/to/slab-deck/mod/slab-deck" },
"statusLine": { "type": "command", "command": "/path/to/slab-deck/statusline-slab.sh", "padding": 0, "refreshInterval": 2 }

The statusline needs jq and git, and works without the mod (no sparkline then). refreshInterval re-fits it after a resize and keeps its clock and countdowns current; one run takes about 60 ms.

tmux and git features turn on by themselves when Claude Code runs inside tmux or a git repository. P1_REDUCED_MOTION=1 or SLAB_REDUCED_MOTION=1 freezes the working indicator.

Develop

claude plugin validate mod/slab-deck
claude plugin test mod/slab-deck

| file | role | | --- | --- | | hooks/register.tsx | events, timers, commands, every $ call (the engine follows $ only within one file) | | hooks/views.tsx | band, deck sections and popups | | hooks/ink.ts | design tokens and the Raster painters (gauges, charts, minimap, working indicator) | | hooks/data.ts | git and tmux output parsers | | types/index.d.ts | the $.state contract |

License

MIT

関連作品