New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

skill-statusline

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

skill-statusline

Rich, themeable statusline for Claude Code — accurate context tracking, 5 themes, 3 layouts, token/cost/GitHub/skill display. Node.js renderer on Windows (no bash overhead), pure bash on Unix.

latest
Source
npmnpm
Version
2.4.2
Version published
Maintainers
1
Created
Source

skill-statusline

Rich, themeable statusline for Claude Code with accurate context tracking, 5 color themes, 3 layout modes, and zero dependencies. Uses a fast Node.js renderer on Windows (no Git Bash overhead), pure bash on Unix.

Install

npx skill-statusline install

Or install globally:

npm install -g skill-statusline
ccsl install

The installer walks you through choosing a theme and layout. Use --quick to skip the wizard and use defaults.

Layouts

Compact (2 rows)

 Opus 4.6         │ Downloads/Project      │ 47% $1.23
 Context: ████████████████████░░░░░░░░░░░░░░░░░░░░ 47%

Standard (4 rows — default)

 Skill: Edit                      │  GitHub: user/repo/main+~
 Model: Opus 4.6                  │  Dir: Downloads/Project
 Tokens: 85k + 12k                │  Cost: $1.23
 Context: ████████████████████░░░░░░░░░░░░░░░░░░░░ 46%

Full (6 rows)

 Skill: Edit                      │  GitHub: user/repo/main+~
 Model: Opus 4.6                  │  Dir: Downloads/Project
 Window: 85k + 12k                │  Cost: $1.23 ($0.12/m)
 Session: 125k + 34k              │  +156/-23  12m34s
 Cache: W:5k R:2k                 │  NORMAL @code-reviewer
 Context: ████████████████████░░░░░░░░░░░░░░░░░░░░ 46% 54% left

Themes

ThemePalette
defaultClassic purple/pink/cyan
nordArctic, blue-tinted
tokyo-nightVibrant neon
catppuccinWarm pastels (Mocha)
gruvboxRetro groovy
ccsl theme set nord

Fields

FieldColorDescription
SkillPinkLast tool used (Read, Write, Edit, Terminal, Agent...)
ModelPurpleActive model name + version
GitHubWhiteuser/repo/branch with + staged ~ unstaged indicators
DirCyanLast 3 path segments of working directory
TokensYellowCurrent context window: input + output
CostGreenSession cost in USD
ContextAdaptive40-char bar — white <=40%, orange 41-75%, red 76-90%, deep red >90%
SessionDimCumulative tokens across all turns (full layout)
DurationDimSession elapsed time (full layout)
LinesDim+added/-removed (full layout)
CacheBlueWrite/Read cache token counts (full layout)
VimTealNORMAL/INSERT mode when vim mode is on (full layout)
AgentBlue@agent-name when running with --agent (full layout)

Accurate Context Tracking

v2 computes context percentage from actual token counts (current_usage.input_tokens + cache_creation + cache_read) divided by context_window_size, instead of relying on the pre-calculated used_percentage which can lag behind. This fixes the v1 bug where the bar showed 77% while real usage was 92%.

Compaction warnings appear at configurable thresholds:

  • 85%+: Shows remaining percentage (15% left)
  • 95%+: Shows COMPACTING warning

CLI Commands

ccsl install              Install with theme/layout wizard
ccsl install --quick      Install with defaults
ccsl uninstall            Remove statusline
ccsl update               Update scripts (preserves config)

ccsl theme                List themes
ccsl theme set <name>     Set active theme
ccsl layout               List layouts
ccsl layout set <name>    Set active layout

ccsl preview              Preview with sample data
ccsl preview --theme x    Preview a specific theme
ccsl preview --layout x   Preview a specific layout

ccsl config               Show current config
ccsl config set k v       Set config option
ccsl doctor               Run diagnostics + benchmark
ccsl version              Show version

Config Options

Stored in ~/.claude/statusline-config.json:

OptionDefaultDescription
compaction_warning_threshold85% at which to show remaining context warning
bar_width40Width of context bar in characters
cache_ttl_seconds5How long to cache git/transcript results
show_burn_ratefalseShow $/min burn rate (full layout)
show_vim_modetrueShow vim mode indicator
show_agent_nametrueShow --agent name

Architecture

Single entry point (~/.claude/statusline-command.sh) on all platforms. On Windows, it auto-delegates to the Node.js renderer:

  • Windows: statusline-command.sh detects Git Bash/MSYS2 → exec node statusline-node.js (~30-50ms)
  • macOS/Linux: statusline-command.sh → exec bash core.sh (pure bash, <50ms with caching)

Git Bash on Windows has ~50-100ms overhead per subprocess spawn (awk, sed, grep, git, date). A bash statusline spawning 10-20 subprocesses = 500-1000ms. The Node.js renderer eliminates this by doing everything in a single process.

~/.claude/
  statusline-command.sh           # Entry point (all platforms)
  statusline-node.js              # Node.js renderer (auto-used on Windows)
  statusline/
    core.sh                       # Bash engine: parse JSON, compute fields, render
    json-parser.sh                # Nested JSON extraction (no jq)
    helpers.sh                    # Utilities + filesystem caching
    themes/{default,nord,...}.sh  # Color palettes
    layouts/{compact,...}.sh      # Render functions
  statusline-config.json          # User preferences

Terminal width is auto-detected — layouts gracefully degrade on narrow terminals.

Requirements

  • Node.js >=16 (installer + Windows renderer)
  • Git (for GitHub field)
  • Bash (macOS/Linux runtime only — not needed on Windows)
  • Works on Windows, macOS, Linux

Part of the Thinqmesh Skills Ecosystem

This statusline is also bundled with codebase-context-skill.

npx codebase-context-skill init

License

MIT — Thinqmesh Technologies

Keywords

claude-code

FAQs

Package last updated on 12 Mar 2026

Related posts