nvim-plugin-management

Add or remove lazy.nvim plugin modules and update lazy.lua imports.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/RyoMa99/dotfiles --skill nvim-plugin-management
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nvim-plugin-management
Source: https://github.com/RyoMa99/dotfiles/tree/main/dot_claude/skills/nvim-plugin-management
Command: npx skills add https://github.com/RyoMa99/dotfiles --skill nvim-plugin-management

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a clear, repeatable workflow for adding and removing Neovim plugins managed by lazy.nvim, removing ambiguity about which files to create or update and how to commit and push configuration changes across remotes.

Core Features & Use Cases

  • Add plugins: Create a lua/plugins/<plugin-name>.lua module and register it in lua/config/lazy.lua's spec array.
  • Remove plugins: Delete the plugin module and remove its import from lazy.lua, then commit and push changes.
  • Operational guidance: Reminds to commit lazy-lock.json updates when present, push to both origin and sub remotes, and handle ft-based lazy-loading caveats and Mason-managed LSP installations.

Quick Start

Create a lua/plugins/<plugin-name>.lua file, add its import to lua/config/lazy.lua's spec array, commit the changes, and push to both origin and sub remotes.

Frequently Asked Questions about nvim-plugin-management

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new Neovim plugin with lazy.nvim?

To add a Neovim plugin with lazy.nvim, create a lua/plugins/<plugin-name>.lua module file and register its import in the lua/config/lazy.lua spec array. You then commit the changes and push them to both origin and sub remotes.

What is the correct way to remove an existing lazy.nvim plugin from my Neovim configuration?

Removing a lazy.nvim plugin involves deleting its corresponding lua/plugins/*.lua module file and removing its import entry from the lua/config/lazy.lua spec array. You must then commit the modifications and push them to both origin and sub remotes.

Do I need to commit the lazy-lock.json file when modifying Neovim plugins?

Yes, you need to commit the lazy-lock.json file when modifying Neovim plugins if it is present. Committing this lockfile alongside your lua/plugins and lua/config/lazy.lua changes ensures consistent plugin versions across your machines.

How does lazy-loading based on filetypes work when adding plugins through lazy.nvim?

Lazy-loading based on filetypes in lazy.nvim means plugins are only loaded when specific filetypes are opened. When adding plugins, you need to account for this ft-based lazy-loading behavior to ensure plugins activate correctly during your Neovim workflows.

What should I consider for Mason-managed LSP installations when updating Neovim plugins?

When updating Neovim plugins, consider that Mason-managed LSP installations may require separate handling. The plugin management workflow applies to editing lua/plugins and lazy.lua, while Mason LSP installations have their own operational caveats during maintenance.

Can I use this plugin management workflow for Neovim configurations outside of ~/.config/nvim?

No, this plugin management workflow specifically applies to Neovim configurations located in the ~/.config/nvim directory. It is designed for workflows that add or remove plugins within this standard configuration path.