Manage dotfiles config
Skill magnusrodseth/dotfiles/.claude/skills/manage-dotfiles-config
⚙️ There are many like them, but these dotfiles are mine. A stow-managed macOS setup: Zsh, Neovim, tmux, Ghostty, and a pile of Claude Code tooling.
npx -y skills add magnusrodseth/dotfiles --skill manage-dotfiles-configAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Safely edit tool config files in this dotfiles repo (Zed, Neovim, Ghostty, Yazi, tmux, lazygit, etc.) by looking up real current docs for exact option/keybind/action names instead of guessing, then validating per file format. Use when changing editor or terminal settings or keybindings, adding/remapping a shortcut, toggling a panel/dock, or whenever the user references a config file like keymap.json, settings.json, init.lua, config.toml, or asks "what's the action/option for X in <tool>".
SKILL.md
3.7 KB, 886 tokens by cl100k_base, as published. Nobody here has run it
manage-dotfiles-config
Edit machine config in ~/dotfiles without guessing. Three rules: look up the real
option/action name, make the edit, validate before declaring done. Never invent a
config key or action identifier from memory — they drift between versions.
Workflow
- Locate the file in the Tool catalog below (paths are stow-managed in
~/dotfiles). - Look up the exact key/action/option via the
find-docsskill (Context7) — see "Docs lookup" per tool. Don't guess identifiers likeeditor::GoToDefinitionor a settings key; confirm them against current docs. - Edit the file (preserve the surrounding comment/idiom style).
- Validate:
bash scripts/validate-config.sh <file>(auto-detects format). Fix until ✓. - Check the Gotchas catalog for the tool before finishing.
Tool catalog
| Tool | Config path(s) | Format | Docs lookup (find-docs) |
|---|---|---|---|
| Zed | ~/.config/zed/keymap.json, settings.json | JSONC | lib /websites/zed_dev — query for action ids / setting keys |
| Neovim (LazyVim) | ~/.config/nvim/lua/** | Lua | ctx7 library "Neovim" / "LazyVim" |
| Ghostty | ~/.config/ghostty/config | key=value | ctx7 library "Ghostty" |
| Yazi | ~/.config/yazi/keymap.toml, yazi.toml | TOML | ctx7 library "Yazi" |
| tmux | ~/.tmux.conf | tmux conf | ctx7 library "tmux" |
| lazygit | ~/.config/lazygit/config.yml | YAML | ctx7 library "lazygit" |
Add new tools as rows here; add their quirks to Gotchas.
Gotchas catalog
Zed
keymap.json/settings.jsonare JSONC (comments + sometimes trailing commas). Plainjq/JSON.parsechokes on//comments — usevalidate-config.sh(it strips comments first). Keymap is an array of{ "context"?, "bindings" }blocks; chords are space-separated, e.g."cmd-g cmd-d".- Dock-toggle keybinds depend on which dock a panel is assigned, set in
settings.json. Each panel (agent,project_panel,outline_panel,git_panel, …) has a"dock": "left" | "right" | "bottom".workspace::ToggleLeftDock/ToggleRightDocktoggle whatever panel lives in that dock, not a named panel. Always read the paneldockvalues before binding a dock toggle. In this repo:agentis left-docked,project_panel(file tree) is right-docked →cmd-b=workspace::ToggleRightDock(file tree),cmd-j=workspace::ToggleLeftDock(AI panel). - Prefer
workspace::Toggle{Left,Right}Dockfor clean open/close.*::ToggleFocusonly moves focus (won't reliably close a panel), which feels like a broken toggle. - Zed applies config on save — no restart needed to test.
(add other tools' gotchas as you hit them)
Notes
- These configs are symlinked from
~/dotfilesvia stow, and~/.claudeitself symlinks into the repo. Editing the real file under~/.config/...edits the repo copy. - Commit per concern (keybinds vs theme are separate commits). To mirror a change onto another branch, cherry-pick the specific commit rather than merging.
- See scripts/validate-config.sh for the validator.
What ships with it: 1 file
2.7 KB alongside SKILL.md, 1 of them executable
scripts/
- validate-config.shruns2.7 KB