Statusline setup
Skill master5d/claude-personal-skills/skills/statusline-setup
A personal collection of Agent Skills for Claude Code.
npx -y skills add master5d/claude-personal-skills --skill statusline-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Set up, fix, or update the Claude Code footer status bar (statusline). Use this skill whenever the user mentions "status line", "statusline", "status bar", "footer bar", "fix my statusline", "set up status line", "context bar", or wants to see token/model info in the Claude Code footer. Covers initial setup, wiring settings.json, dependency checks (jq), and updating the statusline script.
SKILL.md
3.2 KB, 808 tokens by cl100k_base, as published. Nobody here has run it
Claude Code Statusline Setup
A custom statusline showing model info, context usage, session tokens, and weekly token tracking in the Claude Code footer.
Layout (5 lines)
Sonnet 4.6 (200k) ●●●○○○○○○○○○○○○○○○○○ | ✏ 12% | MyProject |
session ●●○○○○○○○○ 12% 7kin · 3kout 🕐20:51
weekly ~18k est 🕐Tue 25 Mar
🎁 2× off-peak → std in 2h 15m · 3d left ← (promo lines, time-limited)
►► bypass permissions on (shift+tab to cycle) ← (only when bypass active)
Setup Steps
1. Check dependency: jq
jq --version
If missing on Windows/Scoop:
scoop install jq
The settings.json command must explicitly add jq to PATH since Claude Code doesn't inherit the full shell PATH:
"PATH=\"/c/Users/sasha/scoop/apps/jq/1.8.1:$PATH\" bash \"$HOME/.claude/statusline-command.sh\""
Adjust the path to match where scoop installed jq (scoop which jq).
2. Write the script
Copy references/statusline-command.sh to ~/.claude/statusline-command.sh (make executable on Unix/WSL: chmod +x).
3. Wire settings.json
Edit ~/.claude/settings.json — add/update the statusLine block:
{
"statusLine": {
"type": "command",
"command": "PATH=\"/c/Users/sasha/scoop/apps/jq/1.8.1:$PATH\" bash \"$HOME/.claude/statusline-command.sh\""
}
}
If jq is on PATH already (Linux/macOS), simplify to:
{
"statusLine": {
"type": "command",
"command": "bash \"$HOME/.claude/statusline-command.sh\""
}
}
State file
Token tracking persists to ~/.claude/statusline-weekly.json. Safe to delete to reset weekly counter.
Common issues
| Symptom | Cause | Fix |
|---|---|---|
| Status bar empty / blank | jq not found | Add jq to PATH in the command |
| All zeros / nulls | Old jq version | scoop update jq |
| Weekly count wrong | State file corrupt | Delete ~/.claude/statusline-weekly.json |
| Math errors in output | Bash arithmetic overflow | Verify $(( )) used (not bc) |
| Promo section still showing | Date check hardcoded | Edit PROMO_END_NUM in script |
Updating the script
When updating:
- Read
~/.claude/statusline-command.shfirst - Make targeted edits — don't overwrite the whole file unless replacing entirely
- The script receives Claude Code's status JSON on stdin — all data comes from there
- Test with:
echo '{"model":{"display_name":"Claude Sonnet 4.6"},"context_window":{"context_window_size":200000,"used_percentage":15,"total_input_tokens":7000,"total_output_tokens":3000},"workspace":{"project_dir":"/test/project"}}' | bash ~/.claude/statusline-command.sh
Reference implementation
See references/statusline-command.sh for the full script. Read it before modifying.
What ships with it: 1 file
9.7 KB alongside SKILL.md, 1 of them executable
references/
- statusline-command.shruns9.7 KB
Gives 0 of the 12 instructions most project setup skills give in 808 tokens
Counted across 999 of the 1,637 authors here whose files we hold, read 2026-08-07
- Ask one question at a timein 29 of 999, across 28 files
- Detect the package manager from lockfilesin 28 of 999, across 9 files
- Present findings to the userin 26 of 999, across 5 files
- Explore current repo statein 24 of 999, across 3 files
- Update the agent skills block in place if it existsin 24 of 999, across 3 files
- Install husky lint-staged and prettierin 23 of 999, across 4 files
- Create the lintstagedrc filein 22 of 999, across 3 files
- Commit all changed filesin 22 of 999, across 3 files
- Run lint-staged to verify it worksin 22 of 999, across 3 files
- Create the husky pre-commit filein 21 of 999, across 2 files
- Create a prettierrc file if missingin 21 of 999, across 2 files
- Initialize huskyin 21 of 999, across 2 files
Said here and by no other author read
- check the jq dependency
- write the statusline script
- wire the statusLine block into settings.json
- add jq to PATH in the settings.json command
- make the script executable on Unix
- read the existing script before modifying
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.