# Wigolo Agent

Autonomous data gathering across sources, plans search queries and URLs from a...

- Repository: https://github.com/KnockOutEZ/wigolo (5517 stars)
- Category: AI and agents
- License: AGPL-3.0-only
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add KnockOutEZ/wigolo --skill wigolo-agent -g -a claude-code -y`
Codex: `npx skills add KnockOutEZ/wigolo --skill wigolo-agent -g -a codex -y`
Cursor: `npx skills add KnockOutEZ/wigolo --skill wigolo-agent -g -a cursor -y`
Gemini CLI: `npx skills add KnockOutEZ/wigolo --skill wigolo-agent -g -a gemini-cli -y`

## 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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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

```json
// 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

1. **Plans**, interprets prompt, generates search queries and URLs.
2. **Executes**, searches and fetches in parallel within budget.
3. **Extracts**, if schema provided, extracts fields from each page and merges.
4. **Synthesizes**, produces natural-language result or structured data.
5. **Reports**, `steps` array shows every action with timings.

Synthesis follows a fallback ladder: host sampling → optional local language model → deterministic extraction.

The rest: https://github.com/KnockOutEZ/wigolo/blob/HEAD/skills/wigolo-agent/SKILL.md
