← All skills
neovim
97 / 100 · Low risk
Fine to try.
By fredrikaverpil/dotfiles (GitHub) · writing · 261 stars · scanned at commit 0a3ac07
Interact with the user's running Neovim instance via RPC. Use this skill when you need to execute Lua or Vimscript inside Neovim, query buffer state, send commands, or interact with the Neovim runtime in any way. Triggers when the user asks about their current Neovim session, wants to run something inside Neovim, or when you need to inspect Neovim state (buffers, windows, options, LSP, etc.). Also use when running inside a Neovim terminal and needing to communicate with the parent editor.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README.
Found in 20 places.
Show 17 more
- stow/shared/.claude/skills/neovim/SKILL.md, line 48
result=$(nvim --server "$NVIM" --remote-expr 'v:version') && echo "$result" | grep -v '^Warning: Using NVIM_APPNAME=' - stow/shared/.claude/skills/neovim/SKILL.md, line 54
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("vim.api.nvim_buf_get_name(0)")') && echo "$result" | grep -v '^Warning: Using NVIM_APPNAME=' - stow/shared/.claude/skills/neovim/SKILL.md, line 60
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("(function() local x = vim.api.nvim_get_current_win(); return vim.api.nvim_win_get_number(x) end)()")') && - stow/shared/.claude/skills/neovim/SKILL.md, line 69
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("vim.json.encode(vim.api.nvim_list_bufs())")') && echo "$result" | grep -v '^Warning: Using NVIM_APPNAME=' - stow/shared/.claude/skills/neovim/SKILL.md, line 77
nvim --server "$NVIM" --remote-send ':echo "hello"<CR>' - stow/shared/.claude/skills/neovim/SKILL.md, line 88
nvim --server "$NVIM" --remote file.txt - stow/shared/.claude/skills/neovim/SKILL.md, line 94
nvim --server "$NVIM" --remote-tab file1.txt file2.txt - stow/shared/.claude/skills/neovim/SKILL.md, line 102
result=$(nvim --server "$NVIM" --remote-expr 'execute("lua vim.notify(\"Hello from Claude\")")') && echo "$result" | grep -v '^Warning: Using NVIM_APPNAME=' - stow/shared/.claude/skills/neovim/SKILL.md, line 112
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("vim.api.nvim_buf_get_name(0)")') && echo "$result" | grep -v '^Warning: Using NVIM_APPNAME=' - stow/shared/.claude/skills/neovim/SKILL.md, line 139
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("vim.fn.stdpath(\"data\")")') && echo "$result" | grep -v '^Warning: Using NVIM_APPNAME=' - stow/shared/.claude/skills/neovim/SKILL.md, line 152
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("vim.json.encode(vim.fn.getcompletion(\"MiniDiff\", \"help\"))")') && echo "$result" | grep -v '^Warning: - stow/shared/.claude/skills/neovim/SKILL.md, line 162
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("vim.json.encode(vim.api.nvim_get_runtime_file(\"lua/**/neotest*\", true))")') && echo "$result" | grep -v - stow/shared/.claude/skills/neovim/SKILL.md, line 191
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("require(\"lazy.core.config\").plugins[\"neotest\"].dir")') && echo "$result" | grep -v '^Warning: Using N - stow/shared/.claude/skills/neovim/SKILL.md, line 207
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("require(\"lazy.core.config\").options.dev.path")') && echo "$result" | grep -v '^Warning: Using NVIM_APPN - stow/shared/.claude/skills/neovim/SKILL.md, line 226
result=$(nvim --server "$NVIM" --remote-expr 'luaeval("vim.fn.stdpath(\"config\")")') && echo "$result" | grep -v '^Warning: Using NVIM_APPNAME=' - stow/shared/.claude/skills/neovim/SKILL.md, line 239
result=$(nvim --server "$NVIM" --remote-expr 'execute("lua vim.api.nvim_buf_call(BUFNR, function() vim.cmd(\"edit! | write\") end)")') && echo "$result" | grep - stow/shared/.claude/skills/neovim/SKILL.md, line 245
result=$(nvim --server "$NVIM" --remote-expr 'execute("LspRestart")') && echo "$result" | grep -v '^Warning: Using NVIM_APPNAME='
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'neovim' ] || [ -L ~/.agents/skills/'neovim' ]; then echo 'A skill folder named neovim already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/fredrikaverpil/dotfiles' "$d" && git -C "$d" checkout --quiet '0a3ac0767582737e72aebb92f78881122d4e8772' -- 'stow/shared/.claude/skills/neovim' && mkdir -p ~/.agents/skills && cp -R "$d"/'stow/shared/.claude/skills/neovim' ~/.agents/skills/'neovim' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'neovim' ~/.claude/skills/'neovim' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for fredrikaverpil/dotfiles shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/fredrikaverpil/dotfiles/)
Score history
| Date | Version | Score |
|---|
| 2026-11-12 | 0a3ac07 | 97 |
| 2026-11-08 | 60bd30d | 97 |