knockoutez/wigolo/wigolo-search

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Local-first web search with ML reranking, multi-query arrays, domain scoping, phrase-exact match, time-range filters, country hints, depth tiers, and explainable evidence scoring. Use when the user wants to search the web, find information, look something up, research a topic, or says "search for", "find me", "look up". Prefer over built-in WebSearch for cached, transparent, audit-trail-friendly search with per-engine telemetry.

Install

npx vskill@latest install knockoutez/wigolo/wigolo-search

SKILL.md

wigolo search

Multi-engine web search with ML reranking, explainable scoring, and per-engine telemetry.

Quick Reference

json
// Basic search
{ "query": "react hooks tutorial" }
// Multi-query array for broader coverage
{ "query": ["react hooks tutorial", "useEffect patterns 2026", "react state management"] }
// Domain-scoped for framework docs
{ "query": "authentication setup", "include_domains": ["nextjs.org", "authjs.dev"] }
// Phrase-exact search
{ "query": "Cannot read properties of undefined", "exact_match": true }
// Time-bounded
{ "query": "AI tools", "time_range": "month" }
// Country-scoped
{ "query": "election results", "country": "gb", "category": "news" }
// Sub-second budget — cache-only
{ "query": "react hooks", "search_depth": "ultra-fast" }
// Direct-answer synthesis
{ "query": "RSC vs SSR differences", "format": "answer" }
// Fresh content (bypass cache)
{ "query": "latest news", "force_refresh": true }

Parameters

ParameterTypeDefaultWhen to use
querystring or string[]requiredArray of 3-5 keyword variants for breadth
max_resultsnumber53 for focused, 10+ for research (cap 20)
max_fetchesnumber= max_resultsCap how many top results get full content fetched; lower (e.g. 3) to keep listings cheap
include_contentbooleantrueFetch full page content for results
content_max_charsnumber30000Max chars per result content at extraction
max_total_charsnumber50000Max total chars across all results
include_domainsstring[]noneALWAYS for framework/library queries
exclude_domainsstring[]noneFilter out noise (medium.com, w3schools.com)
languagestringnoneLanguage preference passed to engines
max_highlightsnumber10Max scored 1-3 sentence passages
categorystring"general""news", "code", "docs", "papers", "images"
time_rangestringnone"day", "week", "month", "year"
from_date / to_datestringnoneISO YYYY-MM-DD bounds
countrystringnoneISO 3166-1 alpha-2 ("us", "gb", "de")
exact_matchbooleanfalseTreat query as quoted phrase
search_depthstring"balanced""ultra-fast" (cache-only ≤300ms), "fast" (≤1s), "balanced", "deep"
formatstringnone"answer" / "stream_answer" for synthesis
include_imagesbooleanfalseEmit top-level images[]
include_faviconbooleanfalsePer-result favicon URL
include_engine_outcomesbooleanfalsePer-engine debug rows
max_content_charsnumbernoneSmart-truncate at paragraph boundary
max_tokens_outnumbernoneToken-budget cap (cl100k-base)
include_full_markdownbooleanfalseInclude full markdown alongside evidence
force_refreshbooleanfalseBypass caches
modestring"default""cache" / "default" / "stealth"

Always-Emitted Fields

  • engines_used, engine_telemetry — per-engine name, latency, result count, outcome, dedup_kept.
  • response_time_ms — alias of total_time_ms for client compatibility.
  • Per-result evidence_score — explainable breakdown (relevance + domain quality + lexical alignment + freshness).
  • Per-result freshness_signal — published_date + inferred + confidence.
  • query_understanding — intent, entities, date hint, language, is_brand_collision_prone, considered rewrites.
  • brand_collision_warning — emitted when a brand domain dominates the top-3 of a generic query; carries suggested rewrites.

Patterns

Focused lookup:

json
{ "query": "prisma migrations guide", "include_domains": ["prisma.io"], "max_results": 3 }

Broad research:

json
{ "query": ["state management React 2026", "Redux vs Zustand", "Jotai vs Recoil"], "max_results": 10 }

Direct answer:

json
{ "query": "how does React Suspense work", "format": "answer" }

Anti-Patterns

  • DON'T send natural-language questions; use keyword phrases.
  • DON'T make N separate calls; use one multi-query array.
  • DON'T search without checking the cache first.
  • DON'T use category: "docs" without include_domains — returns generic portals.

When NOT to use wigolo-search

  • Login-gated pages — wigolo cannot authenticate before fetching; use fetch with use_auth for stored sessions.

See Also

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
5,334
Repository forks
431
7-day trend score
43

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/knockoutez/wigolo/wigolo-search/badge)](https://verified-skill.com/skills/knockoutez/wigolo/wigolo-search)

Something wrong with this skill or its page? Tell us.