webup-statusline

安装量: 574
排名: #6275

安装

npx skills add https://github.com/webup/skills-cc --skill webup-statusline
Status Line Generator
Generate a custom Claude Code status line script with your choice of columns and a color theme. Installs directly to
~/.claude/settings.json
.
How It Works
Claude Code supports custom status lines via a shell script configured in
~/.claude/settings.json
. The script receives session JSON on stdin (model, context window, workspace, vim, worktree, etc.) and prints formatted text to stdout.
This skill generates a bash script tailored to your preferences and installs it automatically.
Script Directory
Important
All scripts are located in the scripts/ subdirectory of this skill. Agent Execution Instructions : Determine this SKILL.md file's directory path as SKILL_DIR Script path = ${SKILL_DIR}/scripts/.mjs Replace all ${SKILL_DIR} in this document with the actual path Script Reference : Script Purpose scripts/generate.mjs Generate and install status line script from chosen options Prerequisites jq — required by the generated status line script to parse JSON input from Claude Code. On Windows, the script auto-detects jq installed via WinGet or scoop; if jq is still not found, add its directory to your PATH manually. Bun — required to run the generator. Use npx -y bun if not installed globally. Usage

Preview generated script

npx -y bun ${SKILL_DIR} /scripts/generate.mjs --elements model,context,effort,git,dir --theme gruvbox

Generate and install

npx
-y
bun
${SKILL_DIR}
/scripts/generate.mjs
--elements
model,context,effort,git,dir
--theme
dracula
--install
Options
Flag
Default
Description
--elements
model,context,cost,effort,style,git,dir
Comma-separated columns to display
--theme
gruvbox
Color theme — see table below
--effort-icon
arrow
(
) for iconic themes, none otherwise
Override the effort prefix icon. Presets:
arrow
,
bolt
,
flash
,
reason
,
dot
,
none
. A raw character is also accepted.
--install
off
Write script to
~/.claude/scripts/statusline.sh
and update
settings.json
Columns
Column
Description
Data source
model
Active model name (e.g. "Opus 4.7")
model.display_name
context
Progress bar + percentage —
color changes with remaining capacity
context_window.remaining_percentage
cost
Session API spend formatted as
$X.XX
in gold — hidden when rounds to
$0.00
cost.total_cost_usd
from input JSON
effort
Reasoning effort level —
color changes with level
effortLevel
in
~/.claude/settings.local.json
~/.claude/settings.json
style
Output style name (e.g. Explanatory, Learning) — hidden when "default"
output_style.name
from input JSON
git
Git branch name (yellow when dirty)
worktree.branch
→ git CLI
dir
Repo basename (original repo when in a worktree)
worktree.original_repo_dir
workspace.current_dir
worktree
Bold
worktree:
label (hidden outside a worktree)
worktree.name
→ parent-dir basename via git CLI
vim
Vim mode indicator (hidden when inactive)
vim.mode
Color-changing elements
context
— bar fill + percentage color scale with remaining capacity:
Remaining
Color
Meaning
> 50%
green
plenty of context
20–50%
yellow
watch out
< 20%
red
nearly full — compact soon
effort
— value + optional prefix icon color by level:
Level
Color
max
,
xhigh
,
high
bold red
medium
yellow
low
,
xlow
,
minimal
green
other / unset
dim (or hidden when completely unset)
Themes
Theme
Vibe
Icons rendered in bar
gruvbox
Warm retro, muted
model ·
effort ·
style ·
dir ·
worktree ·
git ·
vim
dracula
Modern dark, high saturation
model ·
effort ·
style ·
dir ·
worktree ·
git ·
vim
robbyrussell
Classic oh-my-zsh
no prefix icons — colors + labels only
minimal
Default terminal colors
no prefix icons — plain text
The
context
column intentionally skips a prefix icon — the colored progress bar is already visually rich. The
effort
prefix (
) is baked into iconic themes and can be overridden with
--effort-icon
.
Effort icons
Pass
--effort-icon
to swap the glyph in front of the effort value. Presets:
Preset
Glyph
Notes
arrow
Electric arrow —
default
, narrow
bolt
ϟ
Greek koppa — narrow lightning
flash
Classic lightning — wide in emoji-presentation fonts
reason
Therefore
dot
Filled circle
none
(hidden)
Drop the icon entirely
You can also pass any raw character as
--effort-icon
.
Worktree behavior
When inside a git worktree (detected via the input JSON's
worktree.*
fields or via
git rev-parse --git-common-dir
fallback), the
worktree
column shows a bold
worktree:
label using the parent dir name (e.g.
~/.codex/worktrees/46a6/clawmaster
worktree:46a6
). The
git
column prefers
worktree.branch
from the input JSON; the
dir
column prefers
worktree.original_repo_dir
so the repo identity stays stable across worktrees.
Invocation
This skill can be invoked with or without arguments:
No args
(
/webup-statusline
): Interactive prompt via
AskUserQuestion
to pick columns and theme.
With args
(
/webup-statusline dracula
): NLP parse for theme and column preferences.
Arg parsing (natural language)
The args string is free-form text. Use NLP to extract:
theme
— match against: gruvbox, robbyrussell, minimal, dracula. Recognize aliases (暗黑=dracula, 极简=minimal, 复古=gruvbox, レトロ=gruvbox).
elements
— look for mentions of: model, context/进度/コンテキスト, effort/推理强度/努力度, git/分支/ブランチ, dir/目录/ディレクトリ, worktree/工作树/ワークツリー, vim.
Unspecified fields use defaults:
model,context,effort,git,dir
columns,
gruvbox
theme.
Workflow
If no args provided
Use
AskUserQuestion
to ask 2 questions in a single prompt.
AskUserQuestion
caps each question at 4 options, so
offer curated presets for columns
rather than an exhaustive toggle list. If the user picks "Other", interpret their free text as a comma-separated column list (or a natural-language description that maps to one).
Q1 — Column preset
(single): Which columns to display? Offer these 3 curated presets —
AskUserQuestion
will auto-append an "Other" option that lets the user type a free-text column list or description.
"Everything (Recommended)" —
model,context,cost,effort,style,git,dir,worktree
(all columns that have a useful signal today;
vim
is excluded because most users don't use vim keybindings)
"Default" —
model,context,effort,style,git,dir
(balanced — drops cost and worktree; matches the skill's default flag value)
"Essentials" —
model,context,git,dir
(lean; no effort, no style, no cost)
If the user picks the auto-added "Other", treat their free text as a comma-separated column list, or as a natural-language description to map to columns. Fall back to
Default
if parsing is ambiguous.
Q2 — Theme
(single): Color theme?
"Dracula" — modern dark, purple/pink/cyan (Recommended)
"Gruvbox Dark" — warm retro palette, 24-bit true color
"Robbyrussell" — classic oh-my-zsh style, no icons
"Minimal" — no decoration, dim separators only
If args provided
Parse theme and columns from args. Skip the prompt. Map user selections to script flags: Column preset → expand to the preset's canonical --elements list: Everything → model,context,cost,effort,style,git,dir,worktree Default → model,context,effort,style,git,dir Essentials → model,context,git,dir Other (auto-added by AskUserQuestion ) → parse the user's free text; keep only recognized column names ( model,context,cost,effort,style,dir,worktree,git,vim ). If parsing is ambiguous, fall back to Default . Theme → --theme value (one of gruvbox , dracula , robbyrussell , minimal ) Run the generator with --install : npx -y bun ${SKILL_DIR} /scripts/generate.mjs --elements < list

--theme < theme

--install Tell user to restart Claude Code to see the new status line. Output Examples Dracula (all columns), remaining=49%, cost=$0.42, effort=high, output style=Explanatory, inside a worktree: ◈ Opus 4.7 | [■■■■■■■■■■□□□□□□□□□□] 51% | $0.42 | ↯ high | ❋ Explanatory | ⌂ clawmaster | ⊕ worktree:46a6 | ⎇ feat/xyz (bar yellow — 49% remaining; $0.42 gold session spend next to the bar; effort "high" bold red; purple ❋ Explanatory sits between effort and dir; context carries no prefix icon — the bar is already visual enough) Gruvbox Dark (model + context + effort + dir + git), remaining=88%, effort=medium: ✦ Opus 4.7 | [■■□□□□□□□□□□□□□□□□□□] 12% | ↯ medium | ⌂ skills-cc | ⎇ main (bar green — 88% remaining; effort "medium" yellow) Minimal (model + effort + dir + git), effort=low: Claude Opus 4.7 · low · skills-cc · main (no prefix icons in minimal; effort "low" green) Notes Generated script is saved to ~/.claude/scripts/statusline.sh Running the skill again overwrites the existing script — just re-run to change theme or columns The script uses jq to parse JSON input — make sure it's installed. On Windows, the script auto-detects WinGet and scoop jq paths; if jq is still not found, add it to PATH manually. Git dirty detection uses --no-optional-locks to avoid interfering with other git operations

返回排行榜