From claude-code-mascot-statusline
Configures claude-code-mascot-statusline plugin: select mascot pack (pixel-buddy or space-invader with scope), optionally customize status line summary items, and write config files.
How this command is triggered — by the user, by Claude, or both
Slash command
/claude-code-mascot-statusline:setupThis command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
## Step 0: Choose mascot pack Ask the user which mascot pack they want to use. Use AskUserQuestion (adapt language to the user's language): - Question: Which mascot pack would you like to use? - Options: - "pixel-buddy" — A pixel-art cat that reacts to your coding session (default) - "space-invader" — A retro arcade-style space invader If the user chooses **pixel-buddy**, skip to Step 1 (it's the default, no config needed). If the user chooses **space-invader**, proceed to Step 0.5. ## Step 0.5: Choose scope (space-invader only) Ask the user where they want to apply the space-inva...
Ask the user which mascot pack they want to use.
Use AskUserQuestion (adapt language to the user's language):
If the user chooses pixel-buddy, skip to Step 1 (it's the default, no config needed).
If the user chooses space-invader, proceed to Step 0.5.
Ask the user where they want to apply the space-invader pack.
The config directory is $CLAUDE_CONFIG_DIR if set, otherwise ~/.claude. Resolve it first:
echo "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"
Use AskUserQuestion (adapt language to the user's language):
<config-dir>/plugins/claude-code-mascot-statusline/config.json.claude/mascot.json in the current projectBased on the user's choice, write the config file:
For user global:
mkdir -p "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/plugins/claude-code-mascot-statusline"
Then use the Write tool to write <resolved-config-dir>/plugins/claude-code-mascot-statusline/config.json:
{
"pack": "space-invader"
}
For this project only:
mkdir -p .claude
Then use the Write tool to write .claude/mascot.json:
{
"pack": "space-invader"
}
Confirm to the user which path was written.
Ask the user if they want to customize which items appear in the status line summary.
Use AskUserQuestion (adapt language to the user's language):
If the user chooses Show all, skip to Step 1.
If the user chooses Customize, ask in two rounds.
Round 1 — Basic info (AskUserQuestion, multiSelect: true):
project — Project directory namebranch — Git branchmodel — Model name (e.g., Opus 4.6)context — Context window usage %Round 2 — Monitoring (AskUserQuestion, multiSelect: true):
usage5h — 5-hour API usage %usage7d — 7-day API usage %tools, failures, subagents as a group)Combine the user's selections from both rounds to build the final summaryItems array. If the user selected "Tool activity", expand it to ["tools", "failures", "subagents"].
Then ask for scope:
Use AskUserQuestion (adapt language to the user's language):
<config-dir>/plugins/claude-code-mascot-statusline/config.json.claude/mascot.json in the current projectWrite the config file at the chosen scope. If the file already exists, merge the summaryItems field without overwriting other settings. Use the Read tool to check for existing content first.
Example config:
{
"summaryItems": ["project", "branch", "context", "usage5h", "usage7d"]
}
Ask the user if they want to enable compact mode (face-only, 6-row display instead of 8-row).
Use AskUserQuestion (adapt language to the user's language):
If the user chooses Normal, skip to Step 1.
If the user chooses Compact, ask for scope:
Use AskUserQuestion (adapt language to the user's language):
<config-dir>/plugins/claude-code-mascot-statusline/config.json.claude/mascot.json in the current projectWrite the config file at the chosen scope. If the file already exists, merge the compact field without overwriting other settings. Use the Read tool to check for existing content first.
Example config:
{
"compact": true
}
Run the setup helper to merge statusLine and hooks into the user's settings.json (respects $CLAUDE_CONFIG_DIR).
The --plugin-root flag tells the helper where the plugin is installed:
node "${CLAUDE_PLUGIN_ROOT}/dist/cli/setup-helper.js" --write --plugin-root "${CLAUDE_PLUGIN_ROOT}"
If the command fails with "Cannot find module", the plugin may not be built. Try:
cd "${CLAUDE_PLUGIN_ROOT}" && npm run build && cd -
node "${CLAUDE_PLUGIN_ROOT}/dist/cli/setup-helper.js" --write --plugin-root "${CLAUDE_PLUGIN_ROOT}"
Read the settings.json that was just updated and confirm:
statusLine.command is set and points to render-status-line.jshooks contains entries for mascot hook events (SessionStart, Stop, etc.)Show the user the configured statusLine command.
Then, verify the render script actually works by running it with empty input:
echo '{}' | node "${CLAUDE_PLUGIN_ROOT}/dist/cli/render-status-line.js" 2>&1
If it fails (e.g., Cannot find package / ERR_MODULE_NOT_FOUND), install dependencies and retry:
cd "${CLAUDE_PLUGIN_ROOT}" && npm install --production && cd -
echo '{}' | node "${CLAUDE_PLUGIN_ROOT}/dist/cli/render-status-line.js" 2>&1
If it still fails, show the error to the user and stop.
Tell the user:
Then, show the GitHub repository URL and ask if they'd like to star it.
Use AskUserQuestion (adapt language to the user's language):
If user chooses to star and gh CLI is available, run:
gh api -X PUT /user/starred/TeXmeijin/claude-code-mascot-statusline
Then confirm the star was successful.
If user chooses to skip, thank them and end.
npx claudepluginhub texmeijin/claude-code-mascot-statusline --plugin claude-code-mascot-statusline/starshipGuides interactive setup wizard for starship-claude statusline in Claude Code: checks/installs Starship, manages ~/.claude/starship.toml config, detects Nerd Fonts.
/powerlineRuns interactive setup wizard for Claude Powerline statusline: checks Node.js 18+, detects Nerd Fonts, selects theme, generates ~/.claude/claude-powerline.json config.
/setupConfigures the claude-dashboard status line with display mode, language, plan, and custom widget layouts — supports compact, normal, detailed, and custom modes.
/companion-statuslineManages companion statusline: shows current pet/mode/speech status if active, then change display mode (hud/sprite/combined), speech bubble (off/fun/review), remove, or nothing.
/configureInteractively configure Claude HUD display: layout, presets, toggle elements (git status, usage, tools activity), custom line. Preserves advanced overrides.
/setupInstalls the which-claude-code statusline into ~/.claude/settings.json by running an idempotent Bash setup script that backs up existing config. Requires new session or /reload.