home / skills / madappgang / claude-code / search-interceptor

This skill helps you optimize bulk file reads by suggesting semantic search alternatives to reduce token usage and improve efficiency.

npx playbooks add skill madappgang/claude-code --skill search-interceptor

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
5.8 KB
---
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

Overview

This skill optimizes bulk file reads by suggesting semantic search alternatives to reduce token usage and speed up investigations. It intercepts plans to read many files or broad globs and recommends claudemem semantic queries or map agents instead. The goal is fewer queries, ranked relevance, and better context with far lower token cost.

How this skill works

Before executing bulk read, glob, or semantic grep operations, the interceptor checks whether a claudemem index is available and evaluates the planned action. For multi-file or discovery-style operations it recommends a single semantic search (claudemem search) or a map agent query that returns ranked, connected results. If the index is missing, it suggests indexing first and only falls back to native reads when exact matches are required or a bypass flag is set.

When to use it

  • You plan to read 3+ files to investigate a concept or flow.
  • You intend to glob broad patterns (e.g., src/**/*.ts) to discover structure.
  • You will grep for a semantic concept rather than an exact string.
  • Files are mentioned in the prompt but related code elsewhere could be relevant.
  • You want a ranked, contextual overview before diving into specific files.

Best practices

  • Run claudemem status before bulk operations to check indexing.
  • Convert investigative multi-file reads into one claudemem search with -n for chunk count.
  • Use claudemem --agent map for structural overviews on broad globs.
  • Use the bypass flag only when you explicitly need raw native tool behavior.
  • Read specific lines from ranked results instead of reading whole files.

Example use cases

  • Investigating authentication: run a single semantic search for login, session, JWT to get ranked snippets instead of opening five files.
  • Auditing API integration: search for the API concept to find all related client and endpoint code across the repo.
  • Pattern discovery across controllers: use a map agent query to surface the most relevant routing handlers rather than opening every controller.
  • Grep vs. semantic concept: switch semantic grep to a claudemem search when the query is conceptual, not exact.

FAQ

What if claudemem is not indexed?

Run the index command first; once indexed you can run semantic searches which save tokens and time.

When should I not intercept and use native reads?

When you need exact filename matches, precise string grep, or intentionally want raw tool output—use the bypass flag in those cases.