← ClaudeAtlas

iterm-labellisted

Set or change the per-iTerm2-session label — both the window/tab title AND the badge (watermark) for THIS iTerm2 pane only. Use when the user wants a custom name for this specific tab ("call this tab 'deploy debugging'", "label this session 'prod work'", "set the badge to 'frontend'"). Title and badge always share the same string in this skill (per Steve's design — banner and watermark should match). Edits ~/.claude/hooks/iterm-status.d/<session>.conf which is LOCAL ONLY (gitignored, not pushed). For changing colors instead, use /iterm-colors.
wasulajr/headsup · ★ 0 · AI & Automation · score 66
Install: claude install-skill wasulajr/headsup
# iTerm2 Per-Session Label Sets one shared string as both the iTerm2 badge (top-right watermark) and the window/tab title for THIS iTerm2 session only. Other tabs / panes are unaffected. Local-only — does NOT commit/push (session IDs change across iTerm2 restarts, so committing would just accumulate dead files). ## Files involved - **`~/.claude/hooks/iterm-status.d/<session-key>.conf`** — per-session conf, sourced by the hook script after the global conf. Holds `iterm_badge_text()` and `iterm_title_text()` definitions that return the chosen label. - The directory `iterm-status.d/` is gitignored; nothing committed. ## Flow **Prompt-first design.** Do NOT run any Bash commands before you have the label. Reading the current label or looking up the session key first would trigger a permission prompt before the user has even been asked what they want — that's worse UX than skipping the current-label read. If the user wants to know the current label they'll ask. 1. **Get the label.** - If the user passed an argument when invoking the skill (e.g. `/iterm-label deploy debugging`), use that argument verbatim as the label. Skip to step 2. - Otherwise, **ask the user** what they want to call this tab. One question, one string (title and badge share it). Do this with `AskUserQuestion` or plain text — but before any tool calls. 2. **Run a single Bash command** that does everything: resolves the session key from `ITERM_SESSION_ID` (looked up from the parent `claude` TUI proces