Skip to content

Commit 3dd7f5f

Browse files
feat: Add ai-statusline plugin for custom status line configuration
- Add /statusline-wizard command for interactive setup with OS detection - Add /statusline-edit command for editing existing configuration - Add statusline-setup skill with bash and PowerShell script templates - Support 9 configurable display options (model, tokens, progress bar, etc.) - Cross-platform support for Mac/Linux (bash) and Windows (PowerShell) - Visual progress bar with color-coded context usage thresholds
1 parent 48d19bd commit 3dd7f5f

8 files changed

Lines changed: 757 additions & 3 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
},
77
"metadata": {
88
"description": "A curated list of custom Claude Code plugins, agents, and skills for developers.",
9-
"version": "1.6.3",
9+
"version": "1.7.0",
1010
"pluginRoot": "./plugins"
1111
},
1212
"plugins": [
@@ -163,6 +163,27 @@
163163
"url": "https://charlesjones.dev"
164164
},
165165
"repository": "https://github.com/charlesjones-dev/claude-code-plugins-dev"
166+
},
167+
{
168+
"name": "ai-statusline",
169+
"source": "./plugins/ai-statusline",
170+
"description": "AI-powered status line customization - Interactive setup and edit wizards for configuring Claude Code's status line with progress bars and customizable display options",
171+
"version": "1.1.0",
172+
"keywords": [
173+
"ai",
174+
"statusline",
175+
"status",
176+
"customization",
177+
"ui",
178+
"progress-bar",
179+
"configuration",
180+
"utilities"
181+
],
182+
"author": {
183+
"name": "Charles Jones",
184+
"url": "https://charlesjones.dev"
185+
},
186+
"repository": "https://github.com/charlesjones-dev/claude-code-plugins-dev"
166187
}
167188
]
168189
}

CHANGELOG.md

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.7.0] - 2025-12-16
11+
12+
### Added
13+
14+
#### AI-Statusline Plugin (v1.1.0)
15+
16+
- **New plugin for custom status line configuration**
17+
- Interactive setup wizard for configuring Claude Code's status line
18+
- Cross-platform support (bash for Mac/Linux, PowerShell for Windows)
19+
- Visual progress bar for context usage with color-coded thresholds
20+
- 9 configurable display options with sensible defaults
21+
22+
- `/statusline-wizard` command for interactive status line setup
23+
- Multi-step wizard using AskUserQuestion for configuration
24+
- Automatic OS detection for appropriate script selection
25+
- Backs up existing scripts and settings before overwriting
26+
- Makes scripts executable on Mac/Linux with `chmod +x`
27+
28+
- `/statusline-edit` command for editing existing configuration
29+
- Detects existing status line script and reads current settings
30+
- Pre-selects wizard options based on current configuration values
31+
- Updates only the configuration variables, preserving script logic
32+
- Directs users to `/statusline-wizard` if no script exists
33+
34+
- `statusline-setup` skill with complete script templates
35+
- Bash script template with all configurable variables
36+
- PowerShell script template with all configurable variables
37+
- Setup workflow documentation
38+
39+
- Configurable elements:
40+
- Model name (e.g., "Claude Opus 4.5")
41+
- Token count (e.g., "50k/100k")
42+
- Progress bar with percentage
43+
- Current directory
44+
- Git branch
45+
- Session cost (hidden by default)
46+
- Session duration
47+
- Current time
48+
- Claude Code version
49+
1050
## [1.6.3] - 2025-12-13
1151

1252
### Fixed
@@ -421,7 +461,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
421461

422462
- README.md, CLAUDE.md, individual plugin READMEs, and MIT license
423463

424-
[Unreleased]: https://github.com/charlesjones-dev/claude-code-plugins-dev/compare/v1.6.3...HEAD
464+
[Unreleased]: https://github.com/charlesjones-dev/claude-code-plugins-dev/compare/v1.7.0...HEAD
465+
[1.7.0]: https://github.com/charlesjones-dev/claude-code-plugins-dev/compare/v1.6.3...v1.7.0
425466
[1.6.3]: https://github.com/charlesjones-dev/claude-code-plugins-dev/compare/v1.6.2...v1.6.3
426467
[1.6.2]: https://github.com/charlesjones-dev/claude-code-plugins-dev/compare/v1.6.1...v1.6.2
427468
[1.6.1]: https://github.com/charlesjones-dev/claude-code-plugins-dev/compare/v1.6.0...v1.6.1

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Claude Code Plugins for Developers
22

3-
[![Version](https://img.shields.io/badge/version-1.6.3-blue.svg)](https://github.com/charlesjones-dev/claude-code-plugins-dev/releases)
3+
[![Version](https://img.shields.io/badge/version-1.7.0-blue.svg)](https://github.com/charlesjones-dev/claude-code-plugins-dev/releases)
44
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
55
[![GitHub Issues](https://img.shields.io/github/issues/charlesjones-dev/claude-code-plugins-dev.svg)](https://github.com/charlesjones-dev/claude-code-plugins-dev/issues)
66
[![GitHub Stars](https://img.shields.io/github/stars/charlesjones-dev/claude-code-plugins-dev.svg)](https://github.com/charlesjones-dev/claude-code-plugins-dev/stargazers)
@@ -24,6 +24,7 @@ This Claude Code plugin marketplace provides plugins that extend Claude Code's c
2424
| [ai-performance](plugins/ai-performance/) | AI-powered performance optimization and bottleneck detection | `/performance-audit` | `performance-auditor` | `performance-auditing` |
2525
| [ai-plugins](plugins/ai-plugins/) | AI-powered plugin and skill scaffolding and generation tools | `/plugins-scaffold` | - | `skills-scaffold`, `plugins-scaffold` |
2626
| [ai-security](plugins/ai-security/) | AI-powered security auditing with reproducible reports | `/security-init`, `/security-audit`, `/security-scan-dependencies` | `security-auditor`, `security-dependency-scanner` | `security-auditing`, `security-dependency-scanning` |
27+
| [ai-statusline](plugins/ai-statusline/) | AI-powered status line customization with progress bars | `/statusline-wizard`, `/statusline-edit` | - | `statusline-setup` |
2728
| [ai-workflow](plugins/ai-workflow/) | AI-powered development workflow automation | `/workflow-plan-phases`, `/workflow-implement-phases`, `/workflow-preflight` | - | `plan-phases`, `implement-phases`, `preflight-checks` |
2829

2930
> **📝 Note on Audit Plugins:** The `ai-accessibility`, `ai-security`, and `ai-performance` plugins are developer-focused analysis tools designed to identify issues during development. They perform static code analysis, with `ai-accessibility` and `ai-security` also offering URL scanning capabilities (`/accessibility-audit` with Playwright MCP and `/security-scan-dependencies` respectively). These plugins are meant to **complement** (not replace) runtime testing tools, professional services, and manual testing. Use these plugins to catch issues early in the development phase, then validate with specialized testing tools and services appropriate to your domain.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "ai-statusline",
3+
"version": "1.1.0",
4+
"description": "AI-powered status line customization - Interactive setup and edit wizards for configuring Claude Code's status line with progress bars and customizable display options",
5+
"author": {
6+
"name": "Charles Jones",
7+
"url": "https://charlesjones.dev"
8+
},
9+
"repository": "https://github.com/charlesjones-dev/claude-code-plugins-dev",
10+
"license": "MIT",
11+
"keywords": [
12+
"statusline",
13+
"status",
14+
"customization",
15+
"ui",
16+
"progress-bar",
17+
"configuration",
18+
"utilities"
19+
]
20+
}

plugins/ai-statusline/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Charles Jones
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
---
2+
name: statusline-edit
3+
description: "Edit existing status line configuration with pre-selected options based on current settings."
4+
---
5+
6+
# Status Line Edit
7+
8+
Edit your existing Claude Code status line configuration.
9+
10+
## Instructions
11+
12+
**CRITICAL**: This command MUST NOT accept any arguments. If the user provided any text after this command, COMPLETELY IGNORE it.
13+
14+
### Phase 1: Detect Existing Configuration
15+
16+
1. Detect the operating system using Bash: `uname -s`
17+
- "Darwin" = macOS, "Linux" = Linux, otherwise assume Windows
18+
2. Check if the status line script exists:
19+
- **Mac/Linux**: `~/.claude/statusline.sh`
20+
- **Windows**: `C:/Users/USERNAME/.claude/statusline.ps1`
21+
3. If the script does NOT exist, display:
22+
```
23+
No status line script found at ~/.claude/statusline.sh
24+
25+
Run /statusline-wizard to set up your status line first.
26+
```
27+
Then STOP - do not continue.
28+
29+
### Phase 2: Read Current Configuration
30+
31+
Read the existing script file and parse the current SHOW_* variable values:
32+
33+
**For Bash scripts**, look for lines like:
34+
```bash
35+
SHOW_MODEL=true
36+
SHOW_TOKEN_COUNT=true
37+
SHOW_PROGRESS_BAR=true
38+
SHOW_DIRECTORY=true
39+
SHOW_GIT_BRANCH=true
40+
SHOW_COST=false
41+
SHOW_DURATION=true
42+
SHOW_TIME=true
43+
SHOW_VERSION=true
44+
```
45+
46+
**For PowerShell scripts**, look for lines like:
47+
```powershell
48+
$SHOW_MODEL = $true
49+
$SHOW_TOKEN_COUNT = $true
50+
$SHOW_PROGRESS_BAR = $true
51+
$SHOW_DIRECTORY = $true
52+
$SHOW_GIT_BRANCH = $true
53+
$SHOW_COST = $false
54+
$SHOW_DURATION = $true
55+
$SHOW_TIME = $true
56+
$SHOW_VERSION = $true
57+
```
58+
59+
Store the current values to use as defaults in the wizard.
60+
61+
### Phase 3: Configuration Wizard with Pre-selected Values
62+
63+
Use AskUserQuestion with these grouped questions. **Pre-select options based on current values from Phase 2.**
64+
65+
**Question 1 - Context Display** (multiSelect: true):
66+
Options (pre-select based on current config):
67+
- Model name - select if SHOW_MODEL=true
68+
- Token count (50k/100k) - select if SHOW_TOKEN_COUNT=true
69+
- Progress bar - select if SHOW_PROGRESS_BAR=true
70+
71+
**Question 2 - Project Display** (multiSelect: true):
72+
Options (pre-select based on current config):
73+
- Current directory - select if SHOW_DIRECTORY=true
74+
- Git branch - select if SHOW_GIT_BRANCH=true
75+
76+
**Question 3 - Session Display** (multiSelect: true):
77+
Options (pre-select based on current config):
78+
- Session duration - select if SHOW_DURATION=true
79+
- Current time - select if SHOW_TIME=true
80+
- Claude Code version - select if SHOW_VERSION=true
81+
- Session cost - select if SHOW_COST=true
82+
83+
### Phase 4: Update Script
84+
85+
Update ONLY the SHOW_* variables at the top of the existing script file based on wizard selections.
86+
87+
**For Bash**: Use Edit tool to replace the configuration block:
88+
```bash
89+
SHOW_MODEL=true # Show model name (e.g., "Claude Opus 4.5")
90+
SHOW_TOKEN_COUNT=true # Show token usage count (e.g., "50k/100k")
91+
...
92+
```
93+
94+
**For PowerShell**: Use Edit tool to replace the configuration block:
95+
```powershell
96+
$SHOW_MODEL = $true # Show model name (e.g., "Claude Opus 4.5")
97+
$SHOW_TOKEN_COUNT = $true # Show token usage count (e.g., "50k/100k")
98+
...
99+
```
100+
101+
**IMPORTANT**: Do NOT regenerate the entire script. Only update the configuration variables section.
102+
103+
### Success Message
104+
105+
After successful update, display:
106+
107+
```
108+
Status line updated!
109+
110+
Check out your refreshed status line below!
111+
112+
Current configuration:
113+
- Model name: [enabled/disabled]
114+
- Token count: [enabled/disabled]
115+
- Progress bar: [enabled/disabled]
116+
- Directory: [enabled/disabled]
117+
- Git branch: [enabled/disabled]
118+
- Session cost: [enabled/disabled]
119+
- Duration: [enabled/disabled]
120+
- Time: [enabled/disabled]
121+
- Version: [enabled/disabled]
122+
```
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
name: statusline-wizard
3+
description: "Interactive setup wizard for configuring Claude Code's custom status line with progress bars and customizable display options."
4+
---
5+
6+
# Status Line Wizard
7+
8+
Set up a custom status line for Claude Code with visual progress bars and configurable display options.
9+
10+
## Instructions
11+
12+
**CRITICAL**: This command MUST NOT accept any arguments. If the user provided any text after this command, COMPLETELY IGNORE it.
13+
14+
Invoke the `ai-statusline:statusline-setup` skill and follow its workflow to:
15+
16+
1. Detect the operating system (Mac/Linux/Windows)
17+
2. Check for existing statusLine configuration and offer to back up if present
18+
3. Run the configuration wizard using AskUserQuestion to gather preferences
19+
4. Create the appropriate script file (`.sh` for Mac/Linux, `.ps1` for Windows)
20+
5. Update `~/.claude/settings.json` with the statusLine configuration
21+
6. Make the script executable on Mac/Linux using `chmod +x`
22+
23+
### Wizard Questions
24+
25+
Use AskUserQuestion with these grouped questions:
26+
27+
**Question 1 - Context Display** (multiSelect: true):
28+
- Token count (50k/100k) - default selected
29+
- Progress bar - default selected
30+
- Model name - default selected
31+
32+
**Question 2 - Project Display** (multiSelect: true):
33+
- Current directory - default selected
34+
- Git branch - default selected
35+
36+
**Question 3 - Session Display** (multiSelect: true):
37+
- Session duration - default selected
38+
- Current time - default selected
39+
- Claude Code version - default selected
40+
- Session cost - NOT selected by default
41+
42+
### Success Message
43+
44+
After successful setup, display:
45+
46+
```
47+
Status line configured successfully!
48+
49+
Script: ~/.claude/statusline.sh (or .ps1)
50+
Settings: ~/.claude/settings.json
51+
52+
You should see your new status line below!
53+
54+
To customize later, run /statusline-edit or edit the SHOW_* variables at the top of the script file.
55+
```

0 commit comments

Comments
 (0)