neovim-plugin-development

Scaffold Neovim Lua plugins with canonical layout and plenary.nvim tests.

1|1|Updated May 3, 2026
One-click install
npx skills add https://github.com/matt-riley/agent-skills --skill neovim-plugin-development-matt-riley
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: neovim-plugin-development
Source: https://github.com/matt-riley/agent-skills/tree/main/skills/neovim-plugin-development
Command: npx skills add https://github.com/matt-riley/agent-skills --skill neovim-plugin-development-matt-riley

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Neovim plugin developers need a battle-tested, repeatable scaffold that includes plugin structure, testing, CI, documentation, and release automation to reduce setup time and errors.

Core Features & Use Cases

  • Canonical project layout (lua/, doc/, tests/, minimal_init)
  • Built-in setup() with defaults and idempotence for safe reconfiguration
  • Testing with plenary.nvim and CI workflows for linting and tests
  • Documentation scaffolding and release automation support

Quick Start

Scaffold a canonical Neovim plugin structure and bootstrap tests with plenary.nvim.

Frequently Asked Questions about neovim-plugin-development

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

FAQPage Schema
How do I scaffold a new Neovim plugin with Lua, tests, and CI?

Scaffolding a Neovim Lua plugin requires a canonical layout with lua/, doc/, and tests/ directories, an idempotent setup() function, plenary.nvim test integration, and GitHub Actions pipelines for linting and automated testing.

What is the standard project structure for a Neovim Lua plugin?

The standard Neovim Lua plugin structure includes a lua/ directory for source code, a doc/ directory for documentation, a tests/ directory for plenary.nvim tests, and a minimal_init file for isolated test bootstrapping.

How do I set up plenary.nvim tests for Neovim plugin development?

Setting up plenary.nvim tests involves creating a tests/ directory within your Neovim plugin project and using a minimal_init configuration to bootstrap the test environment for reliable, isolated Lua test execution.

Does this Neovim plugin scaffold include GitHub Actions CI workflows?

Yes, the scaffold includes GitHub Actions CI workflows that automate both linting and testing across the typical plugin lifecycle, ensuring your Neovim Lua code passes checks before release.

Can I safely reconfigure a Neovim plugin setup() function multiple times?

Yes, the scaffold provides a built-in setup() function designed with defaults and idempotence, allowing safe reconfiguration of your Neovim plugin without duplicating side effects or breaking existing states.

What's the best way to automate documentation and releases for a Neovim plugin?

Automating Neovim plugin releases is handled through built-in documentation scaffolding and release automation support, streamlining the process of publishing your Lua code and generating help docs.