johnlindquist/claude/karabiner
Claude Code and agent skill by johnlindquist/claude
- community
Checking that the SKILL.md file is still in the repository.
Configure Karabiner-Elements keyboard remapping using Goku EDN syntax. Use when creating keybindings, layers, simlayers, app-specific shortcuts, or modifying karabiner.edn.
Install
npx vskill@latest install johnlindquist/claude/karabinerSKILL.md
Karabiner (via Goku)
Configure macOS keyboard remapping with GokuRakuJoudo - an EDN-based DSL that compiles to Karabiner-Elements JSON.
Why Goku?
Karabiner's native JSON is verbose (20,000+ lines). Goku's EDN format is 10-50x more concise:
Prerequisites
Config location: ~/.config/karabiner.edn
Logs: ~/Library/Logs/goku.log
EDN Syntax Quick Reference
Basic Structure
Keycodes
All keys use keyword syntax: :a, :1, :f19, :spacebar, :return_or_enter
Find keycodes:
- Run Karabiner-EventViewer.app
- See keys_info.clj
Modifier Syntax
| Symbol | Modifier | Example | |
|---|---|---|---|
!C | Left Command | :!Ca = Cmd+A | |
!T | Left Control | :!Ta = Ctrl+A | |
!O | Left Option | :!Oa = Opt+A | |
!S | Left Shift | :!Sa = Shift+A | |
!Q | Right Command | :!Qa | |
!W | Right Control | :!Wa | |
!E | Right Option | :!Ea | |
!R | Right Shift | :!Ra | |
!F | Fn | :!Fa | |
!P | Caps Lock | :!Pa | |
!! | Hyper (Cmd+Ctrl+Opt+Shift) | :!!a | |
## | Optional any modifier | :##a |
Combine modifiers: :!CTSa = Cmd+Ctrl+Shift+A
Rule Format
Multiple Keys
Shell Commands
Conditions
Application Conditions
Device Conditions
Input Source Conditions
Combining & Negating Conditions
Layers
Simlayers (Recommended)
Fast, simultaneous-key based layers - best for typing speed:
Simlayer options:
Standard Layers (Tap/Hold)
Different behavior on tap vs hold:
Manual Layer Variables
Templates
Reusable shell command patterns:
Predefined Aliases
:froms (Input Keys)
:tos (Output Actions)
Custom Modifier Sets
Advanced Options
Fourth position in rules:
Profile Settings
Common Workflows
Add a Simple Remap
Add App-Specific Shortcut
Create a Layer
Hyper Key Setup
CLI Commands
Validation & Debugging
- Check syntax: Goku reports EDN parse errors
- View output:
~/.config/karabiner/karabiner.json - Use EventViewer: Karabiner-EventViewer.app shows key events
- Check logs:
tail ~/Library/Logs/goku.log
Best Practices
- Use simlayers for frequently-accessed shortcuts (faster than hold-layers)
- Group rules by purpose with descriptive
:destags - Use templates for repeated shell command patterns
- Define aliases in
:froms/:tosfor complex key definitions - Test incrementally - add one rule, verify, repeat
- Back up your config before major changes
Resources
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/karabiner/SKILL.md
Popularity
- Repository stars
- 21
- Repository forks
- 3
- 7-day trend score
- 15
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 17 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/johnlindquist/claude/karabiner)