| 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 ~/.bulwark
-
Bash: Copy default config template
cp "${CLAUDE_PROJECT_DIR}/skills/ez-statusline/templates/statusline-default.yaml" ~/.bulwark/statusline.yaml
-
Spawn 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 to minimal
- 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 to developer
- 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 to cost
- 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)