Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create and manage Omarchy desktop themes. Use when working with colors.toml, terminal themes (Alacritty/Kitty/Ghostty), Hyprland colors, Waybar styling, btop themes, or theme installation/removal.
.claude/skills/aiskillstore-omarchy-theming/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 55% | 0% |
Create themes for Omarchy by defining colors in colors.toml. Colors automatically propagate to all desktop applications.
<steps>
bash mkdir -p ~/.config/omarchy/themes/my-theme/backgrounds
colors.toml with all 22 required variables (see schema below)backgrounds/bash omarchy-theme-set my-theme </steps>
When creating or modifying Omarchy themes:
colors.toml - missing variables cause errors#RRGGBB) - no RGB, HSL, or named colorsbackgrounds/ directory with at least one wallpaper imagelight.mode file in theme directoryomarchy-theme-set after changesFor detailed variable usage per application, see reference.md.
~/.config/omarchy/themes/{theme-name}/
├── colors.toml # [Required] 22 color definitions
├── backgrounds/ # [Required] Wallpaper images (PNG/JPG)
├── preview.png # [Recommended] Theme preview
├── icons.theme # [Recommended] GTK icon theme name
├── neovim.lua # [Recommended] LazyVim colorscheme
├── vscode.json # [Recommended] VS Code theme metadata
├── btop.theme # [Recommended] btop color theme
├── light.mode # [Optional] Empty file = light theme
├── chromium.theme # [Optional] Browser theme RGB
└── hyprland.conf # [Optional] Static Hyprland override<schema>
toml# Core UI (6 variables) accent = "#89b4fa" # Primary accent color cursor = "#f5e0dc" # Terminal cursor foreground = "#cdd6f4" # Primary text background = "#1e1e2e" # Primary background selection_foreground = "#1e1e2e" # Selected text foreground selection_background = "#f5e0dc" # Selected text background # ANSI Normal (8 variables) color0 = "#45475a" # Black color1 = "#f38ba8" # Red (errors) color2 = "#a6e3a1" # Green (success) color3 = "#f9e2af" # Yellow (warnings) color4 = "#89b4fa" # Blue (links) color5 = "#f5c2e7" # Magenta (special) color6 = "#94e2d5" # Cyan (code) color7 = "#bac2de" # White (text) # ANSI Bright (8 variables) color8 = "#585b70" # Bright Black (muted/disabled) color9 = "#f38ba8" # Bright Red color10 = "#a6e3a1" # Bright Green color11 = "#f9e2af" # Bright Yellow color12 = "#89b4fa" # Bright Blue color13 = "#f5c2e7" # Bright Magenta color14 = "#94e2d5" # Bright Cyan color15 = "#a6adc8" # Bright White
</schema>
Each color supports 3 formats for different contexts:
| Format | Example | Output | Use Case | |--------|---------|--------|----------| | {{ name }} | {{ accent }} | #89b4fa | CSS, TOML | | {{ name_strip }} | {{ accent_strip }} | 89b4fa | Hyprland rgb() | | {{ name_rgb }} | {{ accent_rgb }} | 137,180,250 | RGBA values |
<example title="Dark Theme (Tokyo Night)">
tomlaccent = "#7aa2f7" cursor = "#c0caf5" foreground = "#a9b1d6" background = "#1a1b26" selection_foreground = "#c0caf5" selection_background = "#7aa2f7" color0 = "#32344a" color1 = "#f7768e" color2 = "#9ece6a" color3 = "#e0af68" color4 = "#7aa2f7" color5 = "#ad8ee6" color6 = "#449dab" color7 = "#787c99" color8 = "#444b6a" color9 = "#ff7a93" color10 = "#b9f27c" color11 = "#ff9e64" color12 = "#7da6ff" color13 = "#bb9af7" color14 = "#0db9d7" color15 = "#acb0d0"
</example>
<example title="Light Theme (Catppuccin Latte)">
toml# Note: Create empty light.mode file for light themes accent = "#1e66f5" cursor = "#dc8a78" foreground = "#4c4f69" background = "#eff1f5" selection_foreground = "#eff1f5" selection_background = "#dc8a78" color0 = "#bcc0cc" color1 = "#d20f39" color2 = "#40a02b" color3 = "#df8e1d" color4 = "#1e66f5" color5 = "#ea76cb" color6 = "#179299" color7 = "#5c5f77" color8 = "#acb0be" color9 = "#d20f39" color10 = "#40a02b" color11 = "#df8e1d" color12 = "#1e66f5" color13 = "#ea76cb" color14 = "#179299" color15 = "#6c6f85"
</example>
<example title="neovim.lua">
luareturn { { "folke/tokyonight.nvim", priority = 1000 }, { "LazyVim/LazyVim", opts = { colorscheme = "tokyonight" } }, }
</example>
<example title="vscode.json">
json{ "name": "Tokyo Night", "extension": "enkia.tokyo-night" }
</example>
bashomarchy-theme-set my-theme # Apply theme omarchy-theme-current # Show current theme omarchy-theme-list # List available themes omarchy-theme-install <git-url> # Install from git omarchy-theme-remove my-theme # Remove theme omarchy-theme-update # Update git themes omarchy-theme-bg-next # Cycle wallpaper
<troubleshooting> Colors not applying:
#RRGGBB)omarchy-theme-set to regenerateApp not themed:
yq errors:
bashsudo pacman -S yq
</troubleshooting>
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 15,652 | 13,476 | -14% | 1 | 1 | 0% | 2,837 | 3,497 | +23% | 0 | 0 | — |
case-02 | fail→pass | 24,825 | 8,634 | -65% | 1 | 1 | 0% | 3,411 | 3,689 | +8% | 0 | 0 | — |
case-03 | fail→pass | 22,957 | 14,659 | -36% | 1 | 1 | 0% | 3,289 | 4,386 | +33% | 0 | 0 | — |
case-04 | pass→pass | 7,079 | 4,461 | -37% | 1 | 1 | 0% | 1,275 | 2,667 | +109% | 0 | 0 | — |
case-05 | pass→pass | 13,321 | 5,222 | -61% | 1 | 1 | 0% | 1,384 | 2,702 | +95% | 0 | 0 | — |
case-06 | pass→pass | 11,298 | 4,674 | -59% | 1 | 1 | 0% | 1,116 | 2,613 | +134% | 0 | 0 | — |
case-07 | fail→pass | 10,842 | 4,548 | -58% | 1 | 1 | 0% | 1,955 | 2,599 | +33% | 0 | 0 | — |
case-08 | fail→pass | 9,557 | 8,027 | -16% | 1 | 1 | 0% | 1,523 | 2,360 | +55% | 0 | 0 | — |
case-09 | fail→pass | 16,288 | 7,922 | -51% | 1 | 1 | 0% | 2,033 | 2,324 | +14% | 0 | 0 | — |
case-10 | fail→pass | 14,780 | 3,512 | -76% | 1 | 1 | 0% | 1,786 | 2,511 | +41% | 0 | 0 | — |
case-11 | fail→pass | 9,527 | 6,928 | -27% | 1 | 1 | 0% | 1,538 | 2,153 | +40% | 0 | 0 | — |
case-12 | fail→pass | 13,902 | 7,098 | -49% | 1 | 1 | 0% | 1,476 | 2,188 | +48% | 0 | 0 | — |
case-13 | fail→pass | 15,445 | 6,992 | -55% | 1 | 1 | 0% | 1,596 | 2,156 | +35% | 0 | 0 | — |
case-14 | fail→pass | 9,851 | 2,380 | -76% | 1 | 1 | 0% | 1,516 | 2,223 | +47% | 0 | 0 | — |
case-15 | fail→pass | 18,368 | 2,087 | -89% | 1 | 1 | 0% | 1,367 | 2,162 | +58% | 0 | 0 | — |
case-16 | pass→pass | 7,952 | 2,151 | -73% | 1 | 1 | 0% | 1,454 | 2,204 | +52% | 0 | 0 | — |
case-17 | fail→pass | 22,001 | 4,896 | -78% | 1 | 1 | 0% | 2,317 | 2,869 | +24% | 0 | 0 | — |
case-18 | pass→pass | 17,577 | 7,600 | -57% | 1 | 1 | 0% | 2,089 | 2,314 | +11% | 0 | 0 | — |
case-19 | fail→pass | 7,397 | 7,281 | -2% | 1 | 1 | 0% | 1,229 | 2,157 | +76% | 0 | 0 | — |
case-20 | pass→pass | 15,246 | 8,003 | -48% | 1 | 1 | 0% | 1,730 | 2,372 | +37% | 0 | 0 | — |
case-21 | fail→pass | 8,943 | 7,943 | -11% | 1 | 1 | 0% | 1,590 | 2,323 | +46% | 0 | 0 | — |
case-22 | fail→pass | 13,219 | 7,184 | -46% | 1 | 1 | 0% | 1,440 | 2,261 | +57% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +73 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.