From Claude Skill HUD
One-time setup that wires the Claude Skill HUD status line into the user's global settings.json. Run this once, right after installing the claude-skill-hud plugin, to finish activating the HUD.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-skill-hud:skill-hud-setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The `claude-skill-hud` plugin's hooks (which log skill invocations) are
The claude-skill-hud plugin's hooks (which log skill invocations) are
already active now that the plugin is installed. The one piece a plugin
cannot wire up automatically is the main session status line — that's a
plain user-level settings.json field, not a plugin-managed component, so it
needs to be written once, explicitly.
This skill's job: add that one statusLine entry, without touching anything
else already in the user's settings.
These paths were substituted into this skill's content when it loaded, so they're already correct for wherever this plugin is installed on this machine:
${CLAUDE_PLUGIN_ROOT}${CLAUDE_PLUGIN_DATA}${CLAUDE_PLUGIN_ROOT}/scripts/statusline.shRead ~/.claude/settings.json. If it doesn't exist, treat it as {}.
Check the existing statusLine key, if any:
scripts/statusline.sh from
this plugin's root, the HUD is already configured — tell the user this
and stop, no changes needed.statusLine is already configured (the user has their
own custom one), stop and ask the user how they want to proceed. Do not
silently overwrite it. Options: replace it, or skip HUD setup and let
the user merge it manually.statusLine key exists, proceed to step 3.Add this exact block to the settings JSON, merging it in alongside any other existing top-level keys (do not remove or reorder unrelated keys):
"statusLine": {
"type": "command",
"command": "CLAUDE_PLUGIN_DATA=\"${CLAUDE_PLUGIN_DATA}\" \"${CLAUDE_PLUGIN_ROOT}/scripts/statusline.sh\"",
"refreshInterval": 2
}
The CLAUDE_PLUGIN_DATA=... prefix is required: the main status line
runs outside the plugin hook/MCP substitution system, so this is the one
place that env var has to be set explicitly rather than relying on
automatic injection. refreshInterval is a safety net on top of the
normal event-driven refresh (after each assistant message) — it forces a
re-render every 2 seconds so the HUD can't visibly linger stale.
Write the updated settings file back, preserving existing formatting and keys as much as possible.
Confirm to the user in one or two sentences that the HUD is active, and
mention that a new session (or /statusline reload if supported) is
needed for the change to take effect. Also mention how to undo: remove
the statusLine key from ~/.claude/settings.json, or run
/plugin uninstall claude-skill-hud.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Reference for writing and editing skills with predictable behavior, covering invocation models, description writing, and information hierarchy.
npx claudepluginhub apappas1129/claude-skill-hud --plugin claude-skill-hud