← ClaudeAtlas

nvim-copilotlisted

Neovim copiloting protocol — drive a side-by-side neovim instance as a presentation surface for code. Manages setup, navigation, annotations, floating windows, code snippet popups, tour maps, and communication routing between Claude Code and neovim panes. Use as a dependency from any skill that shows code alongside conversation (exploration, code review, debugging, teaching). Also invocable directly to start a copiloted neovim session.
matthull/my-skills · ★ 0 · AI & Automation · score 75
Install: claude install-skill matthull/my-skills
# Neovim Copilot Protocol for driving a side-by-side neovim instance from Claude Code. Claude controls the editor — opening files, annotating code, showing floating explanations, maintaining a tour map — while the developer reads code in neovim and converses in the Claude Code pane. This skill is both directly invocable and a dependency for other skills (e.g., `/explore`, `/code-review`). When loaded as a dependency, the calling skill controls *what* to show; this skill controls *how* to show it. ## Input Optional: a socket path if neovim is already running. - `{{input}}` ## Environment Setup Open neovim to the right of the current Claude Code session: ```bash tmux split-window -h -l 65% "nvim --listen /tmp/nvim-explore.sock $(pwd)" ``` This creates a side-by-side layout: Claude Code on the left (~35% width) and neovim on the right (~65% width). Both get full terminal height. The developer reads code on the right while the conversation happens on the left. **Verify the socket is ready:** ```bash ls /tmp/nvim-explore.sock ``` If the socket already exists from a previous session, remove it first (`rm -f /tmp/nvim-explore.sock`) before starting neovim. **If the developer already has neovim running** with a listen socket, skip setup and ask them for the socket path (or use the one they passed as input). ## Core nvr Operations All commands use `nvr --servername /tmp/nvim-explore.sock` (adjust path if the developer provided a different socket). **Open a file:** ```bash