--- name: search-interceptor description: "💡 Bulk file read optimizer. Suggests semantic search alternatives when reading multiple files. Helps reduce token usage by using claudemem's ranked results instead of sequential file reads." allowed-tools: Bash, AskUserQuestion --- # Search Interceptor This skill helps optimize bulk file operations by suggesting semantic search alternatives when they would be more efficient. ## When Semantic Search is More Efficient | Scenario | Token Cost | Alternative | |----------|------------|-------------| | Read 5+ files | ~5000 tokens | `claudemem search` (~500 tokens) | | Glob all *.ts files | ~3000+ tokens | `claudemem --agent map` | | Sequential reads to understand | Variable | One semantic query | ## When to Consider Alternatives ### Multiple File Reads If planning to read several files, consider: ```bash # Instead of reading 5 files individually claudemem search "concept from those files" -n 15 # Gets ranked results with context ``` ### Broad Glob Patterns If using patterns like `src/**/*.ts`: ```bash # Instead of globbing and reading all matches claudemem --agent map "what you're looking for" # Gets structural overview with PageRank ranking ``` ### File Paths Mentioned in Task Even when specific paths are mentioned, semantic search often finds additional relevant code: ```bash claudemem search "concept related to mentioned files" ``` --- ## Interception Protocol ### Step 1: Pause Before Execution When you're about to execute bulk file operations, STOP and run: ```bash claudemem status ``` ### Step 2: Evaluate **If claudemem is indexed:** | Your Plan | Better Alternative | |-----------|-------------------| | Read 5 auth files | `claudemem search "authentication login session"` | | Glob all services | `claudemem search "service layer business logic"` | | Read mentioned paths | `claudemem search "[concept from those paths]"` | **If claudemem is NOT indexed:** ```bash claudemem index -y ``` Then proceed with semantic search. ### Step 3: Execute Better Alternative ```bash # Instead of reading N files, run ONE semantic query claudemem search "concept describing what you need" -n 15 # ONLY THEN read specific lines from results ``` --- ## Interception Decision Matrix | Situation | Intercept? | Action | |-----------|-----------|--------| | Read 1-2 specific files | No | Proceed with Read | | Read 3+ files in investigation | **YES** | Convert to claudemem search | | Glob for exact filename | No | Proceed with Glob | | Glob for pattern discovery | **YES** | Convert to claudemem search | | Grep for exact string | No | Proceed with Grep | | Grep for semantic concept | **YES** | Convert to claudemem search | | Files mentioned in prompt | **YES** | Search semantically first | --- ## Examples of Interception ### Example 1: Auth Investigation **❌ Original plan:** ``` I see the task mentions auth, let me read: - src/services/auth/login.ts - src/services/auth/session.ts - src/services/auth/jwt.ts - src/services/auth/middleware.ts - src/services/auth/utils.ts ``` **✅ After interception:** ```bash claudemem status # Check if indexed claudemem search "authentication login session JWT token validation" -n 15 # Now I have ranked, relevant chunks instead of 5 full files ``` ### Example 2: API Integration Audit **❌ Original plan:** ``` Audit mentions Prime API files: - src/services/prime/internal_api/client.ts - src/services/prime/api.ts Let me just Read these directly... ``` **✅ After interception:** ```bash claudemem search "Prime API integration endpoints HTTP client" -n 20 # This finds ALL Prime-related code, ranked by relevance # Not just the 2 files mentioned ``` ### Example 3: Pattern Discovery **❌ Original plan:** ``` Glob("src/**/*.controller.ts") Then read all 15 controllers to understand routing ``` **✅ After interception:** ```bash claudemem search "HTTP controller endpoint route handler" -n 20 # Gets the most relevant routing code, not all controllers ``` --- ## Why Semantic Search Often Works Better | Native Tools | Semantic Search | |--------------|-----------------| | No ranking | Ranked by relevance + PageRank | | No relationships | Shows code connections | | ~5000 tokens for 5 files | ~500 tokens for ranked results | | Only explicitly requested code | Discovers related code | **Tip:** For investigation tasks, try `claudemem search` first to get a ranked view of relevant code. --- ## Integration with Other Skills This skill works with: | Skill | Relationship | |-------|-------------| | `code-search-selector` | Selector determines WHAT tool; Interceptor validates BEFORE execution | | `claudemem-search` | Interceptor redirects to claudemem; this skill shows HOW to search | | `deep-analysis` | Interceptor prevents bad patterns; deep-analysis uses good patterns | | Detective skills | Interceptor prevents duplicate work by trusting detective agents | --- ## Hook System Integration The hook system may provide claudemem results proactively when the index is available: - **Grep queries** → May receive claudemem search results instead - **Bulk reads** → May receive suggestion to use semantic search - **Broad globs** → May receive map results ### Using the Bypass Flag When you specifically need native tool behavior: ```json { "pattern": "exact string", "_bypass_claudemem": true } ``` This tells hooks you intentionally want native tool output. --- ## Quick Reference Before bulk Read/Glob operations, consider: 1. **Is claudemem indexed?** → `claudemem status` 2. **Can this be one semantic query?** → Often yes 3. **Do you need exact matches?** → Use native tools with bypass flag **General guideline:** For understanding/investigation, try semantic search first. For exact matches, use native tools. --- **Maintained by:** MadAppGang **Plugin:** code-analysis v2.16.0 **Purpose:** Help optimize bulk file operations with semantic search alternatives