Setup and manage Oh-My-Toong HUD for Claude Code statusLine
Installation
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Setup and manage Oh-My-Toong HUD for Claude Code statusLine
HUD Setup Skill
This skill configures the Oh-My-Toong HUD to display in Claude Code's status bar. Setup, restore, and backup all self-locate via ${CLAUDE_SKILL_DIR} substitution — no branch logic. The same skill source produces correct behavior whether deployed user-globally (~/.claude/skills/hud/) or project-locally (<project>/.claude/skills/hud/).
!`
set -euo pipefail
SETTINGS_FILE="${CLAUDE_SKILL_DIR}/../../settings.local.json"
BACKUP_FILE="${CLAUDE_SKILL_DIR}/../../statusLine.backup.json"if [ -e "$BACKUP_FILE" ]; thenecho"backup exists — skipping (first-time-only invariant preserved)"echo"BACKUP_FILE=$BACKUP_FILE"exit 0
fi
SETTINGS_CONTENT="{}"if [ -f "$SETTINGS_FILE" ]; then
SETTINGS_CONTENT="$(cat "$SETTINGS_FILE")"fiifecho"$SETTINGS_CONTENT" | jq -e 'has("statusLine")' > /dev/null 2>&1; thenecho"$SETTINGS_CONTENT" | jq '.statusLine' > "${BACKUP_FILE}.tmp"mv"${BACKUP_FILE}.tmp""$BACKUP_FILE"echo"backed up existing statusLine to $BACKUP_FILE"elseecho'{}' > "${BACKUP_FILE}.tmp"mv"${BACKUP_FILE}.tmp""$BACKUP_FILE"echo"wrote sentinel {} to $BACKUP_FILE (no prior statusLine)"fi
`
The first-time-only invariant ensures the original user statusLine is preserved on first setup; subsequent setups must not overwrite the backup with hud's own value. The sentinel {} represents "no prior statusLine existed" so /hud restore knows to remove the key on restore.
Update settings.local.json with hud statusLine (always executed — supports upgrades)
!`
set -euo pipefail
SETTINGS_FILE="${CLAUDE_SKILL_DIR}/../../settings.local.json"
SCRIPT_PATH="${CLAUDE_SKILL_DIR}/scripts/index.ts"if [ ! -f "$SETTINGS_FILE" ]; thenecho'{}' > "$SETTINGS_FILE"fi
jq --arg cmd "bun run $SCRIPT_PATH" \
'.statusLine = {"type":"command","command":$cmd}' \
"$SETTINGS_FILE" > "${SETTINGS_FILE}.tmp"mv"${SETTINGS_FILE}.tmp""$SETTINGS_FILE"echo"Updated statusLine.command to: bun run $SCRIPT_PATH"
`
${CLAUDE_SKILL_DIR} is substituted by Claude Code at preprocessing time, so $SCRIPT_PATH resolves to an absolute path (e.g., /Users/toong/.claude/skills/hud/scripts/index.ts for user-global, or /Users/toong/repos/<project>/.claude/skills/hud/scripts/index.ts for project-local). The jq invocation preserves all other keys in settings.local.json — only .statusLine is updated.
Inform user
Display success message including the deployed statusLine.command value (so user can verify the absolute path).
Instruct user to restart Claude Code.
Restore Process
When user runs /hud restore:
Resolve self-located paths
!`
set -euo pipefail
SETTINGS_FILE="${CLAUDE_SKILL_DIR}/../../settings.local.json"
BACKUP_FILE="${CLAUDE_SKILL_DIR}/../../statusLine.backup.json"echo"SETTINGS_FILE=$SETTINGS_FILE"echo"BACKUP_FILE=$BACKUP_FILE"
`