claude-agent-skills-hub / claude-hud
CLAUDE.md0 starsChanged 56 days agoMITView on GitHub
Claude HUD is a Claude Code plugin: a status line command that prints a two-line HUD (model, project, git, context, usage), plus opt-in lines for tools, agents, todos, and more. Claude Code runs the command after each message, /compact, a mode change, a rate-limit reset, or a prompt-cache expiry (debounced 300ms), plus on refreshInterval if set. Each run is a fresh process: /claude-hud:setup (commands/setup.md) runs scripts/setup.mjs. That copies scripts/statusline.mjs to <config dir>/plugins/claude-hud/ and points statusLine.command at it. The launcher runs…
In this repository55 other files it gives its agents.
- agent-browser/AGENTS.mdAGENTS.md
- caveman/AGENTS.mdAGENTS.md
- find-skills/AGENTS.mdAGENTS.md
- graphify/AGENTS.mdAGENTS.md
- gsap/AGENTS.mdAGENTS.md
- gstack/AGENTS.mdAGENTS.md
- humanizer/AGENTS.mdAGENTS.md
- hyperframes/AGENTS.mdAGENTS.md
- hyperiux-components/AGENTS.mdAGENTS.md
- i-have-adhd/AGENTS.mdAGENTS.md
- impeccable/AGENTS.mdAGENTS.md
- last30days-skill/AGENTS.mdAGENTS.md
- marketingskills/AGENTS.mdAGENTS.md
- notebooklm-py/AGENTS.mdAGENTS.md
- ponytail/AGENTS.mdAGENTS.md
- superdesign-skill/AGENTS.mdAGENTS.md
- superpowers/AGENTS.mdAGENTS.md
- caveman/CLAUDE.mdCLAUDE.md
- gsap/CLAUDE.mdCLAUDE.md
- gstack/CLAUDE.mdCLAUDE.md
- hyperframes/CLAUDE.mdCLAUDE.md
- hyperiux-components/CLAUDE.mdCLAUDE.md
- impeccable/CLAUDE.mdCLAUDE.md
- last30days-skill/CLAUDE.mdCLAUDE.md
- marketingskills/CLAUDE.mdCLAUDE.md
- notebooklm-py/CLAUDE.mdCLAUDE.md
- superdesign-skill/CLAUDE.mdCLAUDE.md
- ui-ux-pro-max/CLAUDE.mdCLAUDE.md
- ui-ux-pro-max-skill/CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- brandkitSkill
- industrial-brutalist-uiSkill
- defuddleSkill
- gpt-tasteSkill
- gstackSkill
- humanizerSkill
- imagegen-frontend-mobileSkill
- imagegen-frontend-webSkill
- image-to-codeSkill
- json-canvasSkill
- last30daysSkill
- llm-councilSkill
- minimalist-uiSkill
- notebooklmSkill
- obsidian-basesSkill
- obsidian-cliSkill
- obsidian-markdownSkill
- full-output-enforcementSkill
- redesign-existing-projectsSkill
- high-end-visual-designSkill
- stitch-design-tasteSkill
- design-taste-frontendSkill
- design-taste-frontend-v1Skill
- ui-ux-design-patternsSkill
- webgpu-threejs-tslSkill
The file
Files
CLAUDE.md
Claude HUD is a Claude Code plugin: a status line command that prints a two-line HUD (model, project, git, context, usage), plus opt-in lines for tools, agents, todos, and more.
Commands
npm ci
npm test # builds dist/, then runs node --test
npm run test:update-snapshots # regenerate tests/golden/expected.txt after an intended output change
echo '{"model":{"display_name":"Opus"},"context_window":{"used_percentage":45,"context_window_size":200000}}' | node dist/index.jsHow a render works
Claude Code runs the command after each message, /compact, a mode change, a rate-limit reset, or a prompt-cache expiry (debounced 300ms), plus on refreshInterval if set. Each run is a fresh process:
stdin.tsreads the payload. It targets Claude Code ≥ 2.1.260 and trusts its fields (version,cost,prompt_cache,session_name,output_style,workspace.repo,rate_limits) instead of deriving them.config.tsloadsplugins/claude-hud/config.jsonplus the per-directoryclaude-hud.jsonoverride.DEFAULT_CONFIGis the schema; a rules table validates each key.index.tsgathers only what enabled elements need, in parallel: the transcript (transcript.ts), git or jj (git.ts,jj.ts), the extra command, memory, auth, config counts, the usage snapshot, the cost ledger, and speed state. All I/O and state writes happen here.render/turns that into lines without I/O. Each element has one implementation inparts.ts,context.ts,usage.ts,vcs.ts,lines.ts, andactivity.ts.expanded.tsandcompact.tsonly arrange those parts, andansi.tsmeasures and wraps.
Invariants
- The default HUD is two lines. New display is opt-in; see the scope section of CONTRIBUTING.md.
- Text from stdin, the transcript, git, or config is untrusted terminal input. Sanitize it (
utils/sanitize.ts) before it's printed. - Rendering is pure: the clock and terminal width are sampled once in
renderLines. tests/golden.test.jspins end-to-end output. An output change must show up as a reviewed diff totests/golden/expected.txt.dist/is built by CI on main. Never commit it in a PR.README.mdandREADME.zh.mddocument every key inDEFAULT_CONFIG, andtests/readme-options.test.jsenforces it.
Setup
/claude-hud:setup (commands/setup.md) runs scripts/setup.mjs. That copies scripts/statusline.mjs to <config dir>/plugins/claude-hud/ and points statusLine.command at it. The launcher runs the newest installed version, so plugin updates never need setup again. Plugins can't set statusLine themselves, so this step writes the user's settings.json.
Runtime: Node.js 18+ or Bun. Build: TypeScript, ES2022, NodeNext modules.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

