CtrlK
BlogDocsLog inGet started
Tessl Logo

wigolo-cache

Local-first knowledge cache — full-text and hybrid semantic search over every page wigolo has already fetched, crawled, or searched. Use before any web request: cached hits return instantly and free. Triggers when the user says "check the cache", "have we seen this", "what's on disk", "search what I've already fetched", "cache stats", or "what changed since I last looked". Also clears matching entries and re-checks cached URLs for changes.

73

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

wigolo cache

The local knowledge store. Every page wigolo fetches, crawls, or searches lands here with clean markdown and embeddings, so the second read is instant and free. Check the cache before any search or fetch.

Quick Reference

// Keyword search over cached content
{ "query": "oauth2 pkce" }

// Scope to a URL glob
{ "query": "pkce", "url_pattern": "*auth0.com*" }

// Higher-recall hybrid (keyword + semantic) lookup
{ "query": "token refresh rotation", "mode": "hybrid" }

// Only entries cached after a date
{ "query": "release notes", "since": "2026-06-01" }

// Cache statistics (no query needed)
{ "stats": true }

// Re-fetch matching cached URLs and report what changed
{ "url_pattern": "*docs.example.com*", "check_changes": true }

// Clear matching entries (requires at least one filter)
{ "url_pattern": "*staging.example.com*", "clear": true }

Parameters

ParameterTypeDefaultWhen to use
querystringnoneFull-text keyword search over cached bodies
url_patternstringnoneURL glob filter, e.g. "*example.com*"
sincestringnoneISO date — only entries cached after this date
clearbooleanfalseDelete matching entries (needs query, url_pattern, or since)
statsbooleanfalseReturn total URLs, size, and date range
check_changesbooleanfalseRe-fetch matching URLs, report changed/unchanged + diff summary
modestring"fts""fts" (keyword BM25) or "hybrid" (keyword + semantic, fused)
limitnumber20Max results to return
max_tokens_outnumbernoneToken-budget cap on returned bodies (cl100k-base)

The Cache-First Workflow

Cached content is instant (0ms network), free (no engine query), and already extracted (clean markdown). A miss costs nothing; a redundant fetch wastes 5-15 seconds. So the first move is always:

// Step 1 — probe the cache
cache({ "query": "server islands hydration", "url_pattern": "*docs.astro.build*" })

// Step 2 — miss? fall through to search or fetch
search({ "query": "astro server islands", "include_domains": ["docs.astro.build"] })

Modes

  • fts (default) — keyword BM25 over the local full-text index. Fast, exact-term.
  • hybrid — additionally runs semantic vector search and fuses both rankings with reciprocal rank fusion for higher recall. Falls back to keyword search when the embedding index is empty or unavailable.

Stats and Change Detection

stats: true reports total URLs, on-disk size, and the cached date range — useful to gauge whether find_similar has enough local signal yet.

check_changes: true re-fetches the matching cached URLs and reports which ones changed, with a per-URL diff summary. Scope it with query or url_pattern so you only re-check what matters.

Anti-Patterns

  • DON'T search or fetch before probing the cache — you may already have it.
  • DON'T pass clear: true without a filter — the handler refuses an unscoped wipe.
  • DON'T expect mode: "hybrid" to help on a cold cache — warm it with crawl first.

When NOT to use wigolo-cache

  • Content you have never fetched — the cache only holds what wigolo has already read; use search or fetch to bring it in first.

See Also

  • wigolo-search — when the cache misses
  • wigolo-crawl — warm the cache in bulk
  • wigolo-diff — compare a live page against its cached copy
  • wigolo-find-similar — discover related cached pages
  • wigolo/rules/cache-first.md — the cache-first rule
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.