name: ez-statusline description: Configure the Bulwark status line for Claude Code. Supports init, preset switching, and customization. user-invocable: true tools: - Bash - Read - Edit
Bulwark Status Line
Configure the Bulwark multi-line status line for Claude Code.
When to Use
Use this skill when:
- Setting up the Bulwark status line for the first time (
init) - Switching between status line presets (
minimal,developer,cost) - User asks to configure or customize the status line display
Invocation
This skill can be invoked two ways:
| Method | Example |
|---|---|
| Command | /ez-statusline minimal |
| Conversational | "Change my status line to minimal" |
When invoked, you (Claude) execute the steps using the tools declared above (Bash, Read, Edit).
Usage
/ez-statusline init # Install with default (developer) preset
/ez-statusline minimal # Switch to minimal preset (1 line)
/ez-statusline developer # Switch to developer preset (3 lines)
/ez-statusline cost # Switch to cost preset (2 lines)
Argument Handling
The subcommand is passed via $1:
/ez-statusline init
^^^^
$1 = "init"
Parse $1 and execute the corresponding subcommand below.
Subcommand: init
Install the Bulwark status line for first-time setup.
Execute these steps:
Bash: Create config directory
mkdir -p ~/.bulwarkBash: Copy default config template
cp "${CLAUDE_PROJECT_DIR}/skills/ez-statusline/templates/statusline-default.yaml" ~/.bulwark/statusline.yamlSpawn statusline-setup agent to update settings.json:
Task(subagent_type="statusline-setup", prompt=" GOAL: Add statusLine configuration to .claude/settings.json TARGET: .claude/settings.json (project level) EXACT JSON to add at top level of settings.json: { \"statusLine\": { \"type\": \"command\", \"command\": \"${CLAUDE_PROJECT_DIR}/skills/ez-statusline/scripts/statusline.sh\" } } If .claude/settings.json does not exist, create it with just this content. If it exists, merge the statusLine key into the existing JSON, preserving all other keys. ")Display to user: "Status line installed. Restart session to activate."
Subcommand: minimal
Switch to minimal preset (single line: model + gauge + tokens).
Execute these steps:
- Read:
~/.bulwark/statusline.yaml - Edit: Change
preset:value tominimal - Display to user: "Switched to minimal preset."
Subcommand: developer
Switch to developer preset (3 lines).
Lines displayed:
- Line 1: Model + gauge + tokens
- Line 2: Last modified file
- Line 3: Git branch + pending count
Execute these steps:
- Read:
~/.bulwark/statusline.yaml - Edit: Change
preset:value todeveloper - Display to user: "Switched to developer preset."
Subcommand: cost
Switch to cost preset (2 lines).
Lines displayed:
- Line 1: Model + gauge + tokens + cost
- Line 2: Duration
Execute these steps:
- Read:
~/.bulwark/statusline.yaml - Edit: Change
preset:value tocost - Display to user: "Switched to cost preset."
File Locations
| File | Purpose |
|---|---|
~/.bulwark/statusline.yaml |
User config (presets, colors) |
skills/ez-statusline/scripts/statusline.sh |
Main script (bundled with skill) |
skills/ez-statusline/templates/statusline-default.yaml |
Default config template |
Notes
- Status line updates automatically on each interaction
- Multi-line output is supported
- Colors use RGB escape codes for exact hex values
- Gauge and percentage colors match threshold (green/yellow/coral)