// Use Julie's semantic search capabilities for conceptual code understanding. Activates when searching for concepts, cross-language patterns, business logic, or exploring unfamiliar code. Combines text and semantic search for optimal results.
| name | semantic-intelligence |
| description | Use Julie's semantic search capabilities for conceptual code understanding. Activates when searching for concepts, cross-language patterns, business logic, or exploring unfamiliar code. Combines text and semantic search for optimal results. |
| allowed-tools | mcp__julie__fast_search, mcp__julie__fast_explore, mcp__julie__trace_call_path, mcp__julie__fast_goto, mcp__julie__get_symbols |
Leverage Julie's semantic understanding to find code by concept, not just keywords. Goes beyond text matching to understand what code does.
Text Search (exact/wildcard matching):
fast_search({ query: "console.error", mode: "text" })
โ Fast (<10ms)
โ Exact matches only
โ Misses variations ("logger.error", "print_error")
Semantic Search (conceptual understanding):
fast_search({ query: "error logging", mode: "semantic" })
โ Slower (~100ms)
โ Finds concepts
โ Discovers: console.error, logger.error, logging.error, errorHandler
โ Cross-language: Python logging, Rust tracing, Go log
Hybrid Search (best of both):
fast_search({ query: "authentication", mode: "hybrid" })
โ Runs text + semantic in parallel
โ Fuses results intelligently
โ Boosts symbols in BOTH searches
โ Optimal: ~150ms
Examples:
- "getUserData" โ find specific function
- "console.log" โ find exact API usage
- "import React" โ exact import statement
- "TODO: fix" โ exact comment
Examples:
- "authentication logic" โ find ALL auth-related code
- "error handling" โ discover error patterns
- "database connections" โ find DB code (MySQL, Postgres, etc.)
- "payment processing" โ business logic discovery
Examples:
- "user authentication" โ concept + exact matches
- "API endpoints" โ finds routes, handlers, controllers
- "validation logic" โ semantic concept + exact validators
Know exact symbol name?
YES โ fast_goto("SymbolName")
โ <5ms, jumps to definition
Know exact API/string?
YES โ fast_search({ mode: "text" })
โ <10ms, exact matches
Searching for concept/behavior?
YES โ fast_search({ mode: "semantic" })
โ ~100ms, conceptual understanding
Not sure / want comprehensive?
YES โ fast_search({ mode: "hybrid" })
โ ~150ms, text + semantic fused
Looking for business logic specifically?
YES โ fast_explore({ mode: "logic", domain: "..." })
โ Filters framework noise, 5-tier CASCADE architecture
Julie's Superpower: Finds similar code across languages
Example: Finding "user validation" across codebase
fast_search({
query: "user input validation",
mode: "semantic",
limit: 20
})
Results discovered:
- TypeScript: validateUser(input: UserInput)
- Python: def validate_user_input(data: dict)
- Rust: fn validate_user(user: &User) -> Result
- Go: func ValidateUserInput(input *UserInput) error
- Java: public boolean validateUser(User user)
โ Same CONCEPT, different languages
โ Naming variants automatically understood
โ Semantic embeddings capture meaning
Why this works: Embeddings encode what code does, not just what it's called
Problem: Framework code dominates search results
Solution: fast_explore (logic mode) filters noise, finds actual business logic
fast_explore({
mode: "logic",
domain: "payment",
max_results: 20,
min_business_score: 0.3
})
Filtering strategy (5-tier CASCADE):
1. Tier 1: SQLite FTS5 keyword search
2. Tier 2: Tree-sitter AST patterns (architectural classes/methods)
3. Tier 3: Path-based scoring (boosts services, penalizes utils/tests)
4. Tier 4: HNSW semantic search (conceptual similarity)
5. Tier 5: Relationship graph centrality (popular symbols)
โ Returns business logic, not framework boilerplate
โ Grouped by layer (controllers, services, models)
Common domains:
Memories are searchable just like code:
# Find similar past decisions
fast_search({
query: "database choice rationale",
mode: "semantic",
file_pattern: ".memories/**/*.json"
})
โ Discovers decision memories about DB selection
โ Finds learnings about database migrations
โ Cross-references related checkpoints
# Find bug fixes related to concept
fast_search({
query: "race condition fixes",
mode: "semantic",
file_pattern: ".memories/**/*.json"
})
โ Returns past race condition bugs
โ Shows solutions that worked
โ Prevents repeating same debugging
Power move: Search codebase + memories together for complete understanding
Unique capability: Trace calls across language boundaries
trace_call_path({
symbol: "processPayment",
direction: "downstream", // what does this call?
max_depth: 3
})
Execution flow discovered:
TypeScript: processPayment()
โ Rust: payment_processor::process() โ CROSSES LANGUAGE
โ SQL: stored_proc_charge() โ CROSSES AGAIN
โ Semantic matching finds cross-language connections
โ No other tool does this
โ ~200ms for multi-level traces
Directions:
upstream โ Who calls this? (callers)downstream โ What does this call? (callees)both โ Full call graphHow hybrid mode works:
1. Run text and semantic searches IN PARALLEL
2. Collect results from both
3. Score fusion algorithm:
- Symbols in BOTH searches โ boosted score
- Text-only โ normal score
- Semantic-only โ normal score
4. Sort by fused score
5. Return top results
Performance: ~150ms (parallelized)
When hybrid shines:
Query: "API error handling"
Text search finds:
- handleAPIError()
- api_error_handler.ts
- APIErrorHandler class
Semantic search finds:
- tryRequest() // catches errors
- errorBoundary() // React error handling
- logFailedRequest() // implicit error handling
Hybrid fusion:
- handleAPIError() โ BOTH searches (boosted!)
- tryRequest() โ semantic understanding
- api_error_handler.ts โ text match
โ Comprehensive results, best ranked first
Find semantically similar code:
# After finding a symbol with fast_goto
fast_refs({
symbol: "UserService",
include_definition: true
})
โ Returns ALL references (text-based)
# Semantic alternative (conceptual similarity)
fast_search({
query: "UserService class implementation",
mode: "semantic",
search_target: "definitions"
})
โ Finds UserService + similar patterns:
- AccountService (similar structure)
- ProfileService (similar purpose)
- CustomerService (semantic similarity)
Use case: "Find all classes similar to this pattern"
Step 1: Broad semantic search
fast_search({ query: "main entry point", mode: "semantic" })
Step 2: Find business logic
fast_explore({ mode: "logic", domain: "core", max_results: 30 })
Step 3: Trace execution
trace_call_path({ symbol: "main", direction: "downstream", max_depth: 2 })
Step 4: Get structure
get_symbols({ file_path: "main.ts", max_depth: 2 })
โ Understand codebase in <5 minutes
Step 1: Semantic search
fast_search({ query: "authentication implementation", mode: "semantic" })
Step 2: Find exact symbols
fast_goto("authenticate")
Step 3: See usage
fast_refs({ symbol: "authenticate" })
Step 4: Trace flow
trace_call_path({ symbol: "authenticate", direction: "downstream" })
โ Complete understanding of feature
Step 1: Semantic search (all languages)
fast_search({ query: "user validation logic", mode: "semantic" })
Step 2: Review results
โ TypeScript, Python, Rust implementations
Step 3: Compare patterns
โ See how each language handles validation
โ Identify best practices
Step 4: Trace connections
trace_call_path({ symbol: "validateUser", direction: "both" })
โ Understand cross-service calls
This skill succeeds when:
Remember: Semantic understanding is Julie's superpower. Text finds what you ask for. Semantic finds what you mean.
The Rule: Searching for WHAT (exact) โ text. Searching for WHY (concept) โ semantic. Not sure โ hybrid.