Bulwark statusline
Development workflow enforcement plugin for Claude Code
npx -y skills add QBall-Inc/the-bulwark --skill bulwark-statuslineAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Configure the Bulwark status line for Claude Code. Supports init, preset switching, and customization.
SKILL.md
4.2 KB, as published. Nobody here has run it
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 | /bulwark-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
/bulwark-statusline init # Install with default (developer) preset
/bulwark-statusline minimal # Switch to minimal preset (1 line)
/bulwark-statusline developer # Switch to developer preset (3 lines)
/bulwark-statusline cost # Switch to cost preset (2 lines)
Argument Handling
The subcommand is passed via $1:
/bulwark-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/bulwark-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/bulwark-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/bulwark-statusline/scripts/statusline.sh | Main script (bundled with skill) |
skills/bulwark-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)