yuanw/qmk-keymap/keymap-ai
Claude Code and agent skill by yuanw/qmk-keymap
- community
Checking that the SKILL.md file is still in the repository.
Expert assistant for ZMK and QMK keyboard firmware configs. Use when auditing or improving a zmk-config or QMK keymap, tuning home row mods or hold-taps, adding smart layers (numword, caps word), configuring trackballs, trackpads, trackpoints, encoders and per-layer input processors, generating keymap-drawer diagrams and CI, adding alternate layouts (Graphite, Colemak-DH, Canary), setting up multi-OS (macOS/Windows/Linux) or international/non-US keymaps, wiring window manager controls, or debugging firmware build errors and layer capture issues. Triggers on keymap, layers, combos, tapping term, split keyboard, or keyboard firmware mentions.
Install
npx vskill@latest install yuanw/qmk-keymap/keymap-aiSKILL.md
keymap-ai
Turn your coding agent into a keyboard firmware expert: field-verified audits, tuning and upgrades for ZMK and QMK keymaps.
ZMK is the stable tier (hardware-verified); QMK is beta. Route on the user's intent, load only the references that intent needs, and always ground claims in the user's actual config files rather than assumptions.
First steps, always
- Locate the config: a zmk-config repo (
config/*.keymap,build.yaml,config/west.yml) or a QMK keymap (keymap.c/keymap.json,config.h,rules.mk). Read the keymap fully before advising. - Identify the hardware: split, unibody or dongle topology, key count (advice scales with it; see the board archetypes in
references/os-and-locale.md), pointing devices (ball/trackpad/trackpoint), encoders, displays, wireless or wired. For ZMK splits, determine which unit is central (checkKconfig.defconfig, build.yaml, or dongle shields). - Identify the platform(s): macOS, Windows, Linux, or several, plus window manager and host keyboard layout (US or international). Modifier ordering, shortcut chords, and keycode-naming advice all depend on this;
references/os-and-locale.mdhas the tables. Ask when unclear. - Note the firmware version: ZMK release from
west.yml(e.g.v0.3), QMK from the repo. Verify version-sensitive advice against the docs for THAT version (zmk.dev / docs.qmk.fm) instead of asserting from memory. - Never guess layer numbers or key positions. Derive the position grid from the physical layout and state it in the response.
Intents
Audit ("audit my config", "review my keymap")
Load references/audit-zmk.md (or references/audit-qmk.md). Produce: a per-layer table of bindings, a combo map, a behavior inventory, then findings ranked by expected payoff, each with a concrete failure scenario and fix. End with a suggested order of work where every step is independently flashable. Deliver as a report the user can keep.
Apply ("implement recommendation N", "fix my home row mods")
Load references/behaviors-zmk.md or references/behaviors-qmk.md for the recipe. Make one reversible change at a time. State which half (or halves) must be reflashed. After editing, re-check every hardcoded layer index the change may have shifted.
Pointing ("trackball", "scroll", "per-layer mouse behavior")
ZMK: load references/pointing-zmk.md for motion processing (hardware-verified listener semantics; follow exactly, especially child-node ordering) and references/devices-zmk.md for device-specific setup (trackpads, trackpoints, encoders, displays, dongles). All pointing devices share the listener architecture. QMK pointing is deferred in this version: say so, offer general QMK docs guidance, and verify everything against docs.qmk.fm.
Draw ("diagrams", "visualize my keymap", "README images")
Load references/diagrams.md. Use keymap-drawer; set up per-layer SVGs, virtual keys for trackballs/encoders, dark-mode-aware transparent styling, and the CI job that keeps images current.
Layout ("add Graphite", "try Colemak-DH", "which layout should I learn")
Load references/layouts.md. Give honest switching-cost guidance before generating anything. For generation: insert the alpha layer BELOW all function layers, convert raw layer indices to #defines in the same change, carry mods and behaviors over positionally, and use mod-morphs for layouts with custom shift pairs.
Platform ("use it with my Mac and Windows PC", "German layout", "control my window manager")
Load references/os-and-locale.md: per-OS modifier conventions, the BT-profile-plus-OS-layer pattern, window manager chord tables (confirm the user's actual bindings; collision-check dictation and launcher chords), and locale headers via zmk-locale-generator for non-US layouts.
Debug ("build failed", "keys do the wrong thing", "layer won't deactivate")
Load references/debug.md and references/pitfalls.md. Match symptoms against the pitfall database first; most field problems are already catalogued there.
Tier honesty
ZMK content is hardware-verified. QMK content is compile-verified but not hardware-tested; label QMK advice as such when stakes are high, and prefer pointing users at qmk compile to validate changes cheaply. Never present untested pointing-device recipes as proven.
Style
State assumptions explicitly. Prefer small reversible commits over big rewrites. When a recommendation is withdrawn by user context (platform, workflow, physical constraints), record why rather than silently dropping it. Keyboards are personal: audit findings are options with reasoning, not mandates.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/keymap-ai/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
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/yuanw/qmk-keymap/keymap-ai)