madeinoz67

codebase-explorer

0
0
# Install this skill:
npx skills add madeinoz67/madeinoz-knowledge-system --skill "codebase-explorer"

Install specific skill from multi-skill repository

# Description

Deep codebase exploration using semantic search and relationship mapping. Use when you need to understand the current codebase.

# SKILL.md


name: codebase-explorer
description: Deep codebase exploration using semantic search and relationship mapping. Use when you need to understand the current codebase.
allowed-tools: Bash(codanna:), Bash(sed:), Bash(rg:*), Read, Grep, Glob


Search Query Analysis

Query Optimization Skill

Codanna's semantic search works best with technical terms and specific concepts. Analyze the situation and optimize your codebase explore queries for code search:

Examples:
1. If vague (e.g., "that parsing thing") β†’ Make it specific (e.g., "language parser implementation")
2. If a question (e.g., "how does parsing work?") β†’ Extract keywords (e.g., "parsing implementation process")
3. If conversational (e.g., "the stuff that handles languages") β†’ Use technical terms (e.g., "language handler processor")
4. If too broad (e.g., "errors") β†’ Add context (e.g., "error handling exception management")

OptimizedQuery: {Claude: I will write my optimized query here, then use it below}

Execute this command with your optimized query:

Your Workflow

Gather Context

Use the Bash tool to perform semantic code search:

Execute: codanna mcp semantic_search_with_context query:"$OptimizedQuery" limit:5

What Codanna returns:
- Relevance scores (how well each result matches)
- Symbol signatures and documentation
- Relationships (calls, called_by, implements, defines)
- File locations with line ranges

Your Workflow

  1. Analyze the results with their relevance scores (focus on results with score > 0.6 (if possible))

  2. To see actual implementation of interesting results:

  3. Use the line range from the Location field to read just the relevant code
  4. Example: If you see "at src/io/exit_code.rs:108-120"
  5. Use the Read tool with:
    • file_path: src/io/exit_code.rs (use the working directory from your environment context to construct the absolute path)
    • offset: 108 (start line)
    • limit: 13 (calculated as: 120 - 108 + 1)
  6. Formula: limit = end_line - start_line + 1
  7. Example: Read(file_path="/full/path/to/src/io/exit_code.rs", offset=108, limit=13)

  8. When relationships are shown (called_by, calls, defines, implements):

  9. If a relationship looks relevant to answering the query, investigate it
  10. Execute: codanna retrieve describe <relationship_symbol_name|symbol_id:ID>
  11. Example: If you see "Called by: initialize_registry [symbol_id:123]", run: codanna retrieve describe initialize_registry or describe symbol_id:123
  12. Note: Following 1-2 key relationships per result is typically sufficient

  13. Build a complete picture by following key relationships and reading relevant code sections

  14. If needed, repeat with a refined query based on what you learned.


Tips for Efficient Exploration

The results include:
- Relevance scores (how well each result matches the query)
- Symbol documentation and signatures
- Relationships (who calls this, what it calls, what it defines)
- System guidance for follow-up investigation

sed (native on unix only):
- You can also see actual implementation with sed: (works native on Unix based environments):
- Use the line range from the Location field to read just the relevant code
- Example: If you see "Location: src/io/exit_code.rs:108-120"
- Execute: sed -n '108,120p' src/io/exit_code.rs to read lines 108-120
- This shows the actual code implementation, not just the signature. It works like the Read tool.

  • Add lang:rust (or python, typescript, etc.) to narrow results by language if you work on multi-language projects
  • Follow relationships that appear in multiple results (they're likely important)
  • Use the describe command to get full details about interesting relationships

Token awareness:
- Each search uses ~500 tokens
- Each relationship follow uses ~300 tokens
- Each file read uses ~100-500 tokens (depends on size)
- Staying efficient keeps your context window clean for deeper analysis

This command is for exploration:
- Build understanding of the codebase
- Identify patterns and integration points
- Present findings and await user direction
- Don't start implementing or making changes yet

Based on the gathered context, engage with the user to narrow focus and help the user with further request.

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.