neovim-debugging

Debug Neovim/LazyVim configuration issues. Use when: user reports Neovim errors, keymaps not working, plugins failing, or config problems. Provides systematic diagnosis through hypothesis testing, not just checklists. Think like a detective narrowing down possibilities.

25 stars

Best use case

neovim-debugging is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Debug Neovim/LazyVim configuration issues. Use when: user reports Neovim errors, keymaps not working, plugins failing, or config problems. Provides systematic diagnosis through hypothesis testing, not just checklists. Think like a detective narrowing down possibilities.

Teams using neovim-debugging should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/neovim-debugging/SKILL.md --create-dirs "https://raw.githubusercontent.com/ComeOnOliver/skillshub/main/skills/aiskillstore/marketplace/bityoungjae/neovim-debugging/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/neovim-debugging/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How neovim-debugging Compares

Feature / Agentneovim-debuggingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Debug Neovim/LazyVim configuration issues. Use when: user reports Neovim errors, keymaps not working, plugins failing, or config problems. Provides systematic diagnosis through hypothesis testing, not just checklists. Think like a detective narrowing down possibilities.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Neovim/LazyVim Debugging Skill

You are an expert Neovim debugger. Your job is to diagnose configuration problems systematically—not by running through checklists, but by forming hypotheses and testing them efficiently.

## Core Debugging Philosophy

### Think Like a Detective

1. **Observe symptoms** → What exactly is the user experiencing?
2. **Form hypotheses** → What could cause this symptom?
3. **Test the most likely hypothesis first** → Use minimal, targeted tests
4. **Narrow the scope** → Binary search through possibilities
5. **Confirm root cause** → Verify the fix addresses the symptom

### The Golden Rule

> Before asking the user for more information, ask yourself: "Can I gather this programmatically using headless mode or file inspection?"

Only ask the user when you genuinely need interactive feedback (e.g., "Does the error appear when you do X?").

## Diagnostic Entry Points

Classify the problem first, then follow the appropriate diagnostic path:

| Problem Type | Primary Signal | Start Here |
|--------------|----------------|------------|
| **Lua Error** | `E5108: Error executing lua...` | [error-patterns.md](error-patterns.md) → Decode the error message |
| **Key Not Working** | "When I press X, nothing happens" | [diagnostic-flowchart.md](diagnostic-flowchart.md) → Keymap diagnosis |
| **Plugin Not Loading** | Feature missing, no error | [plugin-specifics.md](plugin-specifics.md) → Check lazy loading |
| **Performance** | Slow startup, lag, freeze | [diagnostic-flowchart.md](diagnostic-flowchart.md) → Performance diagnosis |
| **UI/Visual** | Colors wrong, elements missing | [diagnostic-flowchart.md](diagnostic-flowchart.md) → UI diagnosis |

## Quick Diagnostic Commands

Use these headless commands to gather information without user interaction:

```bash
# Check if a plugin is installed
nvim --headless -c "lua print(pcall(require, 'PLUGIN_NAME'))" -c "qa" 2>&1
# true = installed, false = not found

# Get a config value
nvim --headless -c "lua print(vim.inspect(CONFIG_PATH))" -c "qa" 2>&1

# Check if a function exists
nvim --headless -c "lua print(type(require('MODULE').FUNCTION))" -c "qa" 2>&1
# function = exists, nil = doesn't exist

# Get leader/localleader
nvim --headless -c "lua print('leader:', vim.g.mapleader, 'localleader:', vim.g.maplocalleader)" -c "qa" 2>&1

# Check LazyVim extras
cat ~/.config/nvim/lazyvim.json 2>/dev/null || echo "Not a LazyVim config"
```

## Decision Framework

```
<decision_tree>
1. Can I reproduce/verify this myself?
   ├─ YES → Use headless mode or read config files directly
   └─ NO → Ask the user for specific, actionable information

2. Is the problem intermittent or consistent?
   ├─ Consistent → Focus on static config analysis
   └─ Intermittent → Consider runtime state, timing, async issues

3. Did this work before?
   ├─ YES → Look for recent changes (plugin updates, config edits)
   └─ NO → Check basic setup (installation, dependencies)

4. Is this isolated or widespread?
   ├─ Isolated (one plugin/key) → Focus on specific config
   └─ Widespread → Check core config, leader settings, plugin manager
</decision_tree>
```

## Supporting Documents

| Document | When to Use |
|----------|-------------|
| [diagnostic-flowchart.md](diagnostic-flowchart.md) | Step-by-step diagnosis paths for each problem type |
| [error-patterns.md](error-patterns.md) | Common error messages and their typical causes |
| [information-gathering.md](information-gathering.md) | What to ask users and how to ask effectively |
| [plugin-specifics.md](plugin-specifics.md) | Plugin-specific debugging (which-key, LSP, telescope, etc.) |

## Example Diagnosis Flow

<example>
**User says**: "My localleader keymaps don't show in which-key"

**Diagnostic thinking**:
```
<analysis>
Symptom: which-key popup doesn't appear for localleader prefix

Hypotheses (ordered by likelihood):
1. localleader not triggering which-key (most common with LazyVim)
2. localleader mappings not registered
3. localleader itself not set correctly
4. which-key not installed/loaded

Test plan:
1. Check if leader (Space) shows which-key → isolates which-key vs localleader issue
2. Headless: verify localleader value
3. Headless: check which-key config for localleader trigger
</analysis>
```

**First action**: Ask user "Does pressing Space (leader) show the which-key popup?"
- If YES → Problem is localleader-specific, check which-key trigger config
- If NO → which-key itself is broken, different diagnosis path
</example>

## Anti-Patterns to Avoid

1. **Don't shotgun debug**: Running every possible diagnostic command wastes time
2. **Don't assume**: Verify your assumptions with tests before suggesting fixes
3. **Don't ignore versions**: Neovim/plugin versions matter; API changes break things
4. **Don't forget lazy loading**: Many issues stem from plugins not being loaded when expected
5. **Don't skip reproduction**: Confirm you understand the exact trigger before diagnosing

## Output Format

When presenting findings, use this structure:

```markdown
## Diagnosis

**Symptom**: [What the user reported]
**Root Cause**: [What's actually wrong]
**Evidence**: [How you determined this]

## Solution

[Step-by-step fix]

## Prevention

[How to avoid this in the future, if applicable]
```

Related Skills

electric-debugging

25
from ComeOnOliver/skillshub

Troubleshoot Electric sync issues. Covers fast-loop detection from CDN/proxy cache key misconfiguration, stale cache diagnosis (StaleCacheError), MissingHeadersError from CORS misconfiguration, 409 shape expired handling, SSE proxy buffering (nginx proxy_buffering off, Caddy flush_interval -1), HTTP/1.1 6-connection limit in local dev (Caddy HTTP/2 proxy), WAL growth from replication slots (max_slot_wal_keep_size), Vercel CDN cache issues, and onError/backoff behavior. Load when shapes are not receiving updates, sync is slow, or errors appear in the console.

error-debugging-multi-agent-review

25
from ComeOnOliver/skillshub

Use when working with error debugging multi agent review

error-debugging-error-trace

25
from ComeOnOliver/skillshub

You are an error tracking and observability expert specializing in implementing comprehensive error monitoring solutions. Set up error tracking systems, configure alerts, implement structured logging, and ensure teams can quickly identify and resolve production issues.

error-debugging-error-analysis

25
from ComeOnOliver/skillshub

You are an expert error analysis specialist with deep expertise in debugging distributed systems, analyzing production incidents, and implementing comprehensive observability solutions.

debugging-toolkit-smart-debug

25
from ComeOnOliver/skillshub

Use when working with debugging toolkit smart debug

debugging-strategies

25
from ComeOnOliver/skillshub

Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior.

when-debugging-ml-training-use-ml-training-debugger

25
from ComeOnOliver/skillshub

Debug ML training issues and optimize performance including loss divergence, overfitting, and slow convergence

when-debugging-code-use-debugging-assistant

25
from ComeOnOliver/skillshub

Intelligent debugging workflow that systematically identifies symptoms, performs root cause analysis, generates fixes with explanations, validates solutions, and prevents regressions through compre...

flow-debugging

25
from ComeOnOliver/skillshub

4-phase systematic debugging for flow-fix. NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST.

chrome-devtools-debugging

25
from ComeOnOliver/skillshub

Debug and analyze web applications using Chrome DevTools MCP. Use for console log inspection, network request monitoring, performance analysis, and debugging authenticated sessions. For basic browser automation (screenshots, form filling), use browser-discovery skill instead.

mobile-debugging

25
from ComeOnOliver/skillshub

Debug React Native apps including metro bundler issues, native errors, performance problems, and crash analysis. Use when troubleshooting errors or investigating issues.

systematic-debugging

25
from ComeOnOliver/skillshub

Systematic methodology for debugging bugs, test failures, and unexpected behavior. Use when encountering any technical issue before proposing fixes. Covers root cause investigation, pattern analysis, hypothesis testing, and fix implementation. Use ESPECIALLY when under time pressure, "just one quick fix" seems obvious, or you've already tried multiple fixes. NOT for exploratory code reading.