Skip to main content

wigolo-find-similar

Hybrid semantic discovery — fuses embeddings + keyword search + live web search via 3-way Reciprocal Rank Fusion. Use when the user has a good source and wants more like it, says "find similar", "related pages", "more like this", or wants to discover content related to a known URL or concept. Works best after a `crawl` or several `fetch` calls have warmed the local cache. Emits `cold_start` when local signals are weak.

Ir a la instalación

Datos de origen

Repositorio
KnockOutEZ/wigolo
Última actividad en el origen
16 de julio de 2026 a las 17:09
Idioma detectado de SKILL.md
inglés
Estrellas
5270
Forks
419

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
wigolo-find-similar
description
Hybrid semantic discovery — fuses embeddings + keyword search + live web search via 3-way Reciprocal Rank Fusion. Use when the user has a good source and wants more like it, says "find similar", "related pages", "more like this", or wants to discover content related to a known URL or concept. Works best after a `crawl` or several `fetch` calls have warmed the local cache. Emits `cold_start` when local signals are weak.
license
AGPL-3.0-only
metadata
{"author":"KnockOutEZ","version":"0.1.43-beta.2","homepage":"https://github.com/KnockOutEZ/wigolo","repository":"https://github.com/KnockOutEZ/wigolo"}
# wigolo find_similar Hybrid semantic discovery: semantic embeddings + keyword search + web search, fused via Reciprocal Rank Fusion (RRF). ## Quick Reference ```json // Find pages similar to a URL { "url": "https://docs.astro.build/en/getting-started/" } // Find pages related to a concept { "concept": "JavaScript framework server-side rendering" } // Scoped to specific domains { "url": "https://react.dev/reference/react/use", "include_domains": ["vuejs.org", "svelte.dev"] } // Cache-only (no web fallback) { "url": "https://example.com/page", "include_web": false } ``` ## Parameters | Parameter | Type | Default | When to use | |-----------|------|---------|-------------| | `url` | string | — | Find pages similar to this URL's content | | `concept` | string | — | Find pages related to a text concept (no URL needed) | | `max_results` | number | 10 | Cap at 50 | | `include_domains` | string[] | none | Scope results to specific sites | | `exclude_domains` | string[] | none | Filter out domains | | `include_cache` | boolean | true | Search local cache (fast, free) | | `include_web` | boolean | true | Web fallback when cache is sparse | | `mode` | string | "auto" | "auto", "cache", "web-expansion", "crawl-rank" | | `threshold` | number | 0 | Hard post-filter on the raw fused score; 0 = no filtering. Filters `match_signals.fused_score`, not the normalized `relevance_score` | | `include_ranking_debug` | boolean | false | Attach per-result `ranking_debug` with the raw ranks | | `max_tokens_out` | number | none | Token-budget cap (cl100k-base) | | `include_full_markdown` | boolean | false | Restore full body alongside evidence | | `citation_format` | string | "numbered" | "numbered" / "json" / "anthropic_tags" | Provide either `url` or `concept` (not both). ## How It Works 1. Embeds the input (URL content or concept text) into a vector. 2. Searches local cache via embedding similarity + keyword matching. 3. Falls back to web search if local hits are sparse. 4. Fuses all signals via 3-way Reciprocal Rank Fusion (RRF). 5. Returns ranked results. Each carries `match_signals` with the `fused_score`. Set `include_ranking_debug: true` to also attach a per-result `ranking_debug` object exposing the individual source ranks (`fts5_rank`, `embedding_rank`, `web_rank`, `rrf_score`) so you can audit disagreement between the three ranking sources. ## Modes - **`auto`** (default) — pick the strategy from available signals. - **`cache`** — local hybrid only (keyword + semantic over the cache). - **`web-expansion`** — derive key terms and expand via web search. - **`crawl-rank`** — 1-hop crawl from the seed URL, embed, and cosine-rank the neighbours. ## Cold-Start Signal When the fused score from local signals is below threshold (env `WIGOLO_FIND_SIMILAR_COLD_START_THRESHOLD`), the response includes a `cold_start` string explaining why results came from web search. Pass it verbatim to the user. ## Important: Build the Cache First find_similar works best with a warm cache. Recommended workflow: ```json // Step 1: crawl to populate cache with embeddings { "url": "https://docs.framework.dev", "strategy": "sitemap", "max_pages": 20 } // Step 2: now find_similar has real semantic signal { "url": "https://docs.framework.dev/getting-started" } ``` ## Anti-Patterns - DON'T use find_similar on a fresh install expecting embedding results — crawl first. - DON'T provide both `url` and `concept` — pick one. - DON'T use when you want web-only results — use `search` instead. ## When NOT to use wigolo-find-similar - **No local cache and no plan to build one** — fall back to `search` with `include_domains`. ## See Also - [wigolo-crawl](../wigolo-crawl/SKILL.md) — build the cache first - [wigolo-search](../wigolo-search/SKILL.md) — when you want web results, not cache similarity
Ver en GitHub