Let AI make your map
Describe a battle, a war or an empire. Claude, or another AI assistant that can run code, researches it, draws the borders and gives you a file to import into Moving Polygons.
moving-polygons-map.zip · 15 MB · works with Claude on the web, on mobile and in Claude Code
What is a skill?
A skill is a folder of instructions, scripts and data that an AI assistant loads when a task needs it. This one teaches the assistant the Moving Polygons map format. It also gives the assistant a map builder with real borders from 3400 BC to today, so the assistant never has to make up coordinates.
The assistant only makes a file. It never signs in to your account, and nothing appears in Moving Polygons until you import the file yourself.
From an idea to an animated map
You type one sentence. The assistant does the research, the geometry and the checks.
Describe your map
Type an idea, such as “the Battle of Austerlitz” or “the partitions of Poland”. The assistant picks the time span, the area and the layers, and tells you what it assumed.
It does the research
It searches the web for a dated list of events and picks the moments where the map changes. For each moment it writes 10–25 test places, such as “Milan belongs to Austria in 1859”.
It builds and checks
A bundled builder draws the borders from real historical and modern boundary data. Neighbours share their borders exactly, so they morph without gaps. Test places and a preview image catch mistakes, and the assistant fixes them.
You import the file
You get a .json file and a preview image. In Moving Polygons, go to Dashboard → Import and choose the file. The map opens in the editor, ready to adjust and publish.
Set it up
You install the skill once. After that, every new chat can make maps.
- 1Download the skill (
moving-polygons-map.zip). Keep it zipped. - 2On claude.ai in a desktop browser, open Settings → Capabilities and turn on code execution. The builder runs there. Turn on web search too, for better research.
- 3Go to Customize → Skills, choose Upload skill and select the zip.
- 4Start a new chat and describe your map, for example “Make a Moving Polygons map of the Battle of Austerlitz”. Claude loads the skill by itself. Once uploaded, the skill also works in the Claude apps for iPhone and Android.
- 5Download the
.jsonfile Claude makes, then go to Dashboard → Import.
Ideas to try
Copy a prompt, or write your own. Battles, wars, empires, treaties and the spread of ideas or diseases all work.
Make a Moving Polygons map of the Battle of Austerlitz, hour by hour.
Make a Moving Polygons map of the unification of Italy, 1859–1871.
Make a Moving Polygons map of the partitions of Poland, 1772–1795.
Make a Moving Polygons map of the Mongol conquests from 1206 to 1294.
Make a Moving Polygons map of the Battle of Gettysburg, 1–3 July 1863, with the army positions.
Make a Moving Polygons map of the spread of the Black Death through Europe, 1346–1353.
Tips for a better map
Be specific
“Gettysburg, 1–3 July 1863, every few hours” gives a better map than “Gettysburg”. Name the span, the area and who should get a colour.
Turn on web search
Researched, sourced events give better borders than the model’s memory. Without web search the assistant says so in the map description.
Check the preview
Look at the preview image before you import. It shows every keyframe, so a border in the wrong place is easy to spot.
Ask for changes
Stay in the same chat and say “move the Union line south at 15:00” or “add 1866”. The assistant edits its plan and rebuilds, so the rest of the map stays the same.
Start small
A battle or a war takes a few minutes. A whole era with 40 or more keyframes takes much more research, so try a smaller topic first.
Import on a computer
On a phone, save the .json file (for example to Google Drive) and import it later from a desktop browser. The free plan holds 10 maps.
What’s in the skill
- SKILL.md
- The step-by-step workflow the assistant follows.
- reference/
- The import format, research method, geometry recipes and styling. The assistant reads these when it needs them.
- scripts/build_map.py
- Turns the assistant’s plan into the import file, a preview image and a report.
- scripts/lookup.py
- Finds historical states, provinces, towns and rivers by name or position.
- scripts/validate_map.py
- Checks any import file, including one you made by hand or with another tool.
- examples/
- Two worked examples: the Battle of Waterloo and the unification of Italy.
- data/
- Borders from 3400 BC to today (Cliopatria), modern countries, provinces, coastlines and rivers (Natural Earth), and towns (GeoNames).
Data: Cliopatria (Seshat Global History Databank, CC BY 4.0), Natural Earth (public domain) and GeoNames (CC BY 4.0). The builder adds the Cliopatria credit to the description of every map it makes. Credit the sources when you publish.