From magician
Enables and configures the Magician CLI status line — a real-time bar showing context %, rot warnings, token sparkline, model/git/cost, active skill, reasoning effort, lore state, and output voice. Also sets output brevity voice (warrior/scribe/bard).
How this skill is triggered — by the user, by Claude, or both
Slash command
/magician: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
A native Claude Code **status line** rendered by magician. It runs **locally, consumes zero API tokens**, updates on each message (debounced), and helps you catch **context rot** before it bites. It's driven by the bundled **`magician-ui`** CLI, which edits `~/.claude/settings.json` **safely** (timestamped backup → validate → atomic write; it never leaves settings broken and only ever touches t...
A native Claude Code status line rendered by magician. It runs locally, consumes zero API tokens, updates on each message (debounced), and helps you catch context rot before it bites. It's driven by the bundled magician-ui CLI, which edits ~/.claude/settings.json safely (timestamped backup → validate → atomic write; it never leaves settings broken and only ever touches the statusLine key).
| key | shows |
|---|---|
context | color-coded usage bar + used% + used/size tokens (green <70 · yellow 70–89 · red ≥90) |
rot | a ⚠ at ≥80% and 🔴 at ≥92% so you notice before compaction |
spark | a ▁▂▃▅▇ sparkline of recent context% (the token-flow stream) |
meta | model · git branch · session cost |
skill | the active magician skill / workflow / running-agent count / loop round |
effort | 🧠 the live reasoning effort (low/medium/high/xhigh/max) — the default shows on open and tracks /effort changes automatically (from Claude Code's effort.level) — or the magician mode you set, e.g. ultracode (which otherwise reports as xhigh); say "set mode to ultracode" / "exit ultracode" to change it |
lore | 📚 whether magician's bundled stack lore is shaping the session — lore:N (N cores injected) or lore:off |
voice | 🗣 the output-brevity voice — voice:warrior (leanest) · voice:scribe (default) · voice:bard (standard); set with magician-ui voice <level> |
magician-ui enable --all # everything
magician-ui enable --only context,rot # a chosen subset
magician-ui set context,rot,spark
magician-ui status (state, components, whether it's wired into settings).magician-ui disable (removes only magician's statusLine; records the opt-out so it isn't suggested again; re-enable anytime on request).magician-ui automode turns on Claude Code's auto permission mode (defaultMode: auto + CLAUDE_CODE_ENABLE_AUTO_MODE=1, required on Vertex/Bedrock/Foundry). Its classifier auto-approves reads + request-aligned work and gates writes/deploys/force-push/destructive ops — the true "reads proceed, writes gate." A plugin can't switch the mode of a live session, so restart to enter it; automode --off reverts. Falls back to Manual if the account/model doesn't support auto.magician-ui allow merges a read-only allow-list (Read/Grep/Glob/LS + read-only git + kg/ctx + jira/confluence reads + test/lint/build runners + gh reads) into settings.json so non-auto sessions don't prompt per read; jira/confluence writes, commit/push/PR/delete still gate. Applied on install/upgrade; magician-ui allow --off. (Jira/Confluence use magician's MCP-free CLIs — magician nudges sessions off any ambient Atlassian MCP.) See lore/autonomy.md.magician-ui voice warrior|scribe|bard sets how wordy responses are. Output tokens cost several× input, so leaner output is the cheapest saving. Levels least→most wordy: warrior (minimal but complete), scribe (the default — leaner than usual), bard (standard/native). SessionStart injects a brevity directive for warrior/scribe that cuts filler (preambles, recaps, restating the request) while keeping all substance and code/commands/errors verbatim — it never compresses prose into fragments or jargon. magician-ui voice status shows the current level. Overrides (first match wins): env MAGICIAN_VOICE → per-project .magician/voice → this setting → default scribe. Takes effect next session start; the 🗣 voice: chip shows it live.reconcile records the state). Respect a decline — don't re-nudge.~/.claude/settings.json; it hot-reloads, so the bar appears/updates within a message or two — no restart needed.context,rot).settings.json for this — always go through magician-ui, which backs up + validates."Magician CLI UI <enabled (components: …) | updated | disabled>. It runs locally (no tokens) and hot-reloads."
npx claudepluginhub alexander-tyagunov/magician --plugin magicianGuides users through configuring Claude Code's status line with progress bars, token count, and session display options. Generates cross-platform scripts (bash/PowerShell).
Develops custom status lines for Claude Code to display git branch, context usage, model name, and session costs using bash scripts that process JSON stdin input.
Customizes the Claude Code statusline: add/remove segments (cost, git, model, context), switch color themes (catppuccin, dracula, nord), and modify display settings.