Agent Skills: Explore Area

Orient on a new area of the codebase using get_context for token-budgeted exploration with pivots and neighbors. Use when the user asks "what does this module do", "I'm new to this code", "explain this part of the codebase", or wants to understand an unfamiliar area before making changes.

UncategorizedID: anortham/julie/explore-area

Install this agent skill to your local

pnpm dlx add-skill https://github.com/anortham/julie/tree/HEAD/.claude/skills/explore-area

Skill Files

Browse the full folder contents for explore-area.

Download Skill

Loading file tree…

.claude/skills/explore-area/SKILL.md

Skill Metadata

Name
explore-area
Description
Orient on a new area of the codebase using get_context for token-budgeted exploration with pivots and neighbors. Use when the user asks "what does this module do", "I'm new to this code", "explain this part of the codebase", or wants to understand an unfamiliar area before making changes.

Explore Area

Orient on an unfamiliar area of the codebase using Julie's get_context tool. This is the recommended starting point before any modification task — understand the area first, then dive in.

Process

Step 1: Get Token-Budgeted Context

get_context(query="<area, concept, or module name>")

This returns:

  • Pivots: The most relevant symbols with full code bodies
  • Neighbors: Connected symbols with signatures only
  • File map: Which files contain which symbols

The output is automatically token-budgeted — few results get deep context, many results get broad overview.

Step 2: Identify Key Symbols

From the pivots, identify:

  • Entry points: Public functions/methods that external code calls (high centrality score)
  • Core types: Structs, enums, traits that define the area's data model
  • Utilities: Private helpers that support the entry points

Centrality scores in the output indicate how well-connected each symbol is — high-centrality symbols are the important ones.

Step 3: Drill Into Key Symbols (Optional)

For pivots that need more context (e.g., you need to see callers/callees):

deep_dive(symbol="<key_symbol>", depth="overview")

Use context_file if the symbol name is ambiguous:

deep_dive(symbol="<symbol>", depth="overview", context_file="<partial_path>")

Step 4: Check File Structure (Optional)

For files with many symbols that weren't fully covered by get_context:

get_symbols(file_path="<file>", mode="structure", max_depth=1)

This shows the full outline without reading the file contents.

Step 5: Report

Area: <concept/module>

Key Entry Points:
  - function_a (src/module.rs:45) — centrality: high
    Purpose: <what it does>
  - function_b (src/module.rs:120) — centrality: medium
    Purpose: <what it does>

Core Types:
  - StructA (src/types.rs:10) — <what it represents>
  - TraitB (src/traits.rs:5) — <what it defines>

File Map:
  src/module.rs — main implementation (function_a, function_b, helpers)
  src/types.rs — data types (StructA, EnumC)
  src/traits.rs — trait definitions (TraitB)

Dependency Flow:
  External callers → function_a → helper_1 → database queries
                   → function_b → TraitB implementations

Suggested Starting Point:
  <which file/function to read first for this task>

Tips

  • Use format: "readable" for human-friendly output with section separators and richer formatting:
    get_context(query="...", format="readable")
    
    The default format is compact (optimized for AI agent consumption).
  • Use max_tokens to control budget if the default is too much or too little:
    get_context(query="...", max_tokens=1000)
    
  • Filter by language or file pattern to narrow scope:
    get_context(query="...", language="rust", file_pattern="src/tools/**")
    
  • Reference workspaces: Pass workspace: "<workspace_id>" to explore a non-primary workspace