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.