/wigolo-research
Local-first multi-step research with question decomposition, parallel search, structured briefs, cross-references, and gap analysis. Use when the user needs comprehensive analysis, comparison reports, literature reviews, or says "research", "compare X vs Y", "deep dive",
$ npx -y skills add KnockOutEZ/wigolo --skill wigolo-research --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/wigolo-research
Context preview
The summary Claude sees to decide when to auto-load this skill.
Local-first multi-step research with question decomposition, parallel search, structured briefs, cross-references, and gap analysis. Use when the user needs comprehensive analysis, comparison reports, literature reviews, or says "research", "compare X vs Y", "deep dive",
SKILL.md
wigolo-research.SKILL.mdname: wigolo-research
description: |
Local-first multi-step research with question decomposition, parallel search, structured briefs, cross-references, and gap analysis. Use when the user needs comprehensive analysis, comparison reports, literature reviews, or says "research", "compare X vs Y", "deep dive", "thorough analysis", "find everything about". Returns a structured `brief` with `topics`, `highlights`, `key_findings`, `sections.overview.cross_references`, `sections.comparison`, `sections.gaps`.
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 research
Comprehensive multi-source research with structured output. Beats chaining `search` + `fetch` manually for multi-source synthesis.
Quick Reference
// Standard research
{ "question": "How does Deno 2 compare to Node.js for production?", "depth": "standard" }
// Comprehensive (more sources, deeper analysis)
{ "question": "SQLite vs PostgreSQL vs DuckDB for analytics", "depth": "comprehensive" }
// Quick factual check
{ "question": "What are the breaking changes in React 19?", "depth": "quick" }
// Domain-scoped research
{ "question": "Next.js App Router patterns", "depth": "standard", "include_domains": ["nextjs.org", "vercel.com"] }
// With structured output schema
{ "question": "Compare Prisma vs Drizzle vs TypeORM", "depth": "standard", "schema": { "type": "object", "properties": { "orm": { "type": "string" }, "bundle_size": { "type": "string" }, "type_safety": { "type": "string" } } } }Depth Levels
| Depth | Sub-queries | Sources | Time | Use case | |-------|-------------|---------|------|----------| | `quick` | 2-3 | 5-8 | ~15s | Quick factual check | | `standard` | 4-5 | 10-15 | ~40s | Normal research (default) | | `comprehensive` | 6-7 | 20-25 | ~80s | Deep comparison, full review |
Override the source count for the chosen depth with `max_sources` (cap 50) — raise it to widen coverage, lower it to keep a run fast.
Output: Structured Brief
When MCP sampling is unavailable (common case), the output carries a `brief`:
{
"brief": {
"key_findings": [...], // top passages across all sources — start report here
"topics": [...], // sources grouped by sub-query
"sections": {
"overview": { "cross_references": [...] }, // findings corroborated by 2+ sources — most reliable
"comparison": {...}, // entity-specific points for X vs Y queries
"gaps": [...] // sub-queries / named entities with limited coverage
}
},
"sub_queries": [...],
"sources": [...],
"query_type": "..." // decomposition strategy used
}**Gaps surface named sub-entities that decomposition or search could not corroborate** — never silently dropped.
Writing the Report
See [wigolo/rules/synthesis.md](../wigolo/rules/synthesis.md). Quick version:
1. Start with `key_findings` for the executive summary. 2. Use `sections.overview.cross_references` for the most reliable claims. 3. Write sections from `topics`. 4. Build comparison table from `sections.comparison` (if present). 5. Note `sections.gaps` as limitations. 6. Cite with [N] format from `citations`.
Anti-Patterns
- DON'T use for single-URL lookups — use `fetch` instead.
- DON'T use for data gathering — use `agent` with a schema instead.
- DON'T pre-probe cache before calling research — it checks internally.
When NOT to use wigolo-research
- **You want a single-shot search result, not a synthesized report** — use `search` with `format: "answer"`.
See Also
- [wigolo-search](../wigolo-search/SKILL.md) — for single-query search
- [wigolo-agent](../wigolo-agent/SKILL.md) — for structured data gathering (not reports)
- [wigolo/rules/synthesis.md](../wigolo/rules/synthesis.md) — how to write from briefs
Read more
name: wigolo-research description: | Local-first multi-step research with question decomposition, parallel search, structured briefs, cross-references, and gap analysis. Use when the user needs comprehensive analysis, comparison reports, literature reviews, or says "research", "compare X vs Y", "deep dive", "thorough analysis", "find everything about". Returns a structured `brief` with `topics`, `highlights`, `key_findings`, `sections.overview.cross_references`, `sections.comparison`, `sections.gaps`. 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 research
Comprehensive multi-source research with structured output. Beats chaining `search` + `fetch` manually for multi-source synthesis.
Quick Reference
// Standard research
{ "question": "How does Deno 2 compare to Node.js for production?", "depth": "standard" }
// Comprehensive (more sources, deeper analysis)
{ "question": "SQLite vs PostgreSQL vs DuckDB for analytics", "depth": "comprehensive" }
// Quick factual check
{ "question": "What are the breaking changes in React 19?", "depth": "quick" }
// Domain-scoped research
{ "question": "Next.js App Router patterns", "depth": "standard", "include_domains": ["nextjs.org", "vercel.com"] }
// With structured output schema
{ "question": "Compare Prisma vs Drizzle vs TypeORM", "depth": "standard", "schema": { "type": "object", "properties": { "orm": { "type": "string" }, "bundle_size": { "type": "string" }, "type_safety": { "type": "string" } } } }Depth Levels
| Depth | Sub-queries | Sources | Time | Use case | |-------|-------------|---------|------|----------| | `quick` | 2-3 | 5-8 | ~15s | Quick factual check | | `standard` | 4-5 | 10-15 | ~40s | Normal research (default) | | `comprehensive` | 6-7 | 20-25 | ~80s | Deep comparison, full review |
Override the source count for the chosen depth with `max_sources` (cap 50) — raise it to widen coverage, lower it to keep a run fast.
Output: Structured Brief
When MCP sampling is unavailable (common case), the output carries a `brief`:
{
"brief": {
"key_findings": [...], // top passages across all sources — start report here
"topics": [...], // sources grouped by sub-query
"sections": {
"overview": { "cross_references": [...] }, // findings corroborated by 2+ sources — most reliable
"comparison": {...}, // entity-specific points for X vs Y queries
"gaps": [...] // sub-queries / named entities with limited coverage
}
},
"sub_queries": [...],
"sources": [...],
"query_type": "..." // decomposition strategy used
}**Gaps surface named sub-entities that decomposition or search could not corroborate** — never silently dropped.
Writing the Report
See [wigolo/rules/synthesis.md](../wigolo/rules/synthesis.md). Quick version:
1. Start with `key_findings` for the executive summary. 2. Use `sections.overview.cross_references` for the most reliable claims. 3. Write sections from `topics`. 4. Build comparison table from `sections.comparison` (if present). 5. Note `sections.gaps` as limitations. 6. Cite with [N] format from `citations`.
Anti-Patterns
- DON'T use for single-URL lookups — use `fetch` instead.
- DON'T use for data gathering — use `agent` with a schema instead.
- DON'T pre-probe cache before calling research — it checks internally.
When NOT to use wigolo-research
- **You want a single-shot search result, not a synthesized report** — use `search` with `format: "answer"`.
See Also
- [wigolo-search](../wigolo-search/SKILL.md) — for single-query search
- [wigolo-agent](../wigolo-agent/SKILL.md) — for structured data gathering (not reports)
- [wigolo/rules/synthesis.md](../wigolo/rules/synthesis.md) — how to write from briefs
The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
Repo: KnockOutEZ/wigolo
Other skills on wigolo.
- /wigolo-agent
Autonomous data gathering across sources — plans search queries and URLs from a natural-language prompt, executes in parallel within a time budget, optionally extracts structured fields via JSON Schema, and synthesizes results with full step transparency. Use when the user needs
Open skill - /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
Open skill - /wigolo-crawl
Local-first multi-page crawl with sitemap, BFS, DFS, and URL-map strategies, anchor-fragment dedup, rate limiting, robots.txt respect, and automatic local cache population. Use when the user wants to index documentation, crawl a docs site, extract all pages under a path, or says
Open skill - /wigolo-diff
Compare two versions of a page and see exactly what changed — a live URL against its cached copy, two URLs, or two markdown blobs. Section-level hunks, word- or line-level granularity, or a summary of counts. Use when the user says "what changed", "diff these", "compare this
Open skill - /wigolo-extract
Local-first structured extraction from any webpage — tables, definition lists, key-value pairs, JSON-LD, microdata, chart hints (SVG titles / aria-labels / figcaptions), brand assets, and metadata. Use when the user wants structured data, pricing tables, feature comparisons, or
Open skill - /wigolo-fetch
Local-first URL fetch with clean markdown, structured metadata, JS-rendered SPA support, authenticated browser sessions, PDFs, and content change detection. Use when the user provides a URL, says "fetch", "get this page", "read this URL", or wants content from a specific
Open skill

