Agent skill

Nvim Plugin

by S1M0N38 in S1M0N38/love2d.nvim

Neovim plugin development best practices and patterns for love2d.nvim.

MITAuto-check passedAgent Workflows

Install Nvim Plugin

skills CLI
$ npx skills add S1M0N38/love2d.nvim --skill nvim-plugin -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install S1M0N38/love2d.nvim nvim-plugin --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/S1M0N38/love2d.nvim.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/nvim-plugin .claude/skills/nvim-plugin && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
nvim-plugin
GitHub stars
215
Token cost
~1k tokens
SKILL.md length
427 words
Files
4 (incl. references)
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Neovim plugin development best practices and patterns for love2d.nvim.

  • Works in 12 steps: Project Structure → Setup & Configuration → Module Organization → …
  • Reviewing Neovim Lua plugin code — structuring a new plugin
  • SKILL.md covers Reference Files, Working with love2d.nvim and File locations in this project
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Nvim Plugin is an agent skill from S1M0N38/love2d.nvim. Neovim plugin development best practices and patterns for love2d.nvim. Use when planning, editing, implementing, or reviewing Neovim Lua plugin code — structuring a new plugin, writing setup/config, highlights, autocmds, keymaps, health checks, type annotations, debounce, state management, or user commands. Also use when the user asks about plugin architecture, conventions, or "how should I implement" a Neovim plugin feature. Do not use for general Lua development unrelated to Neovim plugins, Neovim configuration…

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/RECIPES.md`, `references/TESTS.md` and `references/TYPES.md`).

It sits in Agent Workflows, covering Hooks and plugins and State management. It works with Lua. The repository describes itself as: ♡ A simple Neovim plugin to build games with LÖVE. The licence is MIT.

When your agent uses it

  • Reviewing Neovim Lua plugin code — structuring a new plugin
  • Writing setup/config
  • Type annotations
  • State management

Example prompts

  • “how should I implement”
  • “/nvim-plugin”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Project Structure
  2. Setup & Configuration
  3. Module Organization
  4. Plugin File (user commands, lazy loading)
  5. Highlight Groups
  6. Autocmds
  7. Keymaps
  8. Health Checks
  9. Error Handling & Notifications
  10. Type Annotations
  11. Debounce
  12. State Management (per-buffer cache)

What it can do on your machine

Read from SKILL.md and the folder at commit 2c31946. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Nvim Plugin loads about 1k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 147 tokens; SKILL.md has 427 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~147
When it runs · the whole SKILL.md, loaded when a task matches
~1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~12k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from S1M0N38/love2d.nvim at commit 2c31946, republished under its MIT licence (© S1M0N38). 427 words, ~1,036 tokens.

Download SKILL.mdSave it as .claude/skills/nvim-plugin/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
nvim-plugin
description
Neovim plugin development best practices and patterns for love2d.nvim. Use when planning, editing, implementing, or reviewing Neovim Lua plugin code — structuring a new plugin, writing setup/config, highlights, autocmds, keymaps, health checks, type annotations, debounce, state management, or user commands. Also use when the user asks about plugin architecture, conventions, or "how should I implement" a Neovim plugin feature. Do not use for general Lua development unrelated to Neovim plugins, Neovim configuration (init.lua), or running/debugging tests (use nvim-test).

Neovim Plugin Development (love2d.nvim)

This skill provides patterns and best practices for Neovim plugin development, tailored to the love2d.nvim project.

Read the reference files below on demand based on the current task.

Reference Files

Read these on demand based on the task. Do NOT load all three at once. Each file has a table of contents at the top with anchors for navigation.

references/RECIPES.md

Complete code examples for every plugin pattern.

  1. Project Structure
  2. Setup & Configuration
  3. Module Organization
  4. Plugin File (user commands, lazy loading)
  5. Highlight Groups
  6. Autocmds
  7. Keymaps
  8. Health Checks
  9. Error Handling & Notifications
  10. Type Annotations
  11. Debounce
  12. State Management (per-buffer cache)
  13. User Commands
  14. Anti-Patterns
references/TYPES.md

LuaCATS type annotation reference for Neovim plugins.

  1. Quick Start (minimum annotations every plugin needs)
  2. Type Syntax Reference (primitives, compound types, Neovim-specific)
  3. Annotation Tags — Complete Reference
  4. Neovim Plugin Type Patterns
  5. Definition Files (@meta)
  6. Config Type Patterns
  7. Diagnostic Configuration
references/TESTS.md

Testing patterns for writing and implementing tests (mini.test). For running tests and diagnosing failures, use the nvim-test skill.

  1. Test File Structure
  2. Assertions Quick Reference
  3. Table-Driven Tests
  4. Stubbing and Restoring
  5. Creating Test Buffers
  6. Testing with File Buffers
  7. Testing Config Changes
  8. Conditional Tests
  9. Testing Notifications
  10. Testing Highlights
  11. Testing Autocmds
  12. Testing Keymaps
  13. Test Anti-Patterns
  14. Advanced Testing Patterns

Working with love2d.nvim

When modifying this plugin:

  1. Read the existing code first — match the project's conventions
  2. Check AGENTS.md for project-specific rules and file structure
  3. Look at existing tests/*_spec.lua files to match testing style
  4. Look at existing autocmd patterns in lua/love2d/autocmd.lua
Show full SKILL.md (153 more words)Show less
Architecture Notes
  • Module dispatch — init.lua is a thin dispatcher. setup() calls config, lsp, autocmd, and events modules. No logic lives in init.
  • Job management — love2d.job module manages process lifecycle (run, watch, stop). Single concurrent instance via job.state.id.
  • Output panel — love2d.output module manages a floating window for LÖVE stdout/stderr with inline diagnostics via vim.diagnostic.
  • Event-driven — love2d.events detects project enter/leave and fires User EnterLove2DProject/LeaveLove2DProject. Other modules subscribe.
  • LSP integration — love2d.lsp dynamically injects/removes LÖVE library paths on project enter/leave. Uses vim.lsp.config config-chain merge.
  • Project detection — love2d.utils walks up from CWD to find a LÖVE root (conf.lua with love.conf, main.lua with LÖVE callbacks/modules).
  • Vendored libraries — Do NOT edit libraries/love2d/ or libraries/luasocket/. These are git submodules with LÖVE/LuaSocket type definitions.

File locations in this project

  • Plugin source: lua/love2d/
  • Tests: tests/ (mini.test)
  • Plugin commands: plugin/love2d.lua
  • Compiler: compiler/love.lua
  • LSP base config: lsp/lua_ls.lua
  • Documentation: doc/love2d.txt
  • LÖVE API definitions: libraries/love2d/
  • LuaSocket definitions: libraries/luasocket/
  • Treesitter injections: after/queries/lua/injections.scm
  • Output syntax: after/syntax/love2d_output.vim
  • Sample game: tests/demo-game/

© S1M0N38, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in .agents/skills/nvim-plugin of S1M0N38/love2d.nvim.

  • SKILL.md
  • references/RECIPES.md
  • references/TESTS.md
  • references/TYPES.md

Open the folder on GitHubat commit 2c31946

Compare with similar skills

Nvim Plugin next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Nvim Plugin compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Nvim Plugin this skillS1M0N38/love2d.nvim215—~1kAutomated safety check: PassMIT
Mal Developchainreactors/malice-network500—~1.4kAutomated safety check: PassApache-2.0
Agentic Osaffaan-m/ECC275k1 repos~3.1kAutomated safety check: NotesMIT
Braintrust Tracingparcadei/Continuous-Claude-v33.9k2 repos~3.2kAutomated safety check: PassMIT
Cordis Plugin DevelopmentZhou-Yujing114514/deepseek-harness-linux118—~2kAutomated safety check: PassMIT
Cordis Plugin Developmentsingula-ai/alego109—~1.9kAutomated safety check: PassMIT

Similar skills

  • Mal Develop

    chainreactors/malice-network

    MAL (Malice Scripting Language) plugin development guide. An agent skill from chainreactors/malice-network.

    500 GitHub stars~1.4k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Agentic Os

    affaan-m/ECC

    Build persistent multi-agent operating systems on Claude Code.

    275k GitHub starsUsed in 1 repo~3.1k tokens
    Agent WorkflowsAuto-check: notes
  • Braintrust Tracing

    parcadei/Continuous-Claude-v3

    Braintrust tracing for Claude Code - hook architecture, sub-agent correlation, debugging

    3.9k GitHub starsUsed in 2 repos~3.2k tokens
    Agent WorkflowsAuto-check passed
  • Cordis Plugin Development

    Zhou-Yujing114514/deepseek-harness-linux

    A skill your agent uses when designing, reviewing, adding, enabling, disabling, installing, configuring, or debugging a plugin, bundle, feature, page, panel, tool, or MCP connection in the current…

    118 GitHub stars~2k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • A skill your agent uses when adding, enabling, disabling, installing, configuring, or debugging a plugin, bundle, feature, page, panel, tool, or MCP connection in the current Harness profile…

    109 GitHub stars~1.9k tokensUpdated 9 days ago
    Agent WorkflowsAuto-check passed
  • Claude Code Plugin Structure

    anthropics/claude-plugins-official

    Official

    Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.

    38k GitHub starsUsed in 10 repos~3.4k tokens
    Agent WorkflowsAuto-check passed

More from S1M0N38/love2d.nvim

  • Nvim Commit

    S1M0N38/love2d.nvim

    Create conventional commits for love2d.nvim that are compatible with release-please and follow SemVer.

    215 GitHub stars~1.5k tokensUpdated 3 mo ago
    Auto-check: notes
  • Nvim Doc

    S1M0N38/love2d.nvim

    Write, update, and improve love2d.nvim help documentation (vimdoc) in doc/love2d.txt.

    215 GitHub stars~1.3k tokensUpdated 3 mo ago
    Auto-check: notes
  • Nvim Help

    S1M0N38/love2d.nvim

    Search and read Neovim's built-in :help documentation to look up API signatures, parameter types, option values, and event specifications from the user's installed runtime.

    215 GitHub stars~681 tokensUpdated 3 mo ago
    Auto-check passed
  • Nvim Test

    S1M0N38/love2d.nvim

    Execute tests and diagnose failures for love2d.nvim. An agent skill from S1M0N38/love2d.nvim.

    215 GitHub stars~770 tokensUpdated 3 mo ago
    Auto-check passed

Works with

Questions about Nvim Plugin

What does Nvim Plugin do?

Neovim plugin development best practices and patterns for love2d.nvim. nvim.nvim.

When should I use Nvim Plugin?

Nvim Plugin fits situations like: reviewing Neovim Lua plugin code — structuring a new plugin; writing setup/config; type annotations; state management.

How do I install Nvim Plugin in Claude Code?

Run `npx skills add S1M0N38/love2d.nvim --skill nvim-plugin -a claude-code`. Or copy the skill folder (.agents/skills/nvim-plugin in S1M0N38/love2d.nvim) into .claude/skills/nvim-plugin in your project. Claude Code loads it when a task matches its description.

How do I install Nvim Plugin in Codex?

Run `npx skills add S1M0N38/love2d.nvim --skill nvim-plugin -a codex`. Or copy the skill folder (.agents/skills/nvim-plugin in S1M0N38/love2d.nvim) into .agents/skills/nvim-plugin in your project. Codex loads it when a task matches its description.

Can I use Nvim Plugin in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add S1M0N38/love2d.nvim --skill nvim-plugin -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nvim-plugin, .gemini/skills/nvim-plugin, .github/skills/nvim-plugin and .opencode/skills/nvim-plugin in your project.

What does Nvim Plugin need to run?

SKILL.md names no scripts, command-line tools or credentials: Nvim Plugin is instructions for the agent only.

Does Nvim Plugin access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Nvim Plugin safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Nvim Plugin use?

Nvim Plugin is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Nvim Plugin use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to Nvim Plugin?

Skills that share tags, products or a category with Nvim Plugin: Mal Develop (chainreactors/malice-network, 500 stars), Agentic Os (affaan-m/ECC, 275k stars), Braintrust Tracing (parcadei/Continuous-Claude-v3, 3.9k stars) and Cordis Plugin Development (Zhou-Yujing114514/deepseek-harness-linux, 118 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Nvim Plugin?

S1M0N38 (a GitHub user) maintains it in S1M0N38/love2d.nvim, which has 215 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on July 7, 2026.

Source: S1M0N38/love2d.nvim on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.