search-tools

Search Tool Hierarchy

422 stars

Best use case

search-tools is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Search Tool Hierarchy

Teams using search-tools should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/search-tools/SKILL.md --create-dirs "https://raw.githubusercontent.com/vibeeval/vibecosystem/main/skills/search-tools/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/search-tools/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How search-tools Compares

Feature / Agentsearch-toolsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Search Tool Hierarchy

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Search Tool Hierarchy

When searching code, use this decision tree:

## Decision Tree

```
Need CONCEPTUAL/SEMANTIC search?
  (how does X work, find patterns, understand architecture)
  → Use LEANN (/leann-search) - embedding-based semantic search
  → PreToolUse hook auto-redirects semantic Grep queries

Need to understand code STRUCTURE?
  (find function calls, class usages, refactor patterns)
  → Use AST-grep (/ast-grep-find)

Need to find TEXT in code?
  → Use Morph (/morph-search) - 20x faster
  → If no Morph API key: fall back to Grep tool

Simple one-off search?
  → Use built-in Grep tool directly
```

## Tool Comparison

| Tool | Best For | Requires |
|------|----------|----------|
| **LEANN** | Semantic search: "how does caching work", "error handling patterns", conceptual queries | Index built |
| **AST-grep** | Structural patterns: "find all calls to `foo()`", refactoring, find usages by type | MCP server |
| **Morph** | Fast text search: "find files mentioning error", grep across codebase | API key |
| **Grep** | Literal patterns, class/function names, regex | Nothing (built-in) |

## Examples

**LEANN** (semantic/conceptual):
- "how does authentication work"
- "find error handling patterns"
- "where is rate limiting implemented"

**AST-grep** (structural):
- "Find all functions that return a Promise"
- "Find all React components using useState"
- "Refactor all imports of X to Y"

**Morph** (text search):
- "Find all files mentioning 'authentication'"
- "Search for TODO comments"

**Grep** (literal):
- `class ProviderAdapter`
- `def __init__`
- Regex patterns

## LEANN Commands

```bash
# Search with semantic query
leann search opc-dev "how does blackboard communication work" --top-k 5

# List available indexes
leann list

# Rebuild index (when code changes)
leann build opc-dev --docs dir1 dir2 --no-recompute --no-compact --force
```