# Statusline

> Manage ccstatusline configs — save, restore, apply, switch presets. Portable across machines via this skill directory. Use when user says "save my status line", "switch status line", "restore status line", "status line preset", "update status line", "set up status line", "ccstatusline", or wants to change Claude Code status bar appearance.

- Skill: `jaquevan/statusline` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add jaquevan/statusline`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jaquevan/statusline/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jaquevan (https://skillmd.com/u/jaquevan)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/jaquevan/statusline

---


# ccstatusline Manager

Manages [ccstatusline](https://github.com/sirmalloc/ccstatusline) configs
as portable presets in `configs/` subdirectory.

## Setup

ccstatusline runs via npx — no global install:
```
npx -y ccstatusline@latest
```

Config location: `~/.config/ccstatusline/settings.json`

Claude Code settings.json needs:
```json
{
  "statusLine": {
    "type": "command",
    "command": "npx -y ccstatusline@latest",
    "padding": 0,
    "refreshInterval": 10
  }
}
```

ccstatusline also installs hooks for skill tracking in settings.json:
```json
{
  "hooks": {
    "PreToolUse": [{"_tag": "ccstatusline-managed", "hooks": [{"type": "command", "command": "npx -y ccstatusline@latest --hook"}], "matcher": "Skill"}],
    "UserPromptSubmit": [{"_tag": "ccstatusline-managed", "hooks": [{"type": "command", "command": "npx -y ccstatusline@latest --hook"}]}]
  }
}
```

## Commands

### Save current config as preset
```bash
cp ~/.config/ccstatusline/settings.json <this-skill-dir>/configs/<name>.json
```

### Apply a preset
```bash
mkdir -p ~/.config/ccstatusline
cp <this-skill-dir>/configs/<name>.json ~/.config/ccstatusline/settings.json
```

### List presets
```bash
ls <this-skill-dir>/configs/
```

### Launch TUI for interactive editing
User must run interactively:
```
! npx -y ccstatusline@latest
```
After exit, save result as preset.

### Full setup on new machine
1. Install config: `cp configs/default.json ~/.config/ccstatusline/settings.json`
2. Update `~/.claude/settings.json` with statusLine block and hooks above
3. Verify: `echo '{}' | npx -y ccstatusline@latest` — should render status bar

## Presets

| File | Description |
|------|-------------|
| `default.json` | 3-line Powerline tokyonight: model/effort/skills/cost, git/PR/CI, context/usage |
| `powerline.json` | Bold Powerline with colored backgrounds per widget |
| `minimal.json` | Single line: model, branch, context %, cost |

## Current Default Config

3-line Powerline layout with tokyonight theme:
- **Line 1:** Model (bold blue) | Thinking Effort (amber) | Output Style (teal) | Skills (gray) | flex | Session Cost (green)
- **Line 2:** Git Branch (red bold) | Changes (amber) | PR Review (blue) | flex | CI Status (green) | Ahead/Behind (gray)
- **Line 3:** Context Bar (blue) | Context % (teal) | flex | Session Usage (gray) | Weekly Usage (amber)

Powerline separators enabled, endCap "", compacts at 60% context.

## Key Features

- **60+ widgets** — model, git, tokens, usage, costs, custom commands
- **Powerline mode** — arrow separators, caps, 13+ themes
- **Gradient colors** — `gradient:atlas`, `gradient:rainbow`, etc.
- **Custom commands** — shell scripts rendered inline as widgets
- **Flex separators** — push widgets to edges
- **Import/export** — `~/ccstatusline-config.json`

## Gradient Presets

Use as foreground color on any widget:
`gradient:atlas`, `gradient:cristal`, `gradient:teen`, `gradient:mind`,
`gradient:morning`, `gradient:vice`, `gradient:passion`, `gradient:fruit`,
`gradient:instagram`, `gradient:retro`, `gradient:summer`, `gradient:rainbow`,
`gradient:pastel`

Custom: `gradient:FF0000-00FF00-0000FF`

## Powerline Themes

Available via `powerline.theme`:
`tokyonight`, `dracula`, `catppuccin`, `gruvbox`, `nord`, `solarized`,
`onedark`, `monokai`, `everforest`, `kanagawa`, `rosepine`, `cyberpunk`,
`ayu`, `material`, `nightfox`, `synthwave`

