Skip to content
Back to skills

Statusline Edit

ASecurity

Edit existing status line configuration with pre-selected options based on current settings.

  • 34 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 6, 2026
ai-agentsshellbashgitapi

Works with

  • claude code
  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add charlesjones-dev/claude-code-plugins-dev --skill statusline-edit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Statusline Edit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Statusline Edit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/charlesjones-dev-statusline-edit/badge)](https://www.skillsdirectory.com/skills/charlesjones-dev-statusline-edit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: statusline-edit
description: "Edit existing status line configuration with pre-selected options based on current settings."
disable-model-invocation: true
---

# Status Line Edit

Edit your existing Claude Code status line configuration.

## Instructions

**CRITICAL**: This command MUST NOT accept any arguments. If the user provided any text after this command, COMPLETELY IGNORE it.

### Phase 1: Detect Existing Configuration

1. Detect the operating system using Bash: `uname -s`
   - "Darwin" = macOS, "Linux" = Linux, otherwise assume Windows
2. Check if the status line script exists:
   - **Mac/Linux**: `~/.claude/statusline.sh`
   - **Windows**: `C:/Users/USERNAME/.claude/statusline.ps1`
3. If the script does NOT exist, display:
   ```
   No status line script found at ~/.claude/statusline.sh

   Run /statusline-wizard to set up your status line first.
   ```
   Then STOP - do not continue.

### Phase 2: Read Current Configuration

Read the existing script file and parse the current SHOW_* variable values:

**For Bash scripts**, look for lines like:
```bash
SHOW_MODEL=true
SHOW_EFFORT=true
SHOW_TOKEN_COUNT=true
SHOW_PROGRESS_BAR=true
SHOW_DIRECTORY=true
SHOW_GIT_BRANCH=true
SHOW_COST=false
SHOW_DURATION=true
SHOW_TIME=true
SHOW_VERSION=true
SHOW_RATE_LIMITS=true
SHOW_SPEND_BUDGET=false
SPEND_LIMIT_USD=0
SPEND_RESET_DAY=1
SPEND_RESET_TIME=00:00
```

**For PowerShell scripts**, look for lines like:
```powershell
$SHOW_MODEL = $true
$SHOW_EFFORT = $true
$SHOW_TOKEN_COUNT = $true
$SHOW_PROGRESS_BAR = $true
$SHOW_DIRECTORY = $true
$SHOW_GIT_BRANCH = $true
$SHOW_COST = $false
$SHOW_DURATION = $true
$SHOW_TIME = $true
$SHOW_VERSION = $true
$SHOW_RATE_LIMITS = $true
$SHOW_SPEND_BUDGET = $false
$SPEND_LIMIT_USD = 0
$SPEND_RESET_DAY = 1
$SPEND_RESET_TIME = '00:00'
```

Store the current values to use as defaults in the wizard.

**Note:** Scripts generated by older plugin versions may lack `SHOW_EFFORT` (pre-1.3.0) or `SHOW_SPEND_BUDGET` / `SPEND_LIMIT_USD` / `SPEND_RESET_DAY` / `SPEND_RESET_TIME` (pre-1.4.0). If a variable is not present in the script, OMIT the matching option from the wizard (toggling it would have no effect) and, after the update completes, mention that re-running `/statusline-wizard` will regenerate the script with support for the missing segment(s).

### Phase 3: Configuration Wizard with Pre-selected Values

Use AskUserQuestion with these grouped questions. **Pre-select options based on current values from Phase 2.**

**Question 1 - Context Display** (multiSelect: true):
Options (pre-select based on current config):
- Model name - select if SHOW_MODEL=true
- Effort level - select if SHOW_EFFORT=true
- Token count (50k/100k) - select if SHOW_TOKEN_COUNT=true
- Progress bar - select if SHOW_PROGRESS_BAR=true

**Question 2 - Project Display** (multiSelect: true):
Options (pre-select based on current config):
- Current directory - select if SHOW_DIRECTORY=true
- Git branch - select if SHOW_GIT_BRANCH=true

**Question 3 - Session Display** (multiSelect: true):
Options (pre-select based on current config):
- Session duration - select if SHOW_DURATION=true
- Current time - select if SHOW_TIME=true
- Claude Code version - select if SHOW_VERSION=true
- Session cost - select if SHOW_COST=true

**Question 4 - Usage Limits** (multiSelect: true):
Options (pre-select based on current config):
- Rate limit usage (5h/7d) - select if SHOW_RATE_LIMITS=true. Description: "Only shown on plans with rolling rate-limit windows (Pro/Max). Enterprise and API seats billed against a monthly spend cap have no rate limits, so the segment stays hidden — pick Monthly spend budget instead."
- Monthly spend budget (mo:$47.20/$2000 2.4%) - select if SHOW_SPEND_BUDGET=true. Description: "Month-to-date spend across all Claude Code sessions on this machine, as estimated locally by Claude Code."

**Questions 5 and 6 - Spend cap and reset** (only ask if "Monthly spend budget" is selected; send both in one AskUserQuestion call, single select each):

Question 5 - Monthly spend cap (USD): offer "No cap - show bare total", "$500", "$1000", "$2000", pre-selecting the option that matches the current `SPEND_LIMIT_USD` (or describe the current custom value in the question text). The user can pick "Other" and type any amount; write the numeric value (digits and optional decimal point only) into `SPEND_LIMIT_USD`. `0` means no cap.

Question 6 - When does the cap reset?: offer "1st of the month at 00:00 UTC" (Anthropic console default), "1st of the month at midnight local time", and "Keep current: day N at HH:MM UTC" showing the values read in Phase 2. The user can pick "Other" and paste what the console shows (e.g., "Resets Wed, Sep 30, 8:00 PM EDT"); convert it to UTC and write the day of month (1-28) to `SPEND_RESET_DAY` and `HH:MM` (24-hour) to `SPEND_RESET_TIME`. Tell the user the UTC values you wrote.

### Phase 4: Update Script

Update ONLY the SHOW_* variables (and `SPEND_LIMIT_USD`, `SPEND_RESET_DAY`, `SPEND_RESET_TIME`) at the top of the existing script file based on wizard selections.

**For Bash**: Use Edit tool to replace the configuration block:
```bash
SHOW_MODEL=true           # Show model name (e.g., "Claude Opus 4.8")
SHOW_EFFORT=true          # Show reasoning effort level (e.g., "high")
SHOW_TOKEN_COUNT=true     # Show token usage count (e.g., "50k/100k")
...
```

**For PowerShell**: Use Edit tool to replace the configuration block:
```powershell
$SHOW_MODEL = $true           # Show model name (e.g., "Claude Opus 4.8")
$SHOW_EFFORT = $true          # Show reasoning effort level (e.g., "high")
$SHOW_TOKEN_COUNT = $true     # Show token usage count (e.g., "50k/100k")
...
```

**IMPORTANT**: Do NOT regenerate the entire script. Only update the configuration variables section.

### Success Message

After successful update, display:

```
Status line updated!

Check out your refreshed status line below!

Current configuration:
- Model name: [enabled/disabled]
- Effort level: [enabled/disabled]
- Token count: [enabled/disabled]
- Progress bar: [enabled/disabled]
- Directory: [enabled/disabled]
- Git branch: [enabled/disabled]
- Session cost: [enabled/disabled]
- Duration: [enabled/disabled]
- Time: [enabled/disabled]
- Version: [enabled/disabled]
- Rate limits: [enabled/disabled]
- Monthly spend budget: [enabled/disabled] (cap: $N or none; resets day N at HH:MM UTC)
```

If the monthly spend budget was just enabled, append:

```
Monthly spend note: the "mo:" segment is Claude Code's local cost estimate for sessions
on this machine rendered from now on. It will not match the Anthropic console exactly;
use the console usage page for the authoritative figure.
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.