wigolo-research
GitHub支持多步分解、并行搜索与交叉验证的综合研究技能。提供快速、标准及深度三种模式,输出结构化简报,涵盖关键发现、对比分析及信息缺口,适用于深度分析与比较报告。
触发场景
安装
npx skills add KnockOutEZ/wigolo --skill wigolo-research -g -y
SKILL.md
Frontmatter
{
"name": "wigolo-research",
"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"
},
"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`.\n"
}
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. Quick version:
- Start with
key_findingsfor the executive summary. - Use
sections.overview.cross_referencesfor the most reliable claims. - Write sections from
topics. - Build comparison table from
sections.comparison(if present). - Note
sections.gapsas limitations. - Cite with [N] format from
citations.
Anti-Patterns
- DON'T use for single-URL lookups — use
fetchinstead. - DON'T use for data gathering — use
agentwith 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
searchwithformat: "answer".
See Also
- wigolo-search — for single-query search
- wigolo-agent — for structured data gathering (not reports)
- wigolo/rules/synthesis.md — how to write from briefs
版本历史
- a15277b 当前 2026-07-19 08:59


