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:

  1. Plugin configuration created in .fractary/plugins/status/
  2. .claude/settings.json contains statusLine with absolute path reference
  3. .gitignore updated to exclude cache file
  4. User is informed of successful installation
  5. User understands UserPromptSubmit hook is managed at plugin level and uses ${CLAUDE_PLUGIN_ROOT}
  6. 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?

Be as detailed as possible for better results