t1k:statusline-full
| Field | Value |
|---|---|
| Module | t1k-base |
| Version | 2.28.4 |
| Effort | low |
| Tools | — |
Keywords: 5h timer, context bar, full statusline, global statusline, install statusline globally, status line, statusline, weekly quota
How to invoke
Section titled “How to invoke”/t1k:statusline-full[--from <.claude/hooks dir>]t1k:statusline-full — Global statusline installer
Section titled “t1k:statusline-full — Global statusline installer”Promotes the kit’s canonical statusline (.claude/hooks/statusline.cjs) to a
global install under ~/.claude/ so it renders in every Claude Code session —
including projects that aren’t TheOneKit kits.
This skill does not carry its own copy of the statusline. It sources the kit’s
own hooks/statusline.cjs + hooks/lib/* — single source of truth, no fork drift.
When to use
Section titled “When to use”- “Enable the full statusline globally”, “install statusline to ~/.claude”, “show the statusline in every project”.
- NOT needed inside a t1k project — there the kit already wires the statusline
per-project via
hook-runner.cjs statusline. This skill is for the global case.
What it renders
Section titled “What it renders”- Line 1:
🤖 model [▰▰▰▱▱…] N% context ⌛ 5h usage 📅 7d weekly - Line 2+:
📁 dir 🌿 branch (status), agent flow, current todo,📝 +added -removed
Usage data comes from Claude Code’s native statusline stdin (rate_limits, CC
≥ 2.1.80), with a fallback to os.tmpdir()/ck-usage-limits-cache.json. No separate
usage hook is required — the canonical statusline is self-sufficient.
Install
Section titled “Install”Run from inside a TheOneKit project (so the kit’s hooks/statusline.cjs is present):
bash .claude/skills/t1k-statusline-full/install.shOr point at any kit’s hooks directory explicitly:
bash .claude/skills/t1k-statusline-full/install.sh --from /path/to/.claude/hooksIt copies statusline.cjs → ~/.claude/statusline.cjs, the 3 required libs
(colors, transcript-parser, git-info-cache) → ~/.claude/lib/, and wires
~/.claude/settings.json:
{ "statusLine": { "type": "command", "command": "node \"$HOME/.claude/statusline.cjs\"", "padding": 0 } }Restart Claude Code to pick it up.
The statusline reads T1K_STATUSLINE_MODE (default full): full | compact |
minimal. Export the env var in your shell/profile to change it globally.
Scope & safety
Section titled “Scope & safety”- Writes only under
~/.claude/(statusline.cjs,lib/*.cjs,settings.json). It does not touch any project’s.claude/or the kit’s per-project wiring. - Reads the session JSON Claude Code pipes on stdin to render; it does not read secrets and does not transmit anything off-machine. Usage numbers come from CC’s own stdin or the local cache file.
- Re-running is idempotent: it overwrites the three files with the current canonical
versions and re-wires
statusLine.
Gotchas
Section titled “Gotchas”- “canonical statusline not found” → you’re not inside a t1k project and didn’t
pass
--from. Run it from a project where.claude/hooks/statusline.cjsexists, or pass--from <…/.claude/hooks>. - Global vs project conflict → if a project has its own
.claude/settings.jsonstatusLinepointing athook-runner.cjs statusline, that project-level wiring wins there (correct — the kit manages it). The global install only affects sessions without a project override. This skill intentionally never edits project settings. - Chips
⌛/📅blank → on a fresh session before the first prompt, CC may not have populatedrate_limitsyet and the cache may be empty; they fill in once usage data is available. Requires Claude Code ≥ 2.1.80 for native stdin rate limits. - Stale global copy → the global
~/.claude/statusline.cjsis a snapshot. After at1k updatebumps the kit statusline, re-run this installer to refresh the global copy. (Project installs update automatically via the kit; the global one does not.) - Windows → uses
bash+node; run under Git Bash / WSL. Node must be on PATH.