dot_config/opencode/skills/omarchy/SKILL.md
REQUIRED for end-user customization of Linux desktop, window manager, or system config. Use when editing ~/.config/hypr/, ~/.config/waybar/, ~/.config/walker/, ~/.config/alacritty/, ~/.config/kitty/, ~/.config/ghostty/, ~/.config/mako/, or ~/.config/omarchy/. Triggers: Hyprland, window rules, animations, keybindings, monitors, gaps, borders, blur, opacity, waybar, walker, terminal config, themes, wallpaper, night light, idle, lock screen, screenshots, layer rules, workspace settings, display config, and user-facing omarchy commands. Excludes Omarchy source development in ~/.local/share/omarchy/ and omarchy-dev-* workflows.
npx skillsauth add okw0204/dotfiles omarchyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage Omarchy Linux systems - a beautiful, modern, opinionated Arch Linux distribution with Hyprland.
This skill is for end-user customization on installed systems. It is not for contributing to Omarchy source code.
ALWAYS invoke this skill for end-user requests involving ANY of these:
~/.config/hypr/ (window rules, animations, keybindings, monitors, etc.)~/.config/waybar/, ~/.config/walker/, ~/.config/mako/~/.config/omarchy/omarchy-* commands (omarchy-theme-*, omarchy-refresh-*, omarchy-restart-*, etc.)If you're about to edit a config file in ~/.config/ on this system, STOP and use this skill first.
Do NOT use this skill for Omarchy development tasks (editing files in ~/.local/share/omarchy/, creating migrations, or running omarchy-dev-* workflows).
For end-user customization tasks, NEVER modify anything in ~/.local/share/omarchy/ - but READING is safe and encouraged.
This directory contains Omarchy's source files managed by git. Any changes will be:
omarchy-update~/.local/share/omarchy/ # READ-ONLY - NEVER EDIT (reading is OK)
├── bin/ # Source scripts (symlinked to PATH)
├── config/ # Default config templates
├── themes/ # Stock themes
├── default/ # System defaults
├── migrations/ # Update migrations
└── install/ # Installation scripts
Reading ~/.local/share/omarchy/ is SAFE and useful - do it freely to:
cat $(which omarchy-theme-set)cat ~/.local/share/omarchy/config/waybar/config.jsonccat ~/.local/share/omarchy/default/hypr/*Always use these safe locations instead:
~/.config/ - User configuration (safe to edit)~/.config/omarchy/themes/<custom-name>/ - Custom themes (must be real directories)~/.config/omarchy/hooks/ - Custom automation hooksIf the request is to develop Omarchy itself, this skill is out of scope. Follow repository development instructions instead of this skill.
Omarchy is built on:
| Component | Purpose | Config Location |
|-----------|---------|-----------------|
| Arch Linux | Base OS | /etc/, ~/.config/ |
| Hyprland | Wayland compositor/WM | ~/.config/hypr/ |
| Waybar | Status bar | ~/.config/waybar/ |
| Walker | App launcher | ~/.config/walker/ |
| Alacritty/Kitty/Ghostty | Terminals | ~/.config/<terminal>/ |
| Mako | Notifications | ~/.config/mako/ |
| SwayOSD | On-screen display | ~/.config/swayosd/ |
Omarchy provides ~145 commands following omarchy-<category>-<action> pattern.
# List all omarchy commands
compgen -c | grep -E '^omarchy-' | sort -u
# Find commands by category
compgen -c | grep -E '^omarchy-theme'
compgen -c | grep -E '^omarchy-restart'
# Read a command's source to understand it
cat $(which omarchy-theme-set)
| Prefix | Purpose | Example |
|--------|---------|---------|
| omarchy-refresh-* | Reset config to defaults (backs up first) | omarchy-refresh-waybar |
| omarchy-restart-* | Restart a service/app | omarchy-restart-waybar |
| omarchy-toggle-* | Toggle feature on/off | omarchy-toggle-nightlight |
| omarchy-theme-* | Theme management | omarchy-theme-set <name> |
| omarchy-install-* | Install optional software | omarchy-install-docker-dbs |
| omarchy-launch-* | Launch apps | omarchy-launch-browser |
| omarchy-cmd-* | System commands | omarchy-cmd-screenshot |
| omarchy-pkg-* | Package management | omarchy-pkg-install <pkg> |
| omarchy-setup-* | Initial setup tasks | omarchy-setup-fingerprint |
| omarchy-update-* | System updates | omarchy-update |
~/.config/hypr/
├── hyprland.conf # Main config (sources others)
├── bindings.conf # Keybindings
├── monitors.conf # Display configuration
├── input.conf # Keyboard/mouse settings
├── looknfeel.conf # Appearance (gaps, borders, animations)
├── envs.conf # Environment variables
├── autostart.conf # Startup applications
├── hypridle.conf # Idle behavior (screen off, lock, suspend)
├── hyprlock.conf # Lock screen appearance
└── hyprsunset.conf # Night light / blue light filter
Key behaviors:
hyprctl reload to force reloadomarchy-refresh-hyprland to reset to defaults~/.config/waybar/
├── config.jsonc # Bar layout and modules (JSONC format)
└── style.css # Styling
Waybar does NOT auto-reload. You MUST run omarchy-restart-waybar after any config changes.
Commands: omarchy-restart-waybar, omarchy-refresh-waybar, omarchy-toggle-waybar
~/.config/alacritty/alacritty.toml
~/.config/kitty/kitty.conf
~/.config/ghostty/config
Command: omarchy-restart-terminal
| App | Location |
|-----|----------|
| btop | ~/.config/btop/btop.conf |
| fastfetch | ~/.config/fastfetch/config.jsonc |
| lazygit | ~/.config/lazygit/config.yml |
| starship | ~/.config/starship.toml |
| git | ~/.config/git/config |
| walker | ~/.config/walker/config.toml |
For simple changes, edit files in ~/.config/:
# 1. Read current config
cat ~/.config/hypr/bindings.conf
# 2. Backup before changes
cp ~/.config/hypr/bindings.conf ~/.config/hypr/bindings.conf.bak.$(date +%s)
# 3. Make changes with Edit tool
# 4. Apply changes
# - Hyprland: auto-reloads on save (no restart needed)
# - Waybar: MUST restart with omarchy-restart-waybar
# - Walker: MUST restart with omarchy-restart-walker
# - Terminals: MUST restart with omarchy-restart-terminal
Create scripts in ~/.config/omarchy/hooks/ to run automatically on events:
# Available hooks (see samples in ~/.config/omarchy/hooks/):
~/.config/omarchy/hooks/
├── theme-set # Runs after theme change (receives theme name as $1)
├── font-set # Runs after font change
└── post-update # Runs after omarchy-update
Example hook (~/.config/omarchy/hooks/theme-set):
#!/bin/bash
THEME_NAME=$1
echo "Theme changed to: $THEME_NAME"
# Add custom actions here
When customizations go wrong:
# Reset specific config (creates backup automatically)
omarchy-refresh-waybar
omarchy-refresh-hyprland
# The refresh command:
# 1. Backs up current config with timestamp
# 2. Copies default from ~/.local/share/omarchy/config/
# 3. Restarts the component
omarchy-theme-list # Show available themes
omarchy-theme-current # Show current theme
omarchy-theme-set <name> # Apply theme (use "Tokyo Night" not "tokyo-night")
omarchy-theme-next # Cycle to next theme
omarchy-theme-bg-next # Cycle wallpaper
omarchy-theme-install <url> # Install from git repo
Edit ~/.config/hypr/bindings.conf. Format:
bind = SUPER, Return, exec, xdg-terminal-exec
bind = SUPER, Q, killactive
bind = SUPER SHIFT, E, exit
View current bindings: omarchy-menu-keybindings --print
IMPORTANT: When re-binding an existing key:
omarchy-menu-keybindings --printunbind directive BEFORE your new bindExample - rebinding SUPER+F (which is bound to fullscreen by default):
# Unbind existing SUPER+F (was: fullscreen)
unbind = SUPER, F
# New binding for file manager
bind = SUPER, F, exec, nautilus
Always tell the user: "Note: SUPER+F was previously bound to fullscreen. I've added an unbind directive to override it."
Edit ~/.config/hypr/monitors.conf. Format:
monitor = eDP-1, 1920x1080@60, 0x0, 1
monitor = HDMI-A-1, 2560x1440@144, 1920x0, 1
List monitors: hyprctl monitors
CRITICAL: Hyprland window rules syntax changes frequently between versions.
Before writing ANY window rules, you MUST fetch the current documentation from the official Hyprland wiki:
DO NOT rely on cached or memorized window rule syntax. The format has changed multiple times and using outdated syntax will cause errors or unexpected behavior.
Window rules go in ~/.config/hypr/hyprland.conf or a sourced file. Always verify the current syntax from the wiki first.
omarchy-font-list # Available fonts
omarchy-font-current # Current font
omarchy-font-set <name> # Change font
omarchy-update # Full system update
omarchy-version # Show Omarchy version
omarchy-debug --no-sudo --print # Debug info (ALWAYS use these flags)
omarchy-lock-screen # Lock screen
omarchy-system-shutdown # Shutdown
omarchy-system-reboot # Reboot
IMPORTANT: Always run omarchy-debug with --no-sudo --print flags to avoid interactive sudo prompts that will hang the terminal.
# Get debug information (ALWAYS use these flags to avoid interactive prompts)
omarchy-debug --no-sudo --print
# Upload logs for support
omarchy-upload-log
# Reset specific config to defaults
omarchy-refresh-<app>
# Refresh specific config file
# config-file path is relative to ~/.config/
# eg. omarchy-refresh-config hypr/hyprlock.conf will refresh ~/.config/hypr/hyprlock.conf
omarchy-refresh-config <config-file>
# Full reinstall of configs (nuclear option)
omarchy-reinstall
When user requests system changes:
~/.config/, never ~/.local/share/omarchy/~/.config/omarchy/hooks/omarchy-pkg-add (or omarchy-pkg-aur-add for AUR-only packages)compgen -c | grep omarchyThis skill intentionally does not cover Omarchy source development. Do not use this skill for:
~/.local/share/omarchy/ (bin/, config/, default/, themes/, migrations/, etc.)omarchy-dev-* commandsomarchy-theme-set catppuccinunbind if needed, then add bind in ~/.config/hypr/bindings.conf~/.config/hypr/monitors.conf~/.config/hypr/looknfeel.confomarchy-toggle-nightlight or edit ~/.config/hypr/hyprsunset.conf~/.config/omarchy/themes/catppuccin-custom/ by copying from stock, then edit~/.config/omarchy/hooks/theme-setomarchy-refresh-waybardevelopment
Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check.
testing
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
testing
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
tools
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.