CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

72

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

wigolo find_similar

Hybrid semantic discovery: semantic embeddings + keyword search + web search, fused via Reciprocal Rank Fusion (RRF).

Quick Reference

// 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

ParameterTypeDefaultWhen to use
urlstringFind pages similar to this URL's content
conceptstringFind pages related to a text concept (no URL needed)
max_resultsnumber10Cap at 50
include_domainsstring[]noneScope results to specific sites
exclude_domainsstring[]noneFilter out domains
include_cachebooleantrueSearch local cache (fast, free)
include_webbooleantrueWeb fallback when cache is sparse
modestring"auto""auto", "cache", "web-expansion", "crawl-rank"
thresholdnumber0Hard post-filter on the raw fused score; 0 = no filtering. Filters match_signals.fused_score, not the normalized relevance_score
include_ranking_debugbooleanfalseAttach per-result ranking_debug with the raw ranks
max_tokens_outnumbernoneToken-budget cap (cl100k-base)
include_full_markdownbooleanfalseRestore full body alongside evidence
citation_formatstring"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:

// 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 — build the cache first
  • wigolo-search — when you want web results, not cache similarity
Repository
KnockOutEZ/wigolo
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.