Dev & Engineering

Claude Skins Terminal Themes

One command switches terminal colors, ASCII banners, status-line themes, voice personalities and tool sounds for the Claude Code CLI.

56/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Claude Code
Stars
★ 19
Last updated
5mo ago
License
MIT
terminal-themescli-customizationshell-scriptsosc-sequences
+4ascii-artdotfilesstatuslinehooks

What does this skill do, and when should you use it?

claude-skins is a visual-theme (skin) manager skill for the Claude Code CLI. A single /skin command lists, switches, resets, or sets a permanent default skin. Each skin can change terminal colors, braille/ASCII banners, the status line, Claude's voice personality, and tool feedback sounds all at once. Nine ready-made skins ship with the project (Nebula, Mythos, Netrunner, Noir, and more), plus a template and SCHEMA.md for building your own. Skins change only look, sound, and feel — never core behavior.

Runs shell scripts under ~/.claude/skins/engine/ to perform the work: bare /skin calls skin-command-hook.sh to list skins and highlight the active one; /skin <name> calls activate.sh to apply OSC color sequences, banners, status-line theme and sounds, and reads personalities/<name>.md so Claude adopts that voice for the session; /skin reset calls deactivate.sh to restore terminal defaults; /skin default reads engine/current and writes the value into default_skin in config.yaml. Switching is instant, no restart needed.

Good fit
  • Developers who like to retheme their dark terminal and add some ritual to their dev environment
  • Users who want Claude to speak in different voices per mood — Noir detective narration or Grimoire wizard codex
  • macOS/Linux users who want audible feedback on file writes, commands, and errors
  • Dotfiles enthusiasts managing terminal setup as reproducible configuration
  • Terminal-theme hobbyists who want to design branded skins using template.yaml and SCHEMA.md

How do you install this skill?

Before you use it
  • Installation requires manually editing ~/.claude/settings. to mount SessionStart/SessionEnd/PostToolUse hooks and the status line, expanding Claude Code session behavior — review before enabling.
  • Scripts depend on jq and on repo files outside this assessed path (install.sh, SCHEMA.md, COMPATIBILITY.md); completeness is unverified.
  • No tests or CI evidence; terminal escape-sequence compatibility and /tmp state-file safety are independently unverified.
  • Publisher is not verified by the FollowSkills registry and identity is unknown; no versioning or changelog, upgrades require manual repo tracking.
  • Sound and statusline features may silently degrade; core function depends entirely on the Claude Code CLI ecosystem and documentation is English-only.
Before you start
Your agent needs
  • Shell / CLI
  • Local filesystem
Install first
  • Claude Code CLI
  • terminal with OSC sequence support (iTerm2, Kitty, WezTerm, Ghostty, Alacritty, Windows Terminal, Terminal.app)
  • hooks entries in ~/.claude/settings.

Clone and run the installer: git clone https://github.com/basicScandal/claude-skins.git && cd claude-skins && ./install.sh. Manual route: copy skins/ and personalities/ to ~/.claude/skins/, copy engine/ to ~/.claude/skins/engine/, chmod +x ~/.claude/skins/engine/*.sh, then add SessionStart, SessionEnd, PostToolUse hooks and the statusLine entry to ~/.claude/settings., and create ~/.claude/skills/skin/SKILL.md from engine/SKILL.md.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/basicScandal/claude-skins.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/engine" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Inside a Claude Code session: /skin lists available skins; /skin nebula switches immediately; /skin reset deactivates and restores defaults; /skin default makes the current skin permanent. Switches take effect instantly with no restart.

What are this skill's strengths and limitations?

Pros
  • A single /skin command switches themes instantly, no restart
  • Covers five layers at once: colors, banner, status line, personality, sounds
  • Nine varied ready-made skins plus a template and full SCHEMA for custom ones
  • Missing values inherit from the default skin, so you only define differences
  • MIT licensed; works with iTerm2, Kitty, WezTerm, Ghostty, Alacritty and more
Limitations
  • Tool sounds on Linux depend on PulseAudio/ALSA; Windows requires WSL
  • Installation involves manually editing settings. for several hooks and the status line
  • Voice personality applies only to the current session unless the skin is set as default
  • No test suite shown in the repo; no automated cross-terminal verification evidence

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Claude Skins Terminal Themes this page 56 · Use with care ★ 19 5mo ago MIT
cmux Diagnostics 51 · Use with care ★ 28k 11d ago NOASSERTION
cmux Settings Management Skill (cmux-settings) 58 · Recommended ★ 28k 11d ago NOASSERTION
CCM — Claude Code Manager 55 · Use with care ★ 29 2mo ago MIT
SPARV Five-Phase Workflow 55 · Use with care ★ 2.8k 5mo ago AGPL-3.0

The README states the project is inspired by joeynyc/hermes-skins, with the Mythos and Netrunner banner art adapted from that project under MIT license.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
56/ 100 5-point scale 2.8 / 5
1Trust17 / 25 · 3.4/5

Scripts operate only on local files (~/.claude/skins, output-styles symlinks, /tmp marker), no network access, no credential reading, no covert behavior; activate/reset both have rollback paths (OSC 110-112 resets, symlink cleanup, default restore). Deductions: restore state marker in a shared /tmp path is theoretically interferable; installation requires users to manually wire multiple hooks into settings. (blast radius beyond pure cosmetics) and the SKILL.md itself never discloses this to the user; writes to /dev/tty without verifying terminal capability. Overall risks are visible and controllable.

2Reliability10 / 20 · 2.5/5

Scripts are largely self-consistent: argument defaults, skin-not-found listing with exit 1, set -euo pipefail, TTL-cached parses. Deductions: no tests or CI evidence covering key paths; SKILL.md depends on jq and repo-internal scripts without declaring prerequisites; skin-command-hook.sh pipes JSON through echo "$input", which can corrupt backslash sequences; statusline.sh caches ANSI escapes and mixes echo -e/printf semantics, cross-terminal behavior unverified; abnormal input (skin names with spaces) lacks diagnosable failure messages.

3Adaptability9 / 15 · 3.0/5

Trigger conditions are explicit (/skin, change skin, switch theme via USE WHEN description), four subcommands clearly defined, non-fit environments (no-OSC terminals) documented in README. Deductions: capability boundaries only partially disclosed (manual hook installation, hard Claude Code CLI dependency); no Chinese language support; core function entirely depends on the Claude Code ecosystem, which needs disclosure for mainland-China users; personality activation silently depends on files existing and on correct prior installation.

4Convention10 / 15 · 3.3/5

README is well-structured (quick start, manual install, gallery, hooks, customization), MIT license complete, banner adaptation from hermes-skins properly attributed. Deductions: no version number or changelog; SKILL.md requires manual copy with no version-sync mechanism; maintenance responsibility and update path only implied via Discussions; SCHEMA.md, CONTRIBUTING.md, and install.sh are referenced but outside the reviewed evidence, so key install assumptions are not statically verifiable.

5Effectiveness6 / 15 · 2.0/5

The core task (switching colors, banners, status line, sounds) is self-consistent at script level, instant switching with clear rollback, clear marginal value over manually editing terminal themes. Deductions: static review cannot verify actual rendering; demo.gif is self-submitted; statusline escape output compatibility is unverified; sound features may silently degrade to silence on many Linux setups, so completeness of the promised experience is uncertain.

6Verifiability4 / 10 · 2.0/5

Evidence is primarily auditable primary source: SKILL.md, engine scripts, and README cross-corroborate (command names, paths, hook names align), and adaptation attribution to hermes-skins is explicit. Deductions: no test suite, no CI workflow, no third-party execution evidence; demo.gif and gallery page cannot be verified statically; referenced COMPATIBILITY.md and SCHEMA.md are not provided, so compatibility claims cannot be cross-checked. Static ceiling of 5 applies; 4 after coverage deduction.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 10, 2026 Reviewed revision efa1dca5581b Review evidence[1][2][3][4][5][6][7][8][9][10]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does it cost anything?
No. The project is MIT licensed — free to use, modify, and redistribute.
Does switching skins affect what Claude can actually do?
No. Skins only change presentation — colors, banners, status line, voice, and sounds — never core behavior.
Will it work in my terminal?
You need a terminal with OSC sequence support, e.g. iTerm2, Kitty, WezTerm, Ghostty, Alacritty, Windows Terminal, or Terminal.app. Tool sounds work on macOS, Linux (PulseAudio/ALSA), and WSL — see COMPATIBILITY.md.
How do I undo everything?
Run /skin reset to deactivate the skin and restore your terminal's defaults.

Related skills