analyze_state_history
ChatGPTShow how one US state has voted in presidential elections over time: every election it has taken part in, who carried it, its current run, and when each party last won it. Use this when the user asks about a single state’s history or trend — "how has Pennsylvania voted since 1980?", "has Georgia always been Republican?", "when did Texas last vote Democratic?", "is Virginia a swing state?". Do not use this for a whole election (use historical_map), for comparing elections nationally (use compare_elections), for the 2026 Senate or House races, or for popular-vote totals, which this data does not hold.
build_scenario
ChatGPTResolve a described 2026 congressional scenario into a chamber tally and an interactive map where races can be clicked to reassign them. Use this when the user asks what an outcome would mean for control of the Senate or House — "what if Republicans sweep the toss-ups?", "if Democrats hold Georgia and flip Texas, who controls the Senate?", "what's the path to a House majority?" — or wants to build and explore their own 2026 map. Prefer this over answering in prose whenever the answer depends on counting seats: models read these scenarios well and do the arithmetic badly, so translate the user's sentence into these parameters and let this tool count. "Republicans hold every toss-up but lose North Carolina and Maine" is {chamber:"senate", tossups:"republican", assignments:[{race:"NC",party:"democrat"},{race:"ME",party:"democrat"}]}. The consensus baseline starts every race at its forecaster favourite and leaves toss-ups uncalled; tossups then hands every toss-up to one party; assignments name individual races and win over both. Seats not on the 2026 ballot are already counted and cannot be reassigned. Do not use this for presidential or electoral-college maps, which it does not cover, for one race's rating (use lookup_race), or to predict what will actually happen. VoteMapper is a simulator: it reports forecaster ratings and the arithmetic they imply, never live vote counts or called results.
compare_elections
ChatGPTCompare two or more US presidential elections and show which states changed hands, on a map. Use this when the user asks what changed between elections — "what changed between 2012 and 2024?", "which states flipped in 2016?", "compare the Obama and Trump maps", "where did Democrats lose ground since 2008?". Reports who carried each state in each year and how many electors moved between parties. Do not use this for a single election (use historical_map), for one state over time (use analyze_state_history), for the 2026 midterms, or for popular-vote margins and swing — this data holds electoral votes only, so it can say a state changed hands but never by how much.
historical_map
ChatGPTShow the electoral college map and result for any US presidential election from 1788 to 2024, and optionally reassign states to see what a different outcome would have meant. Use this when the user asks how a past presidential election went, how a state voted in one, or a what-if about one — "show me the 1984 map", "how did Pennsylvania vote in 1980?", "what if Florida had gone the other way in 2000?", "when did Texas last vote Democratic?". Every candidate who took electors is reported, so multi-way elections like 1860 and 1912 come back whole rather than flattened to two parties. Do not use this for the 2026 midterms (use build_scenario, lookup_race or list_races_by_rating), for any election after 2024, which it does not cover, or for popular-vote totals and turnout, which it does not report. Electoral votes are counted as appointed, including electors whose votes were not counted and faithless electors.
list_races_by_rating
ChatGPTList the 2026 Senate races or House districts at a given competitiveness rating, with the true total even when the list of names is capped. Use this when the user asks which 2026 races are competitive, close, in play, battlegrounds, toss-ups, or safe for a party — for example "Which Senate races are actually in play?" or "How many House toss-ups are there?". Use "competitive" for everything genuinely in play (Lean D, Toss-up and Lean R together), which is what people usually mean; use "tossup" only when they ask for toss-ups specifically. Do not use this for one named race (use lookup_race), for what a set of outcomes does to control of a chamber (use build_scenario), or for results and vote counts. VoteMapper is a simulator: it reports forecaster ratings and the arithmetic they imply, never live vote counts or called results.
lookup_race
ChatGPTGet the current consensus rating, incumbent and declared candidates for one 2026 US Senate race or House district. Use this when the user asks how competitive a specific 2026 race is, who holds the seat, or who is running in it — for example "Is the Georgia Senate race a toss-up?" or "Who's running in Texas 18th?". Accepts a race id ("GA", "TX-18") or a name ("Georgia Senate", "Texas 18th"). Do not use this for who won an election or vote counts, for past or presidential elections, or for a candidate's biography — answer those directly. To list many races at once use list_races_by_rating; for what-if questions about control of a chamber use build_scenario. VoteMapper is a simulator: it reports forecaster ratings and the arithmetic they imply, never live vote counts or called results.
ratings_changed
ChatGPTShow which 2026 race ratings moved between two published revisions of the forecast data — which races got more competitive and which got safer, biggest move first. Use this when the user asks what has changed, moved or shifted in the 2026 midterm ratings or forecast — for example "What's new in the Senate forecast?" or "Which races moved recently?". Defaults to the two most recent revisions. A rating move is a forecaster revising their view of a race that has not happened; it is not a result. Do not use this for polling changes, campaign news or results, or for the current rating of one race (use lookup_race). VoteMapper is a simulator: it reports forecaster ratings and the arithmetic they imply, never live vote counts or called results.
score_forecast
ChatGPTScore a registered VoteMapper forecast against the published race calls: how many of its picks were right, out of the races actually called so far. Use this when the user has a VoteMapper forecast fingerprint and asks how their prediction did, how accurate it was, or how many races they got right. Accuracy is over called races only — an uncalled race is not a miss — so before election night this honestly reports that there is nothing to score yet. Do not use this without a fingerprint, for forecasts made outside VoteMapper, or to report election results. Race calls come from the Associated Press via VoteMapper's published results; this tool reports no vote counts and calls no races of its own.
verify_forecast
ChatGPTCheck whether a VoteMapper forecast fingerprint is registered, and report what it was sealed over and when. A fingerprint is the 64-character SHA-256 seal a user created in the VoteMapper app when they declared a prediction, which is how a claim like "I called this in September" can be checked rather than taken on trust. Use this only when the user supplies a fingerprint, or asks whether a specific VoteMapper forecast or certificate is genuine. Do not use this for general questions about forecasts or predictions, and do not call it without a fingerprint — ask for one instead. This tool reads the registry; it cannot create or seal a forecast — only the app can do that.