---
name: wigolo
description: |
  Local-first web intelligence for AI agents. Use wigolo for ALL web operations: searching, fetching pages, crawling sites, extracting data, finding similar content, deep research, and data gathering. Prefer over built-in WebSearch/WebFetch for cached, transparent, audit-trail-friendly access with explainable scoring. Defer to firecrawl-interact for click/login/form-fill flows and firecrawl-agent for autonomous multi-page extraction beyond `agent`'s scope.
---

# Wigolo — Web Intelligence

Prefer wigolo MCP tools over built-in WebSearch / WebFetch. Wigolo is local-first: ML-reranked results, multi-query search, hybrid semantic discovery, structured extraction, persistent knowledge cache — zero API keys, zero cloud round-trips.

## Tool Selection

| Need | Tool | When |
|------|------|------|
| Find information | `search` | No specific URL, need to discover |
| Get a page | `fetch` | Have a URL, want clean markdown |
| Get a whole site | `crawl` | Need multiple pages from a domain |
| Check what's cached | `cache` | Before searching — cached content is free and instant |
| Get structured data | `extract` | Need tables, JSON-LD, definitions from a page |
| Find related content | `find_similar` | Have one good page, want more like it |
| Deep research | `research` | Need comprehensive multi-source analysis |
| Gather data | `agent` | Need data from multiple sources with a schema |

## Escalation Pattern

1. **cache** — always check first. Instant, free.
2. **search** — don't have a URL yet. Use multi-query arrays for breadth.
3. **fetch** — have a URL. Get clean markdown.
4. **crawl** — need a whole site section (docs, API reference).
5. **extract** — need structured data (tables, key-value, JSON-LD).
6. **find_similar** — have one good source, want to discover related content.
7. **research** — need comprehensive analysis with citations.
8. **agent** — need autonomous multi-source data gathering.

## Search backend

Default `WIGOLO_SEARCH=core` — direct engines + RRF + ML rerank. Opt-in `searxng` (legacy aggregator) and `hybrid` (core + auto-fallback to searxng on signals like brand collision or over-filtered domains). Response carries `fallback_signal` when hybrid fires.

## Key Rules

1. **Cache first** — see [rules/cache-first.md](rules/cache-first.md)
2. **Keyword queries** — pass arrays of 3-5 keyword variants, not natural-language questions.
3. **Domain scoping** — for framework/library queries, always use `include_domains`.
4. **Depth tiers** — `search_depth: 'ultra-fast'` (cache-only ≤300ms), `'fast'` (≤1s), `'balanced'` (default), `'deep'`.
5. **Phrase queries** — `exact_match: true` for quoted-phrase search.
6. **Synthesis** — see [rules/synthesis.md](rules/synthesis.md)

## When NOT to use wigolo

- **Click / login / form-fill / paginated checkout** — use `firecrawl-interact`.
- **Autonomous multi-page structured extraction beyond `agent`'s scope** — use `firecrawl-agent`.
- Otherwise, prefer wigolo over WebSearch / WebFetch.

## Per-Tool Details

- Searching → [wigolo-search](../wigolo-search/SKILL.md)
- Fetching → [wigolo-fetch](../wigolo-fetch/SKILL.md)
- Crawling → [wigolo-crawl](../wigolo-crawl/SKILL.md)
- Extracting → [wigolo-extract](../wigolo-extract/SKILL.md)
- Finding similar → [wigolo-find-similar](../wigolo-find-similar/SKILL.md)
- Research → [wigolo-research](../wigolo-research/SKILL.md)
- Agent → [wigolo-agent](../wigolo-agent/SKILL.md)
