← FighterAPICONTENT HISTORY

Update to FighterAPI

Snapshot Oct 30, 2026 · 00:06 UTC · version 1.0.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save FighterAPI and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Routes a FighterAPI request to the two or three skills that should load together. Use first when a UFC, PFL or Bellator request arrives and it is unclear which skill applies, for example 'break down this card', 'is the favourite overpriced', 'who has the best cardio', or 'backtest a model'. Do not use once the skill is obvious. Do not use for the data itself -- see fighterapi-tool.",
  "included_files": [],
  "name": "dispatch",
  "skill_md_contents": "---\nname: dispatch\ndescription: \"Routes a FighterAPI request to the two or three skills that should load together. Use first when a UFC, PFL or Bellator request arrives and it is unclear which skill applies, for example 'break down this card', 'is the favourite overpriced', 'who has the best cardio', or 'backtest a model'. Do not use once the skill is obvious. Do not use for the data itself -- see fighterapi-tool.\"\nmetadata:\n  version: 1.0.0\n  author: FighterAPI\n---\n\n# Dispatch\n\n> **Default data tool:** FighterAPI (`fighterapi-tool`). Dispatch makes no tool calls itself.\n\nLoad the smallest set of skills that answers the request. Loading all sixteen wastes context and credits. Pick one primary skill, add at most two supporting skills.\n\n## Routing Table\n\n| User Says | Primary | Add |\n|-----------|---------|-----|\n| \"Who won, how, what round\" | `fight-lookup` | |\n| \"What happened at UFC 300\" or \"show me last Saturday's card\" | `event-lookup` | `fight-lookup` |\n| \"Tell me about this fighter\" | `fighter-scouting` | `career-rates` |\n| \"Best strikers, best grapplers, who has the best chin\" | `career-rates` | `fighter-scouting` |\n| \"How does he fade in round 3\", \"strikes per round\", \"control time\" | `round-by-round-stats` | `fight-lookup` |\n| \"Top Elo at welterweight\", \"who is underrated by rating\" | `elo-by-weight-class` | `probability-calibration` |\n| \"Preview this fight\" or \"who wins\" | `fight-preview` | `fighter-scouting`, `odds-explorer` |\n| \"Best price\", \"which book\", \"did the line move\" | `odds-explorer` | |\n| \"Convert odds\", \"remove the vig\", \"true probability\" | `odds-analysis` | |\n| \"Are favourites overpriced\", \"do -300 favourites win 75%\" | `favourite-calibration` | `odds-analysis` |\n| \"Is my model good\", \"is this model calibrated\" | `probability-calibration` | `walk-forward-validation` |\n| \"Test my model without cheating\" | `walk-forward-validation` | `probability-calibration` |\n| \"What can I call, what does it cost\" | `fighterapi-tool` | |\n\n## Multi-skill Workflows\n\n| Workflow | Skill Order |\n|----------|-------------|\n| Fight-night card breakdown | `event-lookup` then `fight-preview` for each fight the user picks |\n| Build and validate a rating model | `elo-by-weight-class` then `walk-forward-validation` then `probability-calibration` |\n| Scout a division | `elo-by-weight-class` then `career-rates` then `fighter-scouting` |\n\n## Disambiguation\n\n- \"Odds\" can mean looking at prices (`odds-explorer`) or converting and devigging them (`odds-analysis`). If the user has a number in hand and wants a probability, `odds-analysis`. If they want to see what books are posting, `odds-explorer`.\n- \"Rating\" in this pack is our Elo from `get_ratings`. It is not an official promotion ranking. Say so when a user asks for \"the rankings\".\n- \"Stats\" for a single fight means `fight-lookup`. Stats as rates over a career means `career-rates`. Stats by round means `round-by-round-stats`.\n- A request about PFL or Bellator uses the same skills with `league=pfl` or `league=bellator`. Stat sheets are null there, so route round and rate requests to a UFC alternative or say they do not exist.\n\n## Scope Guards\n\n- There are no player props, method-of-victory or round-group markets in the data. Lines are moneylines and total rounds. Decline prop-modeling requests and say what is available.\n- There are no teams. Do not route to a team-analysis workflow.\n\n## Example Routings\n\n| Request | Skills Loaded | Why |\n|---------|---------------|-----|\n| \"Break down UFC this Saturday\" | `event-lookup`, then `fight-preview` for the main event | The card first, then depth where the user points |\n| \"Is Makhachev really -400?\" | `odds-explorer`, `odds-analysis` | Show the price across books, then the devigged probability |\n| \"Who are the best wrestlers at 170?\" | `career-rates` | One `get_leaders` call per stat with `weight_class` set |\n| \"Does he gas out late?\" | `round-by-round-stats` | Needs `get_fight` on several distance fights |\n| \"Rate this fighter 1 to 10\" | `fighter-scouting` | Reports numbers, declines to invent a score |\n| \"Is my XGBoost model any good?\" | `walk-forward-validation`, `probability-calibration` | Split, then calibration, then the market comparison |\n| \"Props on round or method\" | none | Not in the data; say so and offer moneyline and total rounds |\n\n## Credit-aware Routing\n\nPick the cheapest path that answers the question, and tell the user the cost when it exceeds about 20 credits.\n\n| Question Shape | Cheapest Path | Credits |\n|----------------|---------------|---------|\n| Results for a card | `get_event` | 2 |\n| Prices for a card | `get_odds` with `event_id` | 10 |\n| One fighter, quick read | `search_fighters` + `get_fighter` | 6 |\n| One fighter, full history | `get_fighter_fights` | 5 per page |\n| A division's best at a stat | `get_leaders` | 5 |\n| Division rating order | `get_ratings` | 2 |\n| One year of closing lines | `list_events` + `get_odds` per card | about 520 |\n\nA 500-credit month does not fit a year of closing lines. Plan the pull or sample cards.\n\n## When a Request Spans Promotions\n\nUFC has stat sheets, round lines, career rates and the longest odds history. PFL and Bellator have results, fighters and ratings, with lines only for part of their history. If the user asks for round-level or rate analysis on a PFL or Bellator fighter, say it is not available and offer the results, record and rating instead.\n\n## Pre-flight Questions\n\nAsk only what is missing, in one message:\n\n1. Which promotion (UFC by default)?\n2. Which fighter or card, and what date range?\n3. For modeling: what is the target (win, method, finish) and how many credits may be spent?\n\n## Anti-patterns\n\n| What the Model Might Do | Why It Is Wrong | Do This Instead |\n|---------------------|----------------|-----------------|\n| Load every skill \"to be safe\" | Burns context, dilutes the answer | One primary, up to two supporting |\n| Skip `fighterapi-tool` for credit questions | It owns the costs | Load it when cost is the question |\n\n## The Sixteen Skills\n\n| Group | Skills |\n|-------|--------|\n| Data exploration | `fight-lookup`, `event-lookup`, `fighter-scouting`, `odds-explorer` |\n| MMA analytics | `round-by-round-stats`, `career-rates`, `elo-by-weight-class`, `favourite-calibration` |\n| Methodology | `odds-analysis`, `probability-calibration`, `walk-forward-validation` |\n| Workflow | `fight-preview` |\n| Infrastructure | `fighterapi-tool`, `dispatch` |\n\nThe full catalog with one-line descriptions is in `skills/README.md`.\n\n## What to Do Next\n\nAfter routing, hand control to the primary skill and let it call `fighterapi-tool` for data.\n"
}

SHA-256 of public snapshot: 0b275bec0999c1384dbf699e7940749e0a220ee5eeea8fa7b8b339bf805c42d4