Help us improve
Share bugs, ideas, or general feedback.
From wargame-cartographer
Generate historically accurate, playable wargame-style hex maps for any geographic area at any scale. Produces static PNG/PDF, interactive HTML, and game data JSON.
npx claudepluginhub fredzannarbor/wargame-cartographer --plugin wargame-cartographerHow this skill is triggered — by the user, by Claude, or both
Slash command
/wargame-cartographer:wargame-mapThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate historically accurate, playable wargame-style hex maps for any geographic area at any scale. Produces static PNG/PDF, interactive HTML, and game data JSON.
Generates Dungeondraft battle maps with procedural terrain, rectangular rooms, corridors, and polygon layouts from scene descriptions via YAML configs.
Expert guidance on map design principles, color theory, visual hierarchy, typography, and cartographic best practices for creating effective maps with Mapbox. Use when designing map styles or choosing colors.
Adds ArcGIS interactive map tools for swipe comparison, measurement, coordinate conversion, bookmarks, print, and routing. Use for layer comparisons, distance/area measurements, and navigation.
Share bugs, ideas, or general feedback.
Generate historically accurate, playable wargame-style hex maps for any geographic area at any scale. Produces static PNG/PDF, interactive HTML, and game data JSON.
/wargame-map <area or scenario description> [options]
/wargame-map --spec <yaml_file>
/wargame-map Normandy 1944 --hex-size 5/wargame-map Eastern Front 1941 --hex-size 50 --style simonsen/wargame-map Stalingrad tactical --hex-size 1 --style kibler/wargame-map Persian Gulf --hex-size 25/wargame-map --spec configs/examples/normandy_hex.yamlThis skill requires the wargame-cartographer Python package. On first use, clone and install:
git clone https://github.com/fredzannarbor/wargame-cartographer.git ~/wargame-cartographer
cd ~/wargame-cartographer
uv sync
When invoked, follow these steps:
Find the wargame-cartographer installation:
# Check common locations
ls ~/wargame-cartographer/pyproject.toml 2>/dev/null || \
ls ./pyproject.toml 2>/dev/null
If not found, tell the user to install it first.
cd ~/wargame-cartographer
uv sync
If --spec is provided, use that YAML file directly:
cd ~/wargame-cartographer
uv run wargame-map generate <spec_file>
If natural language, construct a MapSpec YAML:
Geocode the area: Use the description to determine a bounding box. For well-known scenarios:
Infer scale from keywords:
Write YAML spec to /tmp/wargame_spec_{name}.yaml:
name: "Map Name"
title: "MAP TITLE"
subtitle: "Optional subtitle"
scenario: "Historical context"
bbox:
min_lon: <float>
min_lat: <float>
max_lon: <float>
max_lat: <float>
map_style: hex
designer_style: simonitch # or simonsen, kibler
hex_size_km: 10.0
output_width_mm: 580
output_height_mm: 420
dpi: 300
show_elevation_shading: true
show_rivers: true
show_roads: false
show_railways: false
show_cities: true
show_ports: true
show_airfields: false
show_hex_numbers: true
show_legend: true
show_scale_bar: true
show_compass: true
output_formats:
- png
- html
- json
output_dir: ./output
cd ~/wargame-cartographer
uv run wargame-map generate /tmp/wargame_spec_{name}.yaml
Tell the user:
| Option | Default | Description |
|---|---|---|
--hex-size <km> | 10 | Hex size in km |
--style <name> | simonitch | Visual style |
--formats <list> | png,html,json | Comma-separated output formats |
--output <dir> | ./output | Output directory |
--spec <file> | — | Use existing YAML spec file |
--dpi <int> | 300 | Output resolution |
--title <text> | (inferred) | Map title |
| Style | Inspired By | Character |
|---|---|---|
| simonitch | GMT Games (Normandy '44, Ukraine '43) | Warm earth tones, muted greens, thin grid |
| simonsen | SPI/Avalon Hill (PanzerBlitz, Squad Leader) | High contrast, bold colors, strong grid |
| kibler | Avalon Hill (Third Reich, Breakout: Normandy) | Painterly, saturated, organic feel |
| Format | Description |
|---|---|
| PNG | High-resolution static map image (300 DPI) |
| Vector map for print | |
| HTML | Interactive Folium/Leaflet map with clickable hex tooltips |
| JSON | Game data: all hex IDs, terrain types, movement costs, elevation |