Codebase search and context retrieval for any programming language. Hybrid semantic/lexical search with neural reranking. Use for code lookup, finding implementations, understanding codebases, Q&A grounded in source code, and persistent memory across sessions.
/plugin marketplace add m1rl0k/Context-Engine/plugin install context-engine@context-engine-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Search and retrieve code context from any codebase using hybrid vector search (semantic + lexical) with neural reranking.
What do you need?
|
+-- Find code locations/implementations
| |
| +-- Simple query --> info_request
| +-- Need filters/control --> repo_search
|
+-- Understand how something works
| |
| +-- Want LLM explanation --> context_answer
| +-- Just code snippets --> repo_search with include_snippet=true
|
+-- Find similar code patterns (retry loops, error handling, etc.)
| |
| +-- Have code example --> pattern_search with code snippet (if enabled)
| +-- Describe pattern --> pattern_search with natural language (if enabled)
|
+-- Find specific file types
| |
| +-- Test files --> search_tests_for
| +-- Config files --> search_config_for
|
+-- Find relationships
| |
| +-- Who calls this function --> search_callers_for
| +-- Who imports this module --> search_importers_for
| +-- Symbol graph navigation (callers/defs/importers) --> symbol_graph
|
+-- Git history --> search_commits_for
|
+-- Store/recall knowledge --> memory_store, memory_find
|
+-- Blend code + notes --> context_search with include_memories=true
Use repo_search (or its alias code_search) for most code lookups. Reranking is ON by default.
{
"query": "database connection handling",
"limit": 10,
"include_snippet": true,
"context_lines": 3
}
Returns:
{
"results": [
{"score": 3.2, "path": "src/db/pool.py", "symbol": "ConnectionPool", "start_line": 45, "end_line": 78, "snippet": "..."}
],
"total": 8,
"used_rerank": true
}
Multi-query for better recall - pass a list to fuse results:
{
"query": ["auth middleware", "authentication handler", "login validation"]
}
Apply filters to narrow results:
{
"query": "error handling",
"language": "python",
"under": "src/api/",
"not_glob": ["**/test_*", "**/*_test.*"]
}
Search across repos:
{
"query": "shared types",
"repo": ["frontend", "backend"]
}
Use repo: "*" to search all indexed repos.
language - Filter by programming languageunder - Path prefix (e.g., "src/api/")path_glob - Include patterns (e.g., ["/*.ts", "lib/"])not_glob - Exclude patterns (e.g., ["**/test_*"])symbol - Symbol name matchkind - AST node type (function, class, etc.)ext - File extensionrepo - Repository filter for multi-repo setupscase - Case-sensitive matchingUse info_request for natural language queries with minimal parameters:
{
"info_request": "how does user authentication work"
}
Add explanations:
{
"info_request": "database connection pooling",
"include_explanation": true
}
Use context_answer when you need an LLM-generated explanation grounded in code:
{
"query": "How does the caching layer invalidate entries?",
"budget_tokens": 2000
}
Returns an answer with file/line citations. Use expand: true to generate query variations for better retrieval.
Note: This tool may not be available in all deployments. If pattern detection is disabled, calls return
{"ok": false, "error": "Pattern search module not available"}.
Find structurally similar code patterns across all languages. Accepts either code examples or natural language descriptions—auto-detects which.
Code example query - find similar control flow:
{
"query": "for i in range(3): try: ... except: time.sleep(2**i)",
"limit": 10,
"include_snippet": true
}
Natural language query - describe the pattern:
{
"query": "retry with exponential backoff",
"limit": 10,
"include_snippet": true
}
Cross-language search - Python pattern finds Go/Rust/Java equivalents:
{
"query": "if err != nil { return err }",
"language": "go",
"limit": 10
}
Explicit mode override - force code or description mode:
{
"query": "error handling",
"query_mode": "description",
"limit": 10
}
Key parameters:
query - Code snippet OR natural language descriptionquery_mode - "code", "description", or "auto" (default)language - Language hint for code examples (python, go, rust, etc.)limit - Max results (default 10)min_score - Minimum similarity threshold (default 0.3)include_snippet - Include code snippets in resultscontext_lines - Lines of context around matchesaroma_rerank - Enable AROMA structural reranking (default true)aroma_alpha - Weight for AROMA vs original score (default 0.6)target_languages - Filter results to specific languagesReturns:
{
"ok": true,
"results": [...],
"total": 5,
"query_signature": "L2_2_B0_T2_M0",
"query_mode": "code",
"search_mode": "aroma"
}
The query_signature encodes control flow: L (loops), B (branches), T (try/except), M (match).
search_tests_for - Find test files:
{"query": "UserService", "limit": 10}
search_config_for - Find config files:
{"query": "database connection", "limit": 5}
search_callers_for - Find callers of a symbol:
{"query": "processPayment", "language": "typescript"}
search_importers_for - Find importers:
{"query": "utils/helpers", "limit": 10}
symbol_graph - Symbol graph navigation (callers / definition / importers):
{"symbol": "ASTAnalyzer", "query_type": "definition", "limit": 10}
{"symbol": "get_embedding_model", "query_type": "callers", "under": "scripts/", "limit": 10}
{"symbol": "qdrant_client", "query_type": "importers", "limit": 10}
Notes:
metadata.calls, metadata.imports, metadata.symbol, metadata.symbol_path).language, under, and output_format like other tools.search_commits_for - Search git history:
{"query": "fixed authentication bug", "limit": 10}
change_history_for_path - File change summary:
{"path": "src/api/auth.py", "include_commits": true}
Use memory_store to persist information for later retrieval:
{
"information": "Auth service uses JWT tokens with 24h expiry. Refresh tokens last 7 days.",
"metadata": {"topic": "auth", "date": "2024-01"}
}
Use memory_find to retrieve stored knowledge by similarity:
{"query": "token expiration", "limit": 5}
Use context_search to blend code results with stored memories:
{
"query": "authentication flow",
"include_memories": true,
"per_source_limits": {"code": 6, "memory": 3}
}
qdrant_index_root - First-time setup or full reindex:
{}
With recreate (drops existing data):
{"recreate": true}
qdrant_index - Index only a subdirectory:
{"subdir": "src/"}
qdrant_prune - Remove deleted files from index:
{}
qdrant_status - Check index health:
{}
qdrant_list - List all collections:
{}
workspace_info - Get current workspace and collection:
{}
list_workspaces - List all indexed workspaces:
{}
collection_map - View collection-to-repo mappings:
{"include_samples": true}
set_session_defaults - Set defaults for session:
{"collection": "my-project", "language": "python"}
expand_query - Generate query variations for better recall:
{"query": "auth flow", "max_new": 2}
json (default) - Structured outputtoon - Token-efficient compressed formatSet via output_format parameter.
Aliases:
code_search = repo_search (identical behavior)Cross-server tools:
memory_store / memory_find — Memory server tools for persistent knowledgeCompat wrappers accept alternate parameter names:
repo_search_compat - Accepts q, text, top_k as aliasescontext_answer_compat - Accepts q, text as aliasesUse the primary tools when possible. Compat wrappers exist for legacy clients.
Tools return structured errors, typically via error field and sometimes ok: false:
{"ok": false, "error": "Collection not found. Run qdrant_index_root first."}
{"error": "Timeout during rerank"}
Common issues:
qdrant_index_root to create the indexrerank_enabled: false or reduce limitinclude_snippet: true to see code context in resultsmemory_store to save architectural decisions and context for laterqdrant_status if searches return unexpected resultsqdrant_prune after moving/deleting filesqdrant_index_root on first use or after cloning a repopattern_search instead of repo_search (if enabled)pattern_search understands "retry with backoff" just as well as actual code examples (if enabled)