Skip to content
Back to skills

Code Navigation

ASecurity

Use when you need to understand the codebase structure, find definitions, or trace references without reading entire files.

  • 666 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
documentationbashdebuggingdocumentation

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill code-navigation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Code Navigation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Code Navigation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-code-navigation/badge)](https://www.skillsdirectory.com/skills/majiayu000-code-navigation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: code-navigation
description: "Use when you need to understand the codebase structure, find definitions, or trace references without reading entire files."
version: 1.0.0
last_verified: 2025-12-31
author: system
tags: [lsp, codebase-exploration, architecture, efficiency]
allowed-tools: ["cclsp", "Glob", "Grep", "Read"]
---

# Code Navigation Standards

## 1. Context

This skill enforces "LSP First" - using the Language Server Protocol (`cclsp`) for code navigation instead of token-heavy text processing. This implements the "Precision and Parsimony" principle from the Flywheel architecture.

**Key Principle:** Do not read entire files to find a single definition. Use LSP to navigate like a Software Architect.

## 2. Verified Procedure

### Definition Lookup
```bash
# DO: Use LSP to jump directly to definition
cclsp definition <symbol>

# DON'T: Read the entire file searching for the definition
cat src/large_file.py | grep "def function_name"
```

### Finding References
```bash
# DO: Use LSP to find all usages
cclsp references <symbol>

# DON'T: Grep across the entire codebase
grep -r "function_name" .
```

### Type and Signature Information
```bash
# DO: Use LSP hover to see parameters and types
cclsp hover <symbol>

# DON'T: Read function definition to understand signature
Read src/file.py  # Then manually parse the function signature
```

### Codebase Structure Exploration
```bash
# DO: Use Glob for file discovery first, then LSP for details
Glob "**/*.py" | cclsp outline

# DON'T: Read every file to understand structure
for file in $(find . -name "*.py"); do cat $file; done
```

## 3. Negative Knowledge

### Failed Attempts

| Attempt | Why It Failed | Token Cost |
|---------|---------------|------------|
| Reading full files to find class definitions | Wasted 10,000+ tokens on a 500-line file when LSP would have returned the answer in <50 tokens | 200x overhead |
| Using `grep -r` across large codebases | Returned too many false positives, required reading multiple files to find the right reference | 50x overhead |
| Guessing import paths without LSP verification | Led to incorrect imports that failed at runtime | Required debugging iteration |
| Reading documentation files instead of using `cclsp hover` | Documentation was outdated; LSP provided current signature from source | Incorrect information |

### Anti-Patterns to Avoid

1. **Token Waste:** Reading entire files when you only need a single function signature.
2. **Grep Overuse:** Using `grep` for semantic queries that LSP can answer precisely.
3. **Path Guessing:** Assuming file locations instead of using `cclsp definition` to verify.
4. **Ignoring Type Information:** Not using `cclsp hover` to understand parameter types and return values.

## 4. Tool Selection Matrix

| Task | Tool | Rationale |
|------|------|-----------|
| Find where function is defined | `cclsp definition` | Direct, token-efficient |
| Find all usages of a class | `cclsp references` | Semantic understanding |
| Understand function signature | `cclsp hover` | Includes types and docs |
| Find files matching pattern | `Glob` | Fast file discovery |
| Search for string literal | `Grep` | Text search, not semantic |
| Read implementation details | `Read` | Only after LSP narrows scope |

## 5. Workflow Example

**Task:** "Find where `UserAuth` class is used and understand its constructor"

```bash
# Step 1: Find the definition
cclsp definition UserAuth

# Step 2: Get constructor signature
cclsp hover UserAuth.__init__

# Step 3: Find all references
cclsp references UserAuth

# Step 4: Only NOW read specific files if needed
Read src/auth/user_auth.py
```

**Token Savings:** ~90% compared to reading all files that might contain `UserAuth`.

## 6. Integration with Flywheel

- **Before:** Agent reads 5-10 files (2000+ lines) to understand a function.
- **After:** Agent uses LSP to get exact definition in <20 lines of output.
- **Result:** Faster responses, lower costs, more context budget for complex reasoning.

## 7. Verification Checklist

Before opening a file with `Read`, ask:
- [ ] Can `cclsp definition` answer this question?
- [ ] Can `cclsp references` show me where this is used?
- [ ] Can `cclsp hover` give me the signature/type?
- [ ] Have I used `Glob` to narrow down the file search first?

**If any answer is YES, use that tool FIRST.**

## 8. Maintenance Notes

- **LSP Availability:** Requires `cclsp.json` configuration in repository root.
- **Language Support:** Check which languages are supported by the LSP server in your environment.
- **Fallback:** If LSP fails, THEN use `Grep` + `Read`, but document the failure in this skill's Negative Knowledge.

---

*Last Updated: 2025-12-31*
*Source: The CLAUDE.md Blueprint - LSP First Principle*

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.