Hsi431

Claude Quota Dash — Development skill for Claude Code

Development community

A Claude Code quota dashboard on a LilyGO T-Display-S3. The host renders every pixel with Pillow; the board is a dumb rectangle receiver.

How to install Claude Quota Dash

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Hsi431/claude-quota-dash and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Quota Dash does

A Claude Code quota dashboard on a LilyGO T-Display-S3. The host renders every pixel with Pillow; the board is a dumb rectangle receiver.

Alternatives in Development

  • Screenshot — Capture desktop, app windows, or pixel regions across OS platforms 14.6k ★
  • Portaljs Add Chart — Add a chart (line, bar, area, pie, or scatter) to a dataset's showcase in a PortalJS portal 2.3k ★
  • Claude Canvas — A TUI toolkit that gives Claude Code its own display 1.4k ★

README

Claude quota dashboard

[繁體中文說明](README.zh-TW.md)

A LilyGO T-Display-S3 on the desk showing how much Claude Code quota is left.

![The quota page](docs/images/page1-quota.png)

The host does all the work: it reads `~/.claude/usage-now.json` and `usage-history.jsonl`, renders every pixel with Pillow, converts the rectangles that changed to RGB565, and pushes them down the USB serial link. The firmware is deliberately a dumb rectangle receiver, so changing the layout is saving a file, not reflashing a board.

The four pages

Button 1 goes back a page, button 2 forward.

QUOTA — both quotas at a glance and when each clears 5 HOUR — countdown, bar, and the burn curve for this window
CONTEXT — context used against the window, with the 200K mark CACHE — hit rate, what a cold rebuild would cost, spend

Colour is the same everywhere: white up to 60%, orange to 90%, dark red past that. Nothing is compared against a "you should be here by now" line -- a five hour window refills on its own, and a weekly line just glows orange all week if you work hard, which is no information at all.

Small text is drawn without anti-aliasing, because at this pixel pitch the grey edge pixels are most of a glyph; the two large sizes keep it.

Where the data comes from

Claude Code does not write those two files by itself. The status line hook is the only thing that fires often enough, so `install/statusline-sampler.sh` records the payload on every refresh and appends a sampled line to the history log at most once every 30 seconds. **Without it the dashboard shows NO DATA forever**, which is easy to install and hard to diagnose.

In `~/.claude/settings.json`:

"statusLine": {"type": "command", "command": "~/claude-quota-dash/install/statusline-sampler.sh"}

Already have a status line you like