From claude-code-status
One-command full setup — bootstrap data directory, wire settings.json, and populate cache. No restart required.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-code-status:init-statuslineThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Full initialization of claude-code-status in a single command.
Full initialization of claude-code-status in a single command.
Run this after plugin install + /reload-plugins — no Claude Code restart needed.
claude plugin install claude-code-status and /reload-pluginsThis skill replaces the need to restart Claude Code for the SessionStart hook.
statusLine.command to the stable launcher pathThe environment variables CLAUDE_PLUGIN_ROOT and CLAUDE_PLUGIN_DATA are only available inside hook/skill runtime contexts — they are NOT available when Claude executes Bash tool commands. So you MUST resolve them from the known directory conventions:
# Find CLAUDE_PLUGIN_ROOT (versioned cache directory)
CLAUDE_PLUGIN_ROOT=$(ls -d ~/.claude/plugins/cache/claude-code-status/claude-code-status/*/ 2>/dev/null | head -1 | sed 's:/$::')
# CLAUDE_PLUGIN_DATA (persistent data directory)
CLAUDE_PLUGIN_DATA="$HOME/.claude/plugins/data/claude-code-status-claude-code-status"
If CLAUDE_PLUGIN_ROOT is empty (no directory found), the plugin is not installed. Tell the user to run claude plugin install claude-code-status and /reload-plugins first, then stop.
Use these resolved values as export in ALL subsequent bash commands. Do NOT rely on environment variables being set across separate Bash tool calls.
Run the SessionStart hook manually. This creates the full directory structure under $CLAUDE_PLUGIN_DATA.
export CLAUDE_PLUGIN_ROOT="<resolved path from step 0>"
export CLAUDE_PLUGIN_DATA="<resolved path from step 0>"
bash "$CLAUDE_PLUGIN_ROOT/hooks/session-start.sh"
After this step, verify these files exist:
$CLAUDE_PLUGIN_DATA/bin/status-line.sh$CLAUDE_PLUGIN_DATA/runtime/dist/render.jsIf either is missing, print the session-start log and stop:
cat "$CLAUDE_PLUGIN_DATA/logs/session-start.log"
Read ~/.claude/settings.json, set statusLine.command to $CLAUDE_PLUGIN_DATA/bin/status-line.sh, and write back.
Do NOT overwrite unrelated fields — merge only the statusLine key.
The statusLine object must have:
{
"type": "command",
"command": "node <CLAUDE_PLUGIN_DATA>/runtime/dist/render.js"
}
Using node render.js directly avoids spawning a bash process, which prevents CMD window flashing on Windows.
For each service (gmail, tasks, jira, github), attempt to run the collector. Collector failures are non-fatal — unconfigured services simply won't appear.
CLAUDE_PLUGIN_DATA="$CLAUDE_PLUGIN_DATA"
COLLECT="$CLAUDE_PLUGIN_DATA/runtime/dist/collect.js"
for svc in gmail tasks jira github; do
node "$COLLECT" --service "$svc" 2>&1 || true
done
Pipe sample JSON through the launcher and confirm output is not empty:
echo '{"rate_limits":{"five_hour":{"used_percentage":1},"seven_day":{"used_percentage":1}}}' \
| bash "$CLAUDE_PLUGIN_DATA/bin/status-line.sh"
Print a summary:
$CLAUDE_PLUGIN_DATA/cache/<service>.json)settings.json is correctly patched| Condition | Action |
|---|---|
Plugin cache directory not found in ~/.claude/plugins/cache/claude-code-status/ | Plugin is not installed. Tell user to run claude plugin install claude-code-status first |
| session-start.sh fails | Print the log file contents and stop |
| Launcher file missing after bootstrap | Print error and session-start log |
| Collector fails for a service | Non-fatal — print warning, continue to next service |
| settings.json parse error | Back up the file, then overwrite with minimal valid JSON |
npx claudepluginhub seojaewan/claude-code-status --plugin claude-code-statusInstalls and configures claude-2x-statusline for Claude Code. Prompts for Minimal, Standard, or Full tier with peak status, model info, rate limits, tokens, cost, timeline, and git; updates settings.json and fetches schedule.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.