Ready-to-Use Mac Keyboard Automation Starter Pack
Theory helps, but a working config makes the system real.
Below is a starter Goku config, a shared setup checklist, and a list of Keyboard Maestro macro ideas. Take what fits, ignore what does not.
A practical order for getting started: wire up the config structure first, then define one or two modes, then add Keyboard Maestro actions once the remapping layer feels stable. Remove anything you have not used after a week -- the system should shrink to what you actually use.
Starter Goku config
This config defines three simlayers -- w for opening apps, t for templates, and s for screenshots.
{
:profiles {:default {:default true}}
:templates {
:km "osascript -e 'tell application \"Keyboard Maestro Engine\" to do script \"%s\"'"
:open "open \"%s\""
}
:simlayers {
:w-mode {:key :w}
:t-mode {:key :t}
:s-mode {:key :s}
}
:main [
{:des "w-mode: open apps"
:rules [:w-mode
[:c [:open "-a Google Chrome"]]
[:v [:open "-a Visual Studio Code"]]
[:o [:open "-a Obsidian"]]
[:k [:open "-a Keyboard Maestro"]]
]}
{:des "t-mode: templates and helper actions"
:rules [:t-mode
[:0 [:km "Open Templates"]]
]}
{:des "s-mode: screenshot helpers"
:rules [:s-mode
[:c [:km "Take Screenshot"]]
[:o [:km "OCR Selected Text"]]
]}
]
}Swap in your own app names and Keyboard Maestro macro names. The structure stays the same.
Shared setup checklist
Use this if you want multiple macOS user accounts to share the same keyboard automation source files.
Shared folder
- Create
/Users/Shared/keyboard - Put
karabiner.ednthere - Put Keyboard Maestro sync file there if you want shared macros
- Confirm folder permissions allow both accounts to read and update the files
Per user account
- Install Karabiner-Elements
- Install Goku
- Grant the required macOS permissions for keyboard remapping tools
- Create
~/.configif needed - Symlink
~/.config/karabiner.ednto/Users/Shared/keyboard/karabiner.edn - Run
goku - Confirm
~/.config/karabiner/karabiner.jsonis generated locally - Confirm the remaps actually work
Keyboard Maestro
- Open Keyboard Maestro on account A and create a sync file in the shared folder
- Open Keyboard Maestro on account B and point it to the existing shared sync file
- Export anything important before switching an account to a shared sync file
Maintenance
- Edit the shared
karabiner.edn - Re-run
gokuin each account that needs updated output - Remove old or unused mappings regularly
- Keep the shared folder backed up
Keyboard Maestro macro ideas
App and workspace setup
- Open editor
- Open browser
- Open notes app
- Open chat app
- Open terminal
- Open editor + browser in a split layout
- Open a full writing setup
- Open a full coding setup
Search and navigation
- Focus app search
- Focus find-in-file
- Focus global command palette
- Jump to a notes template folder
- Open a launcher surface
Repeated text and generation
- Insert current date
- Insert timestamp
- Insert short date ID
- Clean up grammar of selected text
- Insert a repeated template block
Capture and utility actions
- Take screenshot
- OCR selected text
- Copy OCR result to clipboard
- Save a quick note
- Trigger a clipboard history action
A few design rules worth keeping in mind
- Start with actions you already repeat often, not actions you imagine doing
- Group related things together so the macro list stays readable
- Keep your most-used actions on the simplest triggers
- Delete macros you have not used in a month -- they add noise
- Be cautious with anything that quits apps, closes windows, or runs commands without confirmation
Keep it small at first
Resist the temptation to configure everything at once.
Wire up one mode, use it for a week, remove what you skip. The configs that last are the ones that grew from actual habits — not the ones that tried to predict them.