Agent skill
status-line-manager
Installs and configures custom status line functionality in Claude Code projects with proper plugin root variable usage
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/status-line-manager
SKILL.md
Status Line Manager Skill
<CRITICAL_RULES> YOU MUST:
- Execute the install.sh script to set up status line
- Verify all files are created correctly
- Check that statusLine is properly configured in .claude/settings.json using absolute path
- Provide clear feedback on installation status
- Document what was installed and where
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} </CRITICAL_RULES>
Request Format:
json
{
"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 </WORKFLOW>
<COMPLETION_CRITERIA> Installation is complete when:
- Plugin configuration created in .fractary/plugins/status/
- .claude/settings.json contains statusLine with absolute path reference
- .gitignore updated to exclude cache file
- User is informed of successful installation
- User understands UserPromptSubmit hook is managed at plugin level and uses ${CLAUDE_PLUGIN_ROOT}
- User is reminded to restart Claude Code </COMPLETION_CRITERIA>
π― 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
<ERROR_HANDLING>
Common Errors
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 </ERROR_HANDLING>
Install in new project:
bash
/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
Didn't find tool you were looking for?