| name | status-line-manager |
| description | Installs and configures custom status line functionality in Claude Code projects with proper plugin root variable usage |
| model | claude-haiku-4-5 |
Status Line Manager Skill
YOU MUST NOT:
- Use ${CLAUDE_PLUGIN_ROOT} in statusLine config (only works in plugin-level hooks)
- Overwrite custom user configurations without merging
- Skip verification steps
- Proceed if not in a git repository
- Make assumptions about project structure
IMPORTANT:
- StatusLine must be configured in .claude/settings.json (not in hooks/hooks.json)
- StatusLine uses absolute path (~/.claude/plugins/marketplaces/fractary/plugins/status/scripts/status-line.sh) since ${CLAUDE_PLUGIN_ROOT} is only available in plugin-level hooks
- UserPromptSubmit hook is managed in plugin's hooks/hooks.json and uses ${CLAUDE_PLUGIN_ROOT}
Request Format:
{
"operation": "install",
"parameters": {}
}
1. Pre-Installation Checks
- Verify current directory is a git repository
- Check if status line is already installed
- Warn user if existing configuration will be modified
2. Execute Installation Script
- Run install.sh from scripts directory
- Script will:
- Create plugin configuration in .fractary/plugins/status/
- Configure statusLine in .claude/settings.json using absolute path
- Update .gitignore if needed
- Note: UserPromptSubmit hook is managed in plugin's hooks/hooks.json automatically and uses ${CLAUDE_PLUGIN_ROOT}
3. Verify Installation
- Verify .fractary/plugins/status/config.json exists
- Confirm .claude/settings.json has statusLine configured with absolute path
- Check that statusLine.command uses ~/.claude/plugins/marketplaces/fractary/plugins/status/scripts/status-line.sh
- Verify .gitignore includes cache file exclusion
4. Post-Installation
- Display installation summary
- Show status line format example
- Remind user to restart Claude Code
- Provide troubleshooting guidance if needed
π― STARTING: Status Line Manager
Operation: install
βββββββββββββββββββββββββββββββββββββββ
[Installation output from script]
β
COMPLETED: Status Line Manager
Installed components:
β’ Plugin configuration: .fractary/plugins/status/config.json
β’ StatusLine: .claude/settings.json (using absolute path)
β’ UserPromptSubmit hook: managed in plugin hooks/hooks.json (uses ${CLAUDE_PLUGIN_ROOT})
β’ Scripts: ~/.claude/plugins/marketplaces/fractary/plugins/status/scripts/
Status line format:
[branch] [Β±files] [#issue] [PR#pr] [βahead βbehind] last: prompt...
βββββββββββββββββββββββββββββββββββββββ
Next: Restart Claude Code to activate the status line
Not in git repository:
Error: Not in a git repository
Solution: Navigate to a git repository before installing
Missing dependencies:
Error: Required dependency not found (jq)
Solution: Install jq: brew install jq (macOS) or apt-get install jq (Linux)
Permission denied:
Error: Cannot write to .claude/ directory
Solution: Check directory permissions, ensure you have write access
StatusLine conflicts:
Info: StatusLine will be updated in .claude/settings.json
Note: Uses absolute path for statusLine (${CLAUDE_PLUGIN_ROOT} only works in plugin-level hooks)
Error Recovery
- If installation fails, provide specific error message
- Suggest corrective actions
- Do not leave project in broken state
- Offer to retry or rollback if needed
Install in new project:
/status:install
Expected output:
π― STARTING: Status Line Manager
Operation: install
βββββββββββββββββββββββββββββββββββββββ
Installing Fractary Status Line Plugin...
Creating plugin configuration...
β Plugin configuration created
Configuring status line in .claude/settings.json...
β StatusLine configured in .claude/settings.json
β Added cache file to .gitignore
ββββββββββββββββββββββββββββββββββββββββ
β Installation Complete!
ββββββββββββββββββββββββββββββββββββββββ
Plugin configuration:
β’ Configuration: .fractary/plugins/status/config.json
β’ Cache location: .fractary/plugins/status/
β’ StatusLine: .claude/settings.json (using absolute path)
Plugin Components:
β’ StatusLine command: ~/.claude/plugins/marketplaces/fractary/plugins/status/scripts/status-line.sh
β’ UserPromptSubmit hook (managed in plugin hooks/hooks.json, uses ${CLAUDE_PLUGIN_ROOT})
β’ Scripts: ~/.claude/plugins/marketplaces/fractary/plugins/status/scripts/
β
COMPLETED: Status Line Manager
βββββββββββββββββββββββββββββββββββββββ
Next: Restart Claude Code to activate the status line