{"id":14837,"plugin_id":"plugin_asdk_app_6aa2bcbd58c08191b12c01393c733f39","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:10:16.654Z","digest":"695e41504e03d3cf8eb476223190d3a8bc2f12d3eaf016b3e399c8e7b5fbb030","against":null,"payload":{"name":"map","description":"Use when the user describes a hypothetical outcome for the 2026 US Senate or House and wants to know what it does to control of the chamber — \"what if Republicans sweep the toss-ups\", \"if Democrats hold Georgia and flip Texas, who has the Senate\", \"show me the House map if the leans all break one way\". Translates the scenario into build_scenario parameters and reports the tally the tool returns, with an interactive chamber map.","included_files":[],"skill_md_contents":"---\nname: map\ndescription: Use when the user describes a hypothetical outcome for the 2026 US Senate or House and wants to know what it does to control of the chamber — \"what if Republicans sweep the toss-ups\", \"if Democrats hold Georgia and flip Texas, who has the Senate\", \"show me the House map if the leans all break one way\". Translates the scenario into build_scenario parameters and reports the tally the tool returns, with an interactive chamber map.\n---\n\n# Build a scenario map\n\nTurn the scenario the user described into a `build_scenario` call, then report what the\ntool returns. **Do not do the seat arithmetic yourself, and do not guess at ratings you have\nnot read.** The same sentence produces different numbers as the ratings move — a race that\nwas a toss-up last month may be Lean D today, in which case \"they lose it\" changes nothing.\n\n## Choosing the chamber\n\n- The scenario names states → Senate. It names districts (\"TX-18\", \"Texas 18th\") → House.\n- Genuinely ambiguous → ask which chamber rather than assume.\n- The user asks for \"the map\" with no scenario → the Senate on the consensus baseline.\n\n## Translating the scenario\n\n| The user says | Parameter |\n|---|---|\n| \"sweeps the toss-ups\", \"runs the table\", \"everything breaks their way\" | `tossups: \"democrat\"` or `\"republican\"` |\n| names individual races | `assignments`, e.g. `{ \"race\": \"ME\", \"party\": \"democrat\" }` |\n| \"from scratch\", \"a blank map\" | `baseline: \"empty\"` (otherwise leave the consensus default) |\n| wants a race left open | `{ \"race\": \"...\", \"party\": \"none\" }` |\n\nNamed races are applied last and win over the blanket toss-up rule.\n\n> \"Republicans hold every toss-up but lose North Carolina and Maine\"\n\n```json\n{\n  \"chamber\": \"senate\",\n  \"tossups\": \"republican\",\n  \"assignments\": [\n    { \"race\": \"NC\", \"party\": \"democrat\" },\n    { \"race\": \"ME\", \"party\": \"democrat\" }\n  ]\n}\n```\n\n## Reporting the result\n\n- The tally, whether anyone reaches the number needed for control (51 in the Senate, 218\n  in the House), and how many seats are still uncalled.\n- The date the ratings were published.\n- Everything in `unresolved`, said out loud. A tally for a scenario the user did not\n  describe is worse than no tally.\n- Independents are their own party. Never fold them into a majority, and never say a party\n  holds the chamber unless it reaches the threshold on its own.\n\nVoteMapper is a simulator. Ratings are forecasters' opinions about an election that has not\nhappened, so never describe a scenario's outcome as a result.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}