Agent skill

Statusline Generator

by daymade in daymade/claude-code-skills

Installs, configures, customizes, or troubleshoots the Claude Code statusline (cwd, model, token counts).

MITAuto-check passedDevelopment

Install Statusline Generator

skills CLI
$ npx skills add daymade/claude-code-skills --skill statusline-generator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install daymade/claude-code-skills statusline-generator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/daymade/claude-code-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/daymade-claude-code/statusline-generator .claude/skills/statusline-generator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
statusline-generator
GitHub stars
1.4k
Token cost
~2.3k tokens
SKILL.md length
1,028 words
Files
9 (incl. scripts, references)
Skills in repo
103
Repo updated
First seen
Licence
MIT

At a glance

Installs, configures, customizes, or troubleshoots the Claude Code statusline (cwd, model, token counts).

  • Works in 4 steps: ~/.claude/statusline.sh exists and is… → ~/.claude/settings.json has a valid… → Mock stdin tests covering complete data,… → …
  • The user wants to set up
  • SKILL.md covers Quick health check (start here…, Quick install, What you get and Layouts: how to switch, plus 6 more sections
  • Runs Shell scripts from its folder; calls bash, git and jq

What it does

Statusline Generator is an agent skill from daymade/claude-code-skills. Installs, configures, customizes, or troubleshoots the Claude Code statusline (cwd, model, token counts). Use when the user wants to set up or change the statusline, switch minimal vs full layouts, show absolute token counts instead of a percentage, add cost via ccusage, or fix a statusline that is blank, silent, stuck, or stopped updating. Trigger phrases: 状态栏, 状态栏不显示, 状态栏空白, "statusline blank", "statusline broken".

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `references/ccusage_integration.md`, `references/color_codes.md` and `references/context-window-schema.md`).

It sits in Development. It works with Git. The repository describes itself as: Professional Claude Code skills marketplace featuring production-ready skills for enhanced development workflows. The licence is MIT.

When your agent uses it

  • The user wants to set up
  • Change the statusline
  • Switch minimal vs full layouts
  • Show absolute token counts instead of a percentage

Example prompts

  • “statusline blank”
  • “statusline broken”
  • “/statusline-generator”

Requirements

  • A Bash shell

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. ~/.claude/statusline.sh exists and is executable. **Missing chmod +x is
  2. ~/.claude/settings.json has a valid statusLine block pointing at the script.
  3. Mock stdin tests covering complete data, zero tokens, missing fields,
  4. Real stdin replay from /tmp/.claude-statusline-last-stdin.json if you

What it can do on your machine

Read from SKILL.md and the folder at commit 872127b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • git
    • jq
    • bunx
    • brew
    • apt

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and bunx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Statusline Generator loads about 2.3k tokens when it runs, and up to ~7.8k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 1,028 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~110
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from daymade/claude-code-skills at commit 872127b, republished under its MIT licence (© daymade). 1,028 words, ~2,260 tokens.

Download SKILL.mdSave it as .claude/skills/statusline-generator/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
statusline-generator
description
Installs, configures, customizes, or troubleshoots the Claude Code statusline (cwd, model, token counts). Use when the user wants to set up or change the statusline, switch minimal vs full layouts, show absolute token counts instead of a percentage, add cost via ccusage, or fix a statusline that is blank, silent, stuck, or stopped updating. Trigger phrases: 状态栏, 状态栏不显示, 状态栏空白, "statusline blank", "statusline broken".
disable-model-invocation
true

Statusline Generator

A single-source-of-truth statusline for Claude Code. One script, two layouts, end-to-end self-verification.

Quick health check (start here when something is wrong)

Run this first whenever the statusline misbehaves. It catches the silent failures that account for most "configured but not working" reports:

bash
bash scripts/health_check.sh

It validates four layers:

  1. ~/.claude/statusline.sh exists and is executable. Missing chmod +x is the single most common silent-failure cause — Claude Code runs the script, exec fails, statusline goes blank.
  2. ~/.claude/settings.json has a valid statusLine block pointing at the script.
  3. Mock stdin tests covering complete data, zero tokens, missing fields, $HOME path shortening, and zero-fork git-branch rendering (via a synthetic .git/HEAD — no git binary required).
  4. Real stdin replay from /tmp/.claude-statusline-last-stdin.json if you previously ran with CLAUDE_STATUSLINE_DEBUG=1.

Each failure prints a one-line fix command — you don't have to read documentation to recover.

Quick install

bash
bash scripts/install_statusline.sh

This script:

  • Backs up any existing ~/.claude/statusline.sh and settings.json.
  • Copies generate_statusline.sh to ~/.claude/statusline.sh and chmod +xs it.
  • Updates settings.json statusLine block via jq (preserves other settings).
  • Mandatorily runs health_check.sh and shows the result — installation is not "complete" until verification passes.

Restart Claude Code (or send any new message) to see the statusline update.

What you get

Default — minimal one-line layout
~/code/myproject  [main]  Opus 4.7 (1M context)  ctx: 108K / 1M

Just the essentials: short path, git branch, model name, absolute token counts. No colors, no cost, no percentage. The branch is read zero-fork — the script reads .git/HEAD as a plain file (with worktree/submodule gitdir: indirection and detached-HEAD short-sha handling) instead of spawning git, so it costs nothing and works even on hosts without a git binary.

Full — multi-line with cost and git

Set CLAUDE_STATUSLINE_LAYOUT=full in your shell profile to enable:

alex (Sonnet 4.6) [$0.42/$25.93]  ctx: 108K/1M (11%)
~/code/myproject
[git:main*+]
  • Line 1: user, model, ccusage session/daily costs, color-coded ctx (green ≤50%, yellow 51–80%, red >80%).
  • Line 2: short path.
  • Line 3: git branch with * for modified, + for untracked.

Layouts: how to switch

The script reads layout from environment, not flags (Claude Code passes JSON on stdin, so flags would conflict). Set in ~/.zshrc or ~/.bashrc:

bash
# Minimal (default — same as not setting it)
export CLAUDE_STATUSLINE_LAYOUT=minimal

# Full
export CLAUDE_STATUSLINE_LAYOUT=full

Restart your shell (or source the rc file) so Claude Code inherits the change, then send a message — statusline refreshes within 300ms.

Debug stdin capture

To see exactly what JSON Claude Code sends your script:

bash
export CLAUDE_STATUSLINE_DEBUG=1

Each invocation writes its stdin to /tmp/.claude-statusline-last-stdin.json (overwriting on every refresh). Inspect with jq .. Useful for:

  • Diagnosing why a field doesn't render the way you expect.
  • Re-running the script against real input: cat /tmp/.claude-statusline-last-stdin.json | ~/.claude/statusline.sh.
  • Filing bug reports — paste the dump as ground truth.

Authoring rules (why this skill is shaped this way)

Three production failure modes drove the current design. All are sealed in code, not just docs:

Rule 1 — Always chmod +x, always verify by running

The single biggest silent-failure cause of any statusline is a script without the executable bit: Claude Code's exec fails silently and the bar goes blank with no error. install_statusline.sh always chmod +xs; health_check.sh flags the bit if missing. If you hand-write or hand-edit a statusline script, mock-test it before declaring done: echo '{}' | bash your-script.sh.

Rule 2 — "Configuration complete" is meaningless without evidence

"Wrote the file and updated settings.json" is not the same as "the script runs and produces the expected output." install_statusline.sh therefore always runs health_check.sh at the end and exits non-zero if any check fails. Treat any "complete!" report from any agent that lacks evidence as suspect.

Show full SKILL.md (482 more words)Show less
Rule 3 — The statusline is a hot path: budget subprocesses, not just correctness

A statusline script looks like UI polish, but it executes on every refresh in every concurrent agent session. Whatever it spawns gets multiplied by refresh rate × number of live sessions, all day. Measured on a machine running many concurrent sessions: a package-runner statusline (bunx <pkg>@latest-style, which re-resolves the registry and re-writes a lockfile per refresh, then runs git status + git branch) cost ~0.4s CPU per refresh; this script costs ~0.01s. Across many sessions that difference is a measurable share of machine-wide process churn, heat, and battery — the statusline was one of the top contributors found in a real battery-drain investigation (2026-07).

Concretely:

  • Never resolve packages at refresh time. No bunx/npx @latest in statusLine.command — pin and install once, or use a local script.
  • Don't spawn git for the branch. Read .git/HEAD as a file (see git_branch_fast in the script) — same answer, zero subprocesses.
  • Treat git status (dirty state) as a luxury. It walks the worktree on every refresh; only the full layout runs it, and only when explicitly enabled.
  • Budget: a statusline refresh should cost single-digit milliseconds and a handful of forks at most (one jq + one awk here).

For field-level traps (used_percentage null at session start, total_input_tokens semantics across Claude Code versions, hardcoded context_window_size), see references/context-window-schema.md.

Customization

For colors, custom segments (hostname, time, etc.), and disabling cost tracking, see references/customization.md.

Dependencies

The script auto-detects available tools and degrades gracefully:

ToolRequired forFallback
jqJSON parsing (preferred)falls back to python3
python3JSON parsing fallbackbare cwd only
awktoken K/M formattingrequired by both layouts
gitdirty-state */+ markers (full layout only — minimal reads the branch from .git/HEAD without git)silent skip if missing or not in repo
ccusagecost (full layout)silent skip if missing

Install on macOS: brew install jq. On Debian/Ubuntu: apt install jq.

Troubleshooting

For symptom-by-symptom diagnostics, see references/troubleshooting-decision-tree.md. It walks through:

  1. Statusline blank or never updates (chmod cause)
  2. ctx segment missing or wrong (field traps)
  3. Want token counts not percentages (layout switch)
  4. Colors render as raw escape codes (terminal compatibility)
  5. Git segment missing (full layout)
  6. Cost segment missing (ccusage / cache)
  7. Edits have no effect (path mismatch)
  8. Slow refresh (jq vs python3)

Resources

FilePurpose
scripts/generate_statusline.shThe statusline script. Single source of truth. Two layouts via CLAUDE_STATUSLINE_LAYOUT.
scripts/install_statusline.shIdempotent installer. Backs up, copies, chmods, wires settings.json, runs health check.
scripts/health_check.shFour-layer verification: file perms, settings.json wiring, mock stdin tests, real stdin replay.
references/troubleshooting-decision-tree.mdSymptom-driven diagnostic flowchart. Load when statusline misbehaves.
references/customization.mdColor changes, custom segments, threshold tuning, single-line full layout. Load when user wants to modify how the statusline looks.
references/context-window-schema.mdClaude Code statusline JSON schema. Documents every field plus current_usage vs total_input_tokens semantics across versions.
references/color_codes.mdANSI color codes reference. Load for color customization.
references/ccusage_integration.mdccusage integration deep-dive: caching, JSON shape, troubleshooting. Load for cost-related issues.

© daymade, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references) in daymade-claude-code/statusline-generator of daymade/claude-code-skills.

  • SKILL.md
  • references/ccusage_integration.md
  • references/color_codes.md
  • references/context-window-schema.md
  • references/customization.md
  • references/troubleshooting-decision-tree.md
  • scripts/generate_statusline.sh
  • scripts/health_check.sh
  • scripts/install_statusline.sh

Open the folder on GitHubat commit 872127b

Compare with similar skills

Statusline Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Statusline Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Statusline Generator this skilldaymade/claude-code-skills1.4k—~2.3kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Finishing A Development Branchfarm-fe/farm5.6k34 repos~1.8kAutomated safety check: PassMIT

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • A skill your agent uses when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for…

    5.6k GitHub starsUsed in 34 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    56k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed

More from daymade/claude-code-skills

All 103 skills in this repo
  • Video Comparer

    daymade/claude-code-skills

    This skill should be used when comparing two videos to analyze compression results or quality differences.

    1.4k GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check: notes
  • CLI Demo Generator

    daymade/claude-code-skills

    Generates professional animated CLI demos as GIFs using VHS terminal recordings.

    1.4k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Doc To Markdown

    daymade/claude-code-skills

    Converts DOCX/PDF/PPTX and saved HTML/HTM to high-quality Markdown with automatic post-processing.

    1.4k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Interaction Design Board

    daymade/claude-code-skills

    Generates several distinct, clickable HTML interaction prototypes for one product surface into a Design Board and collects selection/remix feedback before implementation.

    1.4k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Auto Repo Setup

    daymade/claude-code-skills

    Diagnoses and repairs repository setup and guarded Git workflows for Claude Code or Codex — environment repair, startup sync, hook auditing, collaborator handoff.

    1.4k GitHub stars~2.8k tokensUpdated today
    Auto-check: notes
  • Bigdata Skill

    daymade/claude-code-skills

    Pulls Bigdata.com (RavenPack) financial and news data via the official bigdata-client SDK and /v1/ REST endpoints — structured financials, prices, analyst estimates, entity-sentiment series…

    1.4k GitHub stars~3.7k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Statusline Generator

What does Statusline Generator do?

Installs, configures, customizes, or troubleshoots the Claude Code statusline (cwd, model, token counts). Statusline Generator is an agent skill from daymade/claude-code-skills. Installs, configures, customizes, or troubleshoots the Claude Code statusline (cwd, model, token counts).

When should I use Statusline Generator?

Statusline Generator fits situations like: the user wants to set up; change the statusline; switch minimal vs full layouts; show absolute token counts instead of a percentage.

How do I install Statusline Generator in Claude Code?

Run `npx skills add daymade/claude-code-skills --skill statusline-generator -a claude-code`. Or copy the skill folder (daymade-claude-code/statusline-generator in daymade/claude-code-skills) into .claude/skills/statusline-generator in your project. Claude Code loads it when a task matches its description.

How do I install Statusline Generator in Codex?

Run `npx skills add daymade/claude-code-skills --skill statusline-generator -a codex`. Or copy the skill folder (daymade-claude-code/statusline-generator in daymade/claude-code-skills) into .agents/skills/statusline-generator in your project. Codex loads it when a task matches its description.

Can I use Statusline Generator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add daymade/claude-code-skills --skill statusline-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/statusline-generator, .gemini/skills/statusline-generator, .github/skills/statusline-generator and .opencode/skills/statusline-generator in your project.

What does Statusline Generator need to run?

Going by SKILL.md and its folder, Statusline Generator needs a shell for the scripts in its folder and the command-line tools its instructions call (bash, git, jq, bunx, brew and apt). Our summary lists: A Bash shell.

Does Statusline Generator access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Statusline Generator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Statusline Generator use?

Statusline Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Statusline Generator use?

About 2.3k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.5k tokens, read only when the agent opens those files.

What are the alternatives to Statusline Generator?

Skills that share tags, products or a category with Statusline Generator: Finishing a Development Branch (obra/superpowers, 297k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars) and Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Statusline Generator?

daymade (a GitHub user) maintains it in daymade/claude-code-skills, which has 1,447 GitHub stars. The repository holds 103 skills in this directory. The repository was last updated on October 9, 2026.

Source: daymade/claude-code-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.