Gabb Code Navigation Guide

VerifiedSafe

This skill provides a decision framework for exploring codebases efficiently. It explains when to use gabb_structure to preview file layouts before reading large files, and when to use gabb_symbol to search for code constructs by name. It helps reduce token usage and avoid unnecessary file reads.

Sby Skills Guide Bot
DevelopmentIntermediate
306/2/2026
Claude CodeCursorWindsurf
#code-navigation#symbol-search#file-exploration#ai-assistant

Recommended for

Our review

This skill teaches a code navigation strategy using MCP tools gabb_structure and gabb_symbol for efficient file exploration in supported languages.

Strengths

  • Reduces token consumption by avoiding unnecessary full file reads
  • Quickly locates code symbols (functions, classes) by name
  • Provides a high-level file structure overview before reading in detail

Limitations

  • Only works for supported languages (Python, TypeScript, Rust, Go, etc.)
  • gabb_structure shows symbols only, not raw text (error messages, strings)
  • Requires MCP tools to be properly configured in the environment
When to use it

Use this skill when exploring large or unfamiliar files, or when searching for symbol definitions in a codebase.

When not to use it

Avoid this skill when you know exactly where the code is or when searching for literal text (use Grep instead).

Security analysis

Safe
Quality score90/100

The skill only provides guidance on code navigation using gabb_structure and gabb_symbol. No destructive or exfiltrating actions are instructed. The allowed tools include Bash but the skill does not invoke it for harmful purposes.

No concerns found

Examples

Find a function definition
Find the function 'update_proxy_model_permissions' in the codebase using gabb_symbol.
Preview a large file structure
Use gabb_structure to show me the structure of 'src/large_file.rs' before I read it.
Navigate unfamiliar codebase
I'm new to this project. Can you give me a structure overview of the main module files using gabb_structure?

name: gabb-code-navigation description: | Teaches when to use gabb_structure for efficient file exploration. Use gabb_structure before reading large files in supported languages. allowed-tools: mcp__gabb__gabb_structure, mcp__gabb__gabb_symbol, Edit, Write, Bash, Read, Glob

Gabb Code Navigation

Search Strategy Decision Flow

When you need to find code, follow this order:

  1. Task names specific file/function? → Read directly (skip exploration)
  2. Looking for a code construct by name?gabb_symbol
  3. Looking for text content (strings, error messages)? → Grep
  4. Need to understand file layout?gabb_structure

gabb_symbol - Workspace Symbol Search

Search for symbols (functions, classes, methods) by name across the workspace.

When to use:

  • Task mentions a function/class/method name to find or fix
  • You need to find where something is defined
  • Grep would return too many false positives

Example:

gabb_symbol name="update_proxy_model_permissions"
→ function update_proxy_model_permissions [prod] migrations/0011_update_proxy_permissions.py:5:1

Use Grep instead when:

  • Searching for error messages or string literals
  • Looking for text patterns, not code identifiers

gabb_structure - File Layout Preview

First: Assess if exploration is needed (see MCP instructions). For trivial tasks with obvious targets, go directly to the file.

If exploring: Before reading large or unfamiliar code files, consider using gabb_structure to preview the layout. This saves tokens when you only need part of a large file.

Recommended for:

  • Large files (>100 lines) where you only need part
  • Unfamiliar codebases where you're exploring
  • Files you'll read multiple times

Skip when:

  • You already know exactly what you're looking for
  • The file is likely small (<100 lines)
  • You can answer from existing context
  • Files you've already seen structure for in this conversation
  • You're searching for string literals, regex patterns, or error messages (gabb_structure shows symbols, not strings—use Grep directly)

Supported Languages

| Language | Extensions | |------------|----------------------------------------| | Python | .py, .pyi | | TypeScript | .ts, .tsx | | Rust | .rs | | Go | .go | | Kotlin | .kt, .kts | | C++ | .cpp, .cc, .cxx, .hpp, .hh |

Usage Patterns

Symbol Search

gabb_symbol name="MyClass"
→ class MyClass [prod] src/models.py:45:1

File Structure Preview

1. gabb_structure file="src/large_file.rs"
   → Returns symbol names, kinds, line numbers (NO source code)

2. Read file_path="src/large_file.rs" offset=150 limit=50
   → Read only the section you need

What gabb_structure Output Looks Like

/path/to/file.rs:450
Summary: 15 functions, 3 structs | 450 lines
Key types: MyStruct (10 methods)

MyStruct st 10
 new fn 12
 process fn 17
helper fn 30
main fn 50

The output shows:

  • File path and line count
  • Summary stats (function count, struct count, line count)
  • Key types with method counts
  • Compact symbol tree: name kind_abbrev line with single-space indent for children
Related skills