# Anycap Worldcup Predict

> World Cup match prediction and pre-match intel for football (soccer) fans: predict who will win and a likely scoreline, backed by structured, verifiable evidence -- player profiles, squad dossiers, current form, head-to-head records, and past-tournament history -- using AnyCap web search and crawl. Weighs FIFA ranking, recent form, head-to-head, and key players, plus any user-defined dimensions (…

- **Type:** Skill
- **Install:** `agentstack add skill-anycap-ai-anycap-anycap-worldcup-predict`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [anycap-ai](https://agentstack.voostack.com/s/anycap-ai)
- **Installs:** 0
- **Category:** [Web & Browser](https://agentstack.voostack.com/c/web-and-browser)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [anycap-ai](https://github.com/anycap-ai)
- **Source:** https://github.com/anycap-ai/anycap/tree/main/skills/anycap-worldcup-predict
- **Website:** https://anycap.ai

## Install

```sh
agentstack add skill-anycap-ai-anycap-anycap-worldcup-predict
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# AnyCap World Cup Predict

> **Read this entire file before starting.** It defines a reliable workflow for turning a player name (or a whole squad) into structured, verifiable World Cup pre-match intel using AnyCap, then optionally calling a winner and scoreline for fun.

World Cup match prediction and pre-match intel for serious football fans. Turn player names and lineups into structured, verifiable profiles, stats, and matchup briefings so you can read a World Cup matchup before kickoff -- then, if you want, finish with a for-fun prediction (likely winner + scoreline + confidence). Built for World Cup squads and national-team lineups, and works for any footballer.

This skill is about **how to retrieve and verify player data**. For CLI command reference (flags, output, jq), read the `anycap-cli` skill and its `references/search.md` / `references/crawl.md`.

> This skill surfaces **public information** (profiles, form, historical stats) and can finish with an optional **for-fun prediction** (likely winner + a playful scoreline) derived from that data. It does **not** set betting odds, output win probabilities as if they were facts, or place wagers. Every prediction must ship with the disclaimer in [predict.md](references/predict.md). Treat everything as informational and form your own judgment.

## Prerequisites

- `anycap` CLI installed and authenticated (`anycap status` to verify). Read the `anycap-cli` skill if setup is needed.
- `jq` for parsing JSON output.

## Core Principle: Search Less, Not Faster

Do not crawl the whole web for every player. Narrow the search space first, then retrieve only what matters:

1. **Grounding first** -- ask for a structured profile in one shot (`anycap search --prompt`). This is the fastest path to clean data.
2. **Disambiguate** -- when a name is shared by several players, add context (nationality, position, birth year, club) to lock onto the right one.
3. **Verify only when accuracy matters** -- cross-check against an authoritative, crawlable source (Wikipedia) instead of trusting a single answer.
4. **Prune, don't dump** -- in batch mode, fetch one structured profile per player; never crawl every search result.

## Workflow

| Goal | Route | Reference |
|------|-------|-----------|
| One player's basic info | Grounding structured JSON | [lookup.md](references/lookup.md) |
| Right player when name is shared | Add context / pre-scan with `--query` | [lookup.md](references/lookup.md) |
| High-accuracy, sourced profile | Cross-check vs Wikipedia | [verify.md](references/verify.md) |
| A whole squad / roster | Loop grounding, aggregate to table | [batch.md](references/batch.md) |
| Career + current World Cup stats | Grounding stats JSON (with caveats) | [stats.md](references/stats.md) |
| Size up a matchup (Team A vs Team B) | Build both squads via batch, compare side by side | [batch.md](references/batch.md) |
| Add past World Cup context | Format, group + knockout results, key players, team history, head-to-head | [history.md](references/history.md) |
| Call a winner + scoreline (for fun) | Weigh the gathered layers (plus any user-defined dimensions), then predict with a mandatory disclaimer | [predict.md](references/predict.md) |

For a matchup, run the squad workflow for both teams, then layer in historical context (tournament track record + head-to-head from [history.md](references/history.md)). Present three layers side by side -- **squad quality**, **current form**, **historical context** -- and highlight differences in key positions and availability. Then, if a prediction is wanted, finish with an optional **for-fun call** (likely winner + playful scoreline + confidence) per [predict.md](references/predict.md). Always keep the factual layers clearly separated from the prediction, and always attach the disclaimer.

### Fast path (single player)

```bash
anycap search --prompt 'Give the basic profile of footballer Jude Bellingham as JSON with fields: full_name, date_of_birth, nationality, height, position, current_club, shirt_number, national_team. Only the JSON.' \
  | jq -r '.data.content'
```

Returns (verified):

```json
{
  "full_name": "Jude Victor William Bellingham",
  "date_of_birth": "2003-06-29",
  "nationality": "English",
  "height": "1.86 m",
  "position": "Midfielder",
  "current_club": "Real Madrid",
  "shirt_number": 5,
  "national_team": "England"
}
```

Grounding search costs 5 credits per call. General search (`--query`) and crawl cost 1 credit each.

## Output Schema

Normalize every profile to this schema so single-player and batch results are consistent:

| Field | Type | Notes |
|-------|------|-------|
| `full_name` | string | Legal/full name |
| `date_of_birth` | string | `YYYY-MM-DD`; use `null` if unknown |
| `nationality` | string | Primary nationality |
| `height` | string | e.g. `1.86 m`; `null` if unknown |
| `position` | string | e.g. `Midfielder`, `Goalkeeper` |
| `current_club` | string | Club as of retrieval date |
| `shirt_number` | int/null | Club or national-team number |
| `national_team` | string | National team |

Rules:

- Use `null` for missing fields. Never invent values.
- `current_club` and `shirt_number` change frequently -- treat them as point-in-time and note the retrieval date.
- When a field cannot be confirmed, mark it and (if accuracy matters) verify via [verify.md](references/verify.md).

## Important: Source Reliability (verified)

- **Wikipedia is reliably crawlable** (`anycap crawl https://en.wikipedia.org/wiki/` returns full Markdown). Use it as the primary verification source.
- **Transfermarkt blocks crawling** -- `anycap crawl` returns a short `Human Verification` page, not data. Do not rely on crawling it; use grounding search or Wikipedia instead.
- Other stats sites may also bot-block. Always check the crawled `title`/length before trusting content.

## Prediction (for fun)

After the factual layers, you may add an optional, clearly-labeled prediction so the briefing is fun to read. See [predict.md](references/predict.md) for the method and the required disclaimer. Non-negotiable rules:

- **Facts first, prediction last.** Never blend the guess into the data tables; put it in its own clearly-marked block.
- **Always attach the disclaimer** from [predict.md](references/predict.md). A prediction without the disclaimer is incomplete output.
- **Entertainment, not betting.** Do not present win probabilities or odds as facts, do not give wagering advice, and do not tell anyone to bet.
- **Show the reasoning.** Base the call on the gathered signals (ranking, form, head-to-head, key players), not a coin flip.
- **Let the user steer.** Users can add, drop, or re-weight prediction dimensions (e.g. home advantage, injuries, rest, weather, "vibes"). Honor their weights, retrieve any missing data first, and list the final dimension set used. See [predict.md](references/predict.md).

## Limitations

- Live data (current club, shirt number, latest stats) reflects whatever the web returns at call time and can lag real events.
- Grounding stats numbers are best-effort and can be approximate; verify critical figures against Wikipedia.
- Generic player names need disambiguation context or the wrong person may be returned.
- This skill retrieves data on demand; it is not a stored database of all players.

## Quick Reference

| Tool | Purpose |
|------|---------|
| `anycap search --prompt "...JSON..."` | Structured profile / stats in one shot (5 cr) |
| `anycap search --query "..." --no-crawl` | Find/disambiguate the right player page (1 cr) |
| `anycap crawl https://en.wikipedia.org/wiki/` | Authoritative verification source (1 cr) |
| `anycap status` | Check auth before a batch run |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [anycap-ai](https://github.com/anycap-ai)
- **Source:** [anycap-ai/anycap](https://github.com/anycap-ai/anycap)
- **License:** MIT
- **Homepage:** https://anycap.ai

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-anycap-ai-anycap-anycap-worldcup-predict
- Seller: https://agentstack.voostack.com/s/anycap-ai
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
