manage-dotfiles-configlisted
Install: claude install-skill magnusrodseth/dotfiles
# 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
1. **Locate** the file in the Tool catalog below (paths are stow-managed in `~/dotfiles`).
2. **Look up** the exact key/action/option via the `find-docs` skill (Context7) — see
"Docs lookup" per tool. Don't guess identifiers like `editor::GoToDefinition` or a
settings key; confirm them against current docs.
3. **Edit** the file (preserve the surrounding comment/idiom style).
4. **Validate**: `bash scripts/validate-config.sh <file>` (auto-detects format). Fix until ✓.
5. **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