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.

설치로 이동

소스 정보

저장소
KnockOutEZ/wigolo
최근 소스 활동
2026년 7월 16일 17:09
감지된 SKILL.md 언어
영어
스타
5,412
포크
440

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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
GitHub에서 보기