SKILL.md
⚽ World Cup 2026 Skill
FIFA World Cup 2026 data + the points-based prediction game. Script skill — call the functions in core.skill_tools.worldcup from bash and read the JSON. Auth is automatic (container JWT); no API key needed.
How to call
python3 -c "from core.skill_tools import worldcup; import json; print(json.dumps(worldcup.get_today_matches()))"
Every function returns a dict like {"success": true, "data": ...} (or {"success": false, "error": ...} on failure).
When to use
- Matches — today / upcoming / live / finished, or one specific match.
- Predictions — place, cancel, or review prediction history.
- Stats — point balance, betting limits, win rate, total staked.
- Leaderboard — top predictors by points or accuracy.
Functions (from core.skill_tools import worldcup)
| Function | Returns | |
|---|---|---|
gettodaymatches() |
today's matches + your prediction status | |
getupcomingmatches(limit=10) |
next scheduled matches | |
getlivematches() |
matches in progress now | |
getfinishedmatches(limit=20) |
recent results | |
getmatchdetail(match_id) |
one match in full | |
placebet(matchid, predict_type, prediction, stake) |
places a prediction | |
cancelprediction(predictionid) |
cancels an unsettled prediction, refunds stake | |
getbettingstatus() |
point balance, pending stakes, min/max stake | |
getmypredictions(matchid=None, settledonly=False) |
your prediction history | |
getpredictiondetail(prediction_id) |
one prediction in full | |
getmystats() |
your win rate, total staked, etc. | |
getleaderboard(limit=50, sortby="points") |
top predictors (sort_by: points\ |
accuracy) |
Placing a bet — predict_type and prediction
prediction is a dict whose shape depends on predict_type. Fill ONLY the keys for that type:
| predict_type | prediction | meaning | ||
|---|---|---|---|---|
windrawloss |
`{"choice": "home"\ | "draw"\ | "away"}` | match result |
exact_score |
{"home": N, "away": N} |
exact final score | ||
total_goals |
`{"range": "0-1"\ | "2-3"\ | "4+"}` | total goals bucket |
first_goal |
{"team": "TEAM_CODE"} |
which team scores first (e.g. BRA) |
stake = points to wager: multiple of 10, min 10, max 10000.
Recommended place_bet flow
getbettingstatus()— confirm enough available points.getmatchdetail(matchid)orgettodaymatches()— confirm the match is open and get team codes (needed forfirstgoal).placebet(matchid, predict_type, prediction, stake).- Read back the returned prediction ID to the user.
Example:
python3 -c "from core.skill_tools import worldcup; import json; print(json.dumps(worldcup.place_bet(42, 'win_draw_loss', {'choice':'home'}, 100)))"
Notes
- Points are the prediction-game currency, not real money — present as a game, never as financial advice.
cancel_predictiononly works while a prediction is unsettled; it refunds the stake.- Match times are UTC; convert to the user's timezone when relevant.