Agent Skills
› KnockOutEZ/wigolo
› wigolo-agent
wigolo-agent
GitHub自动从网络收集数据,支持自然语言提示和JSON Schema结构化提取。通过并行搜索与抓取,在时间预算内整合结果并输出带步骤透明度的报告,适用于多源信息聚合。
触发场景
用户要求“gather data”或“find pricing for”
用户提供JSON Schema用于网页数据提取
需要跨多个网站收集特定格式的信息
安装
npx skills add KnockOutEZ/wigolo --skill wigolo-agent -g -y
SKILL.md
Frontmatter
{
"name": "wigolo-agent",
"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": "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 data collected from the web with a specific shape, says \"gather data\", \"find pricing for\", \"collect information about\", \"extract from multiple sites\", or provides a JSON schema for web data.\n"
}
wigolo agent
Natural-language data gathering with optional JSON Schema output. Local-first: every fetched page lands in the cache for later reuse.
Quick Reference
// Natural language data gathering
{ "prompt": "Find pricing tiers for the top 5 headless CMS platforms" }
// With structured output schema
{
"prompt": "Find pricing for Contentful, Sanity, and Strapi",
"schema": { "type": "object", "properties": { "name": { "type": "string" }, "free_tier": { "type": "string" }, "pro_price": { "type": "string" }, "enterprise": { "type": "string" } } }
}
// With starting URLs
{
"prompt": "Compare features across these CMS platforms",
"urls": ["https://contentful.com/pricing", "https://sanity.io/pricing"],
"max_pages": 6
}
Parameters
| Parameter | Type | Default | When to use |
|---|---|---|---|
prompt |
string | required | Natural-language task description |
urls |
string[] | none | Seed URLs to include |
schema |
object | none | JSON Schema for structured extraction per page |
max_pages |
number | 10 | Hard cap on pages fetched (max 100) |
max_time_ms |
number | 60000 | Time budget in ms (max 600000) |
stream |
boolean | false | Emit progress notifications per step |
max_tokens_out |
number | none | Token-budget cap (cl100k-base) |
include_full_markdown |
boolean | false | Pages return evidence excerpts by default |
citation_format |
string | "numbered" | "numbered" / "json" / "anthropic_tags" |
How It Works
- Plans — interprets prompt, generates search queries and URLs.
- Executes — searches and fetches in parallel within budget.
- Extracts — if schema provided, extracts fields from each page and merges.
- Synthesizes — produces natural-language result or structured data.
- Reports —
stepsarray shows every action with timings.
Synthesis follows a fallback ladder: host sampling → optional local language model → deterministic extraction.
Output Transparency
Every response includes a steps array:
[
{ "action": "plan", "detail": "Generated 3 search queries", "time_ms": 200 },
{ "action": "search", "detail": "Found 8 results", "time_ms": 5000 },
{ "action": "fetch", "detail": "Fetched 5 pages", "time_ms": 8000 },
{ "action": "extract", "detail": "Extracted schema from 5 sources", "time_ms": 3000 }
]
Use steps to debug weak results — if extraction is poor, check which pages were fetched.
Anti-Patterns
- DON'T use for reports/analysis — use
researchinstead. - DON'T use for single-page extraction — use
extractinstead. - DON'T set
max_pageshigh without time budget — setmax_time_mstoo.
When NOT to use wigolo-agent
- Per-page interactive flow needed (login, multi-step wizard, click-through pagination) — handle authentication or interaction externally, then chain with wigolo's
extract.
See Also
- wigolo-extract — for single-page extraction
- wigolo-research — for reports and analysis (not data gathering)
版本历史
- a15277b 当前 2026-07-19 08:59


