agentleFS
MasonFlint44MasonFlint44/claude-spend-statusline/skills/display/SKILL.md

display

Skill0 starsChanged 2 months agoMITView on GitHub

Choose which elements the spend statusline shows — hide or bring back the pace tick, the cache cue, the effort level, the spend bars, the repository row or any of its parts, list what is currently displayed or hidden, explain why an element disappeared, or reset the display to defaults. Use when the user says "hide the pace tick", "turn the cache countdown off", "I don't want the month bar", "show the session churn again", "what is hidden", "what else can the statusline show", "why did the cost disappear", "reset the statusline display". Bars that are blank or stale rather than hidden are the doctor skill's job.

3 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions3 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 3

    1. autonomous-ai/autonomous-os★ 552same name
    2. autonomous-ai/lampOS★ 552same name
    3. autonomous-ai/Physical-AI-Operating-System★ 552same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository4 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Every element of the statusline has a name, and display.conf lists the ones to hide.

    line 8
  2. Distinctive:

    What is displayed or hidden: run the listing and show it.

    line 58
  3. Very specific:

    Reset to defaults: remove every hide line (keep the comments).

    line 61
  4. Distinctive:

    Show the current state: Run the listing and show it.

    line 66
  5. Very specific:

    Do not edit the plugin's copy of display.conf or the script itself.

    line 74
  6. Distinctive:

    Do not write without showing the exact lines first (unless told not to ask).

    line 75
  7. Distinctive:

    Do not invent names: only the sixteen above exist.

    line 76
  8. Very specific:

    Do not add per-element environment variables to the statusLine command.

    line 77
  9. Distinctive:

    Do not skip the verification listing.

    line 78

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Choose what the spend statusline shows

Every element of the statusline has a name, and display.conf lists the ones to hide. This skill turns what the user wants into hide lines, edits the installed copy, and shows the resulting listing so the change is visible immediately.

Where the file is

Read statusLine.command in $CFG/settings.json (CFG="${CLAUDE_CONFIG_DIR:-$HOME/.claude}"). It names the installed script, normally written as "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/statusline/spend-statusline.sh" (shell text that resolves to $CFG/statusline/spend-statusline.sh; older installs spell out an absolute path), may carry inline knobs such as CLAUDE_SPEND_DISPLAY=... before it, and names the interpreter (bash; older macOS installs name an absolute path such as /opt/homebrew/bin/bash). Run the listing with exactly those knobs, that interpreter and that script path:

[KNOBS] [BASH] "$CFG/statusline/spend-statusline.sh" --display

Its first line is display: <path>: that path is the file to edit. Without an override it is $CFG/statusline/config/display.conf. If the line reads no file at <path>, create the file at that path. If it reads off (CLAUDE_SPEND_DISPLAY=off), the command has switched the file off; say so and ask whether to remove that knob from the statusLine command (the display skill never edits settings.json without asking). Do not edit the plugin's own statusline/config/display.conf: it is the shipped default and is replaced on every plugin update. If the script is not installed, say so and point the user at /spend-statusline:install.

The grammar

One hide line per group of names, # starts a comment, lines accumulate:

hide pace cache
hide session

Names are case-insensitive, space or comma separated. No file, or no hide line, shows everything. There is no show keyword: an element comes back when no line hides it.

The elements

NameOn screenNeeds
modelthe model name (Opus)
effortthe effort level (· high)model
ctxthe context bar and its percentage
costthe session cost ($3.72)ctx
cachethe prompt-cache cue (· cache 42m, · cache cold ↻38k)ctx
daythe day bar with its spend and allowance
monththe month bar with its spend, limit and overage
pacethe tick in the month bar (│)month
agethe stale-fetch tag (·12m)day or month
repothe whole repository row
paththe working directoryrepo
branchthe branch, with the repository name when the directory is named differentlyrepo
pendinguncommitted lines (· pending +16)branch
upstreamcommits ahead of and behind upstream (↑1↓2)branch
vslines changed against the default branch (· vs main +30)branch
sessionlines Claude Code edited this session (· session +118/-27)repo

Hiding an element hides everything that needs it; the listing marks those off (needs ctx). Hiding both day and month also stops the usage fetch (no credentials read, no request made). The rows and their order are fixed: the file can hide elements, not move them.

Requests

  • Hide something ("turn the pace tick off", "I don't want the cache countdown"): add its name to a hide line. Mention what goes with it when something does ("hiding ctx also hides the cost and the cache cue").
  • Show something again ("bring the session churn back"): remove the name from every hide line that carries it; delete a line left empty. If the element is off (needs X), it is X that must come back; say so.
  • What is displayed or hidden: run the listing and show it. For a pure question, stop there: no edit.
  • What can be switched on: the listing's off rows are the answer; an all-on listing means everything is already shown.
  • Why did X disappear: run the listing. off means the file hides it; off (needs Y) means Y is hidden. If X is on the file is not the reason: the element hides itself when it has nothing to show (no spend figure for the bars, a clean tree for pending, no edits yet for session, no cache observed yet for cache), and blank spend bars are /spend-statusline:doctor's question. Answer, no edit.
  • Reset to defaults: remove every hide line (keep the comments). Everything shows.
  • Reorder, move an element to another row, put the repo row first: not supported by the statusline, whose rows are fixed by design. Say so plainly and offer hiding instead.

Steps

  1. Show the current state. Run the listing and show it. For a question, stop here.
  2. Translate the request into the exact hide lines to add, change or remove, and name any dependents that go with them.
  3. Confirm before writing. Show the lines and the file path; write only after the user agrees, unless the user has already said not to ask. Do not rewrite lines that are not part of the request.
  4. Verify. Rerun the listing and show it: every requested name reads off (or on after a show), and there are no skipping lines on stderr. A name the listing reports as unknown is a typo; fix it and rerun.
  5. Report the change in a sentence. The statusline picks the file up on its next render, no restart needed.

Do not

  • Do not edit the plugin's copy of display.conf or the script itself. Edit the path the listing prints.
  • Do not write without showing the exact lines first (unless told not to ask).
  • Do not invent names: only the sixteen above exist. Check the listing rather than guess.
  • Do not add per-element environment variables to the statusLine command; the file is the one mechanism.
  • Do not skip the verification listing.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.