karabiner

Manages Karabiner-Elements keyboard bindings through Goku EDN configs and YAML layer definitions.

1|Updated Aug 6, 2025
One-click install
npx skills add https://github.com/azaidrahman/zaid-sani-dotfiles --skill karabiner-azaidrahman
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: karabiner
Source: https://github.com/azaidrahman/zaid-sani-dotfiles/tree/main/dot_claude/skills/karabiner
Command: npx skills add https://github.com/azaidrahman/zaid-sani-dotfiles --skill karabiner-azaidrahman

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Editing Karabiner-Elements keyboard remaps is error-prone because the live karabiner.json and karabiner.edn files are generated artifacts — hand edits get silently overwritten on the next build. This Skill guides safe modification of a Goku-based keyboard config by routing every change through the correct YAML source files or the add-keymap CLI, then through the proper build and deploy chain. ## Core Features & Use Cases - Add or change key bindings: Use the add-keymap CLI in one-liner mode to bind keys across app-launcher, workspace, shortcut (l1/l2/l3), and hyper layers with collision detection. - Discover existing bindings: Read the YAML configs (app.yaml, shortcuts.yaml, help-text.yaml, hyperkeys.yaml) as the source of truth, find free keys, and decode Goku modifier syntax. - Troubleshoot the build pipeline: Diagnose why a change did not take effect by following the build.sh → chezmoi apply → goku compile chain and verifying the compiled karabiner.json. - Use Case: You want Right Option + Z to launch Spotify. Run add-keymap with the app layer, key z, and action Spotify, then run the targeted chezmoi apply and goku recompile, and grep karabiner.json to confirm the binding is live. ## Quick Start Ask the assistant to add a Karabiner binding that opens Spotify when holding Right Option and pressing Z, then rebuild and verify the compiled config.

Frequently Asked Questions about karabiner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a Karabiner key binding with Goku?▼

Use the add-keymap CLI in one-liner mode with -layer, -key, -label, and -action flags, which validates the key, checks collisions, writes the YAML, and rebuilds. Never edit karabiner.edn or karabiner.json directly since both are generated files.

How do I remap a key to launch an app on macOS with Karabiner?▼

Add an entry to the app layer via add-keymap -layer app -key z -label spotify -action Spotify, which binds Right Option plus that key to open the app. Then run build.sh, a scoped chezmoi apply, and goku to compile it live.

Why did my Karabiner config change not take effect?▼

The change likely was not deployed or goku did not recompile. Goku reads the deployed edn in ~/.config/karabiner, so you must run build.sh, chezmoi apply on that path, then goku explicitly, and grep karabiner.json to verify.

Can I edit karabiner.json or karabiner.edn directly?▼

No, both files are generated and any hand edits are silently discarded on the next build. Edit the YAML config for the layer or karabiner.base.edn outside the BEGIN/END markers, then rebuild.

How do I find a free key in a Karabiner shortcut layer?▼

Read the layer's YAML file such as config/shortcuts.yaml and list the keys already used; anything absent is free. The add-keymap CLI also refuses collisions unless you pass -overwrite, so wrong guesses fail loudly.