Awesome-omni-skill nvim-plugin-add
Add and configure Neovim plugins in this dotfiles repo using lazy.nvim. Use when asked to install a plugin, create its config module, update lazy.nvim imports, read plugin README/docs, and add keymaps without conflicting with existing mappings under config/nvim.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/nvim-plugin-add" ~/.claude/skills/diegosouzapw-awesome-omni-skill-nvim-plugin-add && rm -rf "$T"
manifest:
skills/tools/nvim-plugin-add/SKILL.mdsource content
Neovim plugin add (lazy.nvim)
Use this workflow when adding a new plugin to
config/nvim.
Workflow
- Inspect the existing layout
- Open
to confirm the lazy.nvimconfig/nvim/init.lua
import list.spec - Check
for the naming pattern of plugin config files.config/nvim/lua/plugins/
- Read upstream docs
- Read the plugin README and docs from its repo (and any
if needed).doc/*.txt - Prefer the upstream “recommended” or “minimal working” configuration.
- Create a plugin config module
- Add a new file under
.config/nvim/lua/plugins/<plugin-name>.lua - Return a lazy.nvim spec table (same style as other plugin files).
- Keep the module self-contained; avoid global side effects.
- Register the module in lazy.nvim
- Add
to the{ import = 'plugins.<plugin-name>' }
list inspec
.config/nvim/init.lua - Keep the ordering consistent with existing imports unless the plugin suggests a dependency order.
- Keymap collision check
- Before adding keymaps, search existing mappings:
rg -n "keymap|map\\(" config/nvim- Also scan for
registrations if present.which-key
- If a recommended mapping conflicts, choose a nearby alternative under the same mnemonic prefix.
- Use
for every mapping.desc
- Configure defaults and options
- Wire up plugin
with upstream defaults plus any repo-specific conventions.setup() - Follow existing patterns (e.g., use
, local helper functions).vim.keymap.set - Keep options and mappings minimal; avoid speculative tweaks.
- Validation
- Ensure the plugin file is required by lazy.nvim and no syntax errors are introduced.
- If the change impacts keymaps, mention any new keys in the response.
Repo conventions
- Neovim config root:
.config/nvim/ - lazy.nvim bootstrap and imports live in
.config/nvim/init.lua - Plugin config modules live in
and return a plugin spec.config/nvim/lua/plugins/ - Keep edits ASCII-only unless the file already uses non-ASCII.
Notes on keymaps
- Prefer
mappings and keep them consistent with existing prefixes.<leader> - Avoid overriding single-letter normal mode bindings unless the repo already does so.
- When in doubt, add a
entry matching the new mapping.which-key