Individual skill
map-design
Make real, accurate maps as one self-contained HTML, SVG and PNG. Choropleths by country, state, province or US county, or by any boundaries in the user's own GeoJSON, TopoJSON or KML (districts, ZIP codes, wards, constituencies, sales territories); bubble, spike and point maps; routes, voyages and GPS tracks from GPX; flow maps; locator maps with an inset globe; and OpenStreetMap city posters. Use whenever the user asks for a map, a "where is" graphic, data by country/state/county/region/district, a trip, flight, run or ride, a city poster, or any geographic visualization. Ships Natural Earth, US Census and OurAirports data, so coastlines, borders and coordinates are real rather than drawn from memory.
skills/map-design/SKILL.md
Source commit 4f228eed82ee4eb555ac50d2723734a00c89eecf
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 10
- Repository last updated
- Oct 28, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- ai-agents Repository topic
- cartography Repository topic
- choropleth Repository topic
- claude-code Repository topic
- claude-skills Repository topic
- codex Repository topic
- d3-geo Repository topic
- data-visualization Repository topic
- geospatial Repository topic
- data Derived category
- design Derived category
- sales Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
LICENSEasset · 1,070 bytesSKILL.mdcore · 12,438 bytesSKILL.mdcore · 12,438 bytesSKILL.mdcore · 12,438 bytesSKILL.mdcore · 12,438 bytesTHIRD_PARTY_NOTICES.mddoc · 3,995 bytesdata/admin1/ABW.topo.jsonasset · 733 bytesdata/admin1/AFG.topo.jsonasset · 38,814 bytesdata/admin1/AGO.topo.jsonasset · 35,004 bytesdata/admin1/AIA.topo.jsonasset · 5,448 bytesdata/admin1/ALB.topo.jsonasset · 16,557 bytesdata/admin1/ALD.topo.jsonasset · 5,741 bytesdata/admin1/AND.topo.jsonasset · 3,144 bytesdata/admin1/ARE.topo.jsonasset · 14,120 bytesdata/admin1/ARG.topo.jsonasset · 41,886 bytesdata/admin1/ARM.topo.jsonasset · 12,440 bytesdata/admin1/ASM.topo.jsonasset · 2,021 bytesdata/admin1/ATA.topo.jsonasset · 51,529 bytesdata/admin1/ATC.topo.jsonasset · 540 bytesdata/admin1/ATF.topo.jsonasset · 5,438 bytesdata/admin1/ATG.topo.jsonasset · 3,686 bytesdata/admin1/AUS.topo.jsonasset · 47,976 bytesdata/admin1/AUT.topo.jsonasset · 18,215 bytesdata/admin1/AZE.topo.jsonasset · 46,829 bytesdata/admin1/BDI.topo.jsonasset · 12,041 bytesdata/admin1/BEL.topo.jsonasset · 14,060 bytesdata/admin1/BEN.topo.jsonasset · 11,917 bytesdata/admin1/BFA.topo.jsonasset · 41,283 bytesdata/admin1/BGD.topo.jsonasset · 26,029 bytesdata/admin1/BGR.topo.jsonasset · 26,959 bytesdata/admin1/BHR.topo.jsonasset · 3,228 bytesdata/admin1/BHS.topo.jsonasset · 21,847 bytesdata/admin1/BIH.topo.jsonasset · 17,393 bytesdata/admin1/BLM.topo.jsonasset · 596 bytesdata/admin1/BLR.topo.jsonasset · 29,075 bytesdata/admin1/BLZ.topo.jsonasset · 8,711 bytesdata/admin1/BMU.topo.jsonasset · 4,508 bytesdata/admin1/BOL.topo.jsonasset · 25,490 bytesdata/admin1/BRA.topo.jsonasset · 43,048 bytesdata/admin1/BRB.topo.jsonasset · 5,201 bytesdata/admin1/BRN.topo.jsonasset · 3,098 bytesdata/admin1/BTN.topo.jsonasset · 19,132 bytesdata/admin1/BWA.topo.jsonasset · 14,654 bytesdata/admin1/CAF.topo.jsonasset · 35,724 bytesdata/admin1/CAN.topo.jsonasset · 67,117 bytesdata/admin1/CHE.topo.jsonasset · 32,167 bytesdata/admin1/CHL.topo.jsonasset · 54,672 bytesdata/admin1/CHN.topo.jsonasset · 44,483 bytesdata/admin1/CIV.topo.jsonasset · 36,572 bytesdata/admin1/CLP.topo.jsonasset · 557 bytesdata/admin1/CMR.topo.jsonasset · 24,191 bytesdata/admin1/COD.topo.jsonasset · 35,481 bytesdata/admin1/COG.topo.jsonasset · 26,620 bytesdata/admin1/COK.topo.jsonasset · 3,636 bytesdata/admin1/COL.topo.jsonasset · 42,012 bytesdata/admin1/COM.topo.jsonasset · 2,095 bytesdata/admin1/CPV.topo.jsonasset · 10,218 bytesdata/admin1/CRI.topo.jsonasset · 16,125 bytesdata/admin1/CSI.topo.jsonasset · 1,478 bytesdata/admin1/CUB.topo.jsonasset · 37,938 bytesdata/admin1/CUW.topo.jsonasset · 938 bytesdata/admin1/CYM.topo.jsonasset · 1,290 bytesdata/admin1/CYN.topo.jsonasset · 2,495 bytesdata/admin1/CYP.topo.jsonasset · 6,758 bytesdata/admin1/CZE.topo.jsonasset · 25,934 bytesdata/admin1/DEU.topo.jsonasset · 36,474 bytesdata/admin1/DJI.topo.jsonasset · 4,263 bytesdata/admin1/DMA.topo.jsonasset · 5,158 bytesdata/admin1/DNK.topo.jsonasset · 21,940 bytesdata/admin1/DOM.topo.jsonasset · 20,687 bytesdata/admin1/DZA.topo.jsonasset · 41,263 bytesdata/admin1/ECU.topo.jsonasset · 36,272 bytesdata/admin1/EGY.topo.jsonasset · 34,515 bytesdata/admin1/ERI.topo.jsonasset · 11,917 bytesdata/admin1/ESB.topo.jsonasset · 1,578 bytesdata/admin1/ESP.topo.jsonasset · 46,797 bytesdata/admin1/EST.topo.jsonasset · 20,799 bytesdata/admin1/ETH.topo.jsonasset · 27,184 bytesdata/admin1/FIN.topo.jsonasset · 41,654 bytesdata/admin1/FJI.topo.jsonasset · 13,004 bytesdata/admin1/FLK.topo.jsonasset · 12,806 bytesdata/admin1/FRA.topo.jsonasset · 56,241 bytesdata/admin1/FRO.topo.jsonasset · 5,310 bytesdata/admin1/FSM.topo.jsonasset · 3,301 bytesdata/admin1/GAB.topo.jsonasset · 20,967 bytesdata/admin1/GBR.topo.jsonasset · 109,088 bytesdata/admin1/GEO.topo.jsonasset · 12,363 bytesdata/admin1/GGY.topo.jsonasset · 988 bytesdata/admin1/GHA.topo.jsonasset · 26,196 bytesdata/admin1/GIB.topo.jsonasset · 523 bytesdata/admin1/GIN.topo.jsonasset · 34,670 bytesdata/admin1/GMB.topo.jsonasset · 6,303 bytesdata/admin1/GNB.topo.jsonasset · 18,382 bytesdata/admin1/GNQ.topo.jsonasset · 5,980 bytesdata/admin1/GRC.topo.jsonasset · 51,979 bytesdata/admin1/GRD.topo.jsonasset · 2,957 bytesdata/admin1/GRL.topo.jsonasset · 52,415 bytesdata/admin1/GTM.topo.jsonasset · 23,188 bytesdata/admin1/GUM.topo.jsonasset · 971 bytesdata/admin1/GUY.topo.jsonasset · 18,396 bytesdata/admin1/HKG.topo.jsonasset · 9,946 bytesdata/admin1/HMD.topo.jsonasset · 1,060 bytesdata/admin1/HND.topo.jsonasset · 26,024 bytesdata/admin1/HRV.topo.jsonasset · 40,321 bytesdata/admin1/HTI.topo.jsonasset · 11,228 bytesdata/admin1/HUN.topo.jsonasset · 30,549 bytesdata/admin1/IDN.topo.jsonasset · 62,705 bytesdata/admin1/IMN.topo.jsonasset · 1,331 bytesdata/admin1/IND.topo.jsonasset · 43,989 bytesdata/admin1/IOA.topo.jsonasset · 1,182 bytesdata/admin1/IOT.topo.jsonasset · 1,487 bytesdata/admin1/IRL.topo.jsonasset · 43,429 bytesdata/admin1/IRN.topo.jsonasset · 44,254 bytesdata/admin1/IRQ.topo.jsonasset · 28,035 bytesdata/admin1/ISL.topo.jsonasset · 33,006 bytesdata/admin1/ISR.topo.jsonasset · 9,274 bytesdata/admin1/ITA.topo.jsonasset · 65,068 bytesdata/admin1/JAM.topo.jsonasset · 9,435 bytesdata/admin1/JEY.topo.jsonasset · 958 bytesdata/admin1/JOR.topo.jsonasset · 9,642 bytesdata/admin1/JPN.topo.jsonasset · 54,521 bytesdata/admin1/KAB.topo.jsonasset · 1,188 bytesdata/admin1/KAS.topo.jsonasset · 839 bytesdata/admin1/KAZ.topo.jsonasset · 47,021 bytesdata/admin1/KEN.topo.jsonasset · 25,408 bytesdata/admin1/KGZ.topo.jsonasset · 21,799 bytesdata/admin1/KHM.topo.jsonasset · 31,546 bytesdata/admin1/KIR.topo.jsonasset · 5,652 bytesdata/admin1/KNA.topo.jsonasset · 5,350 bytesdata/admin1/KOR.topo.jsonasset · 37,263 bytesdata/admin1/KOS.topo.jsonasset · 15,852 bytesdata/admin1/KWT.topo.jsonasset · 4,552 bytesdata/admin1/LAO.topo.jsonasset · 28,019 bytesdata/admin1/LBN.topo.jsonasset · 7,751 bytesdata/admin1/LBR.topo.jsonasset · 21,197 bytesdata/admin1/LBY.topo.jsonasset · 17,787 bytesdata/admin1/LCA.topo.jsonasset · 4,646 bytesdata/admin1/LIE.topo.jsonasset · 4,519 bytesdata/admin1/LKA.topo.jsonasset · 24,906 bytesdata/admin1/LSO.topo.jsonasset · 12,475 bytesdata/admin1/LTU.topo.jsonasset · 19,172 bytesdata/admin1/LUX.topo.jsonasset · 3,591 bytesdata/admin1/LVA.topo.jsonasset · 64,860 bytesdata/admin1/MAC.topo.jsonasset · 1,417 bytesdata/admin1/MAF.topo.jsonasset · 713 bytesdata/admin1/MAR.topo.jsonasset · 20,095 bytesdata/admin1/MCO.topo.jsonasset · 577 bytesdata/admin1/MDA.topo.jsonasset · 26,774 bytesdata/admin1/MDG.topo.jsonasset · 37,275 bytesdata/admin1/MDV.topo.jsonasset · 18,098 bytesdata/admin1/MEX.topo.jsonasset · 45,567 bytesdata/admin1/MHL.topo.jsonasset · 2,573 bytesdata/admin1/MKD.topo.jsonasset · 52,524 bytesdata/admin1/MLI.topo.jsonasset · 20,421 bytesdata/admin1/MLT.topo.jsonasset · 23,162 bytesdata/admin1/MMR.topo.jsonasset · 41,113 bytesdata/admin1/MNE.topo.jsonasset · 12,600 bytesdata/admin1/MNG.topo.jsonasset · 35,729 bytesdata/admin1/MNP.topo.jsonasset · 2,919 bytesdata/admin1/MOZ.topo.jsonasset · 35,435 bytesdata/admin1/MRT.topo.jsonasset · 15,991 bytesdata/admin1/MSR.topo.jsonasset · 1,366 bytesdata/admin1/MUS.topo.jsonasset · 6,217 bytesdata/admin1/MWI.topo.jsonasset · 26,567 bytesdata/admin1/MYS.topo.jsonasset · 37,568 bytesdata/admin1/NAM.topo.jsonasset · 23,209 bytesdata/admin1/NCL.topo.jsonasset · 10,259 bytesdata/admin1/NER.topo.jsonasset · 14,333 bytesdata/admin1/NFK.topo.jsonasset · 766 bytesdata/admin1/NGA.topo.jsonasset · 43,422 bytesdata/admin1/NIC.topo.jsonasset · 21,553 bytesdata/admin1/NIU.topo.jsonasset · 861 bytesdata/admin1/NLD.topo.jsonasset · 15,028 bytesdata/admin1/NOR.topo.jsonasset · 51,625 bytesdata/admin1/NPL.topo.jsonasset · 22,739 bytesdata/admin1/NRU.topo.jsonasset · 4,138 bytesdata/admin1/NZL.topo.jsonasset · 40,107 bytesdata/admin1/OMN.topo.jsonasset · 12,796 bytesdata/admin1/PAK.topo.jsonasset · 33,321 bytesdata/admin1/PAN.topo.jsonasset · 28,036 bytesdata/admin1/PCN.topo.jsonasset · 831 bytesdata/admin1/PER.topo.jsonasset · 39,298 bytesdata/admin1/PGA.topo.jsonasset · 1,391 bytesdata/admin1/PHL.topo.jsonasset · 78,228 bytesdata/admin1/PLW.topo.jsonasset · 5,532 bytesdata/admin1/PNG.topo.jsonasset · 48,460 bytesdata/admin1/POL.topo.jsonasset · 25,514 bytesdata/admin1/PRI.topo.jsonasset · 3,415 bytesdata/admin1/PRK.topo.jsonasset · 29,038 bytesdata/admin1/PRT.topo.jsonasset · 26,380 bytesdata/admin1/PRY.topo.jsonasset · 27,693 bytesdata/admin1/PSX.topo.jsonasset · 2,862 bytesdata/admin1/PYF.topo.jsonasset · 10,290 bytesdata/admin1/QAT.topo.jsonasset · 5,133 bytesdata/admin1/ROU.topo.jsonasset · 42,059 bytesdata/admin1/RUS.topo.jsonasset · 66,773 bytesdata/admin1/RWA.topo.jsonasset · 7,089 bytesdata/admin1/SAH.topo.jsonasset · 2,999 bytesdata/admin1/SAU.topo.jsonasset · 32,947 bytesdata/admin1/SDN.topo.jsonasset · 21,256 bytesdata/admin1/SDS.topo.jsonasset · 17,228 bytesdata/admin1/SEN.topo.jsonasset · 23,619 bytesdata/admin1/SGP.topo.jsonasset · 2,739 bytesdata/admin1/SGS.topo.jsonasset · 5,692 bytesdata/admin1/SHN.topo.jsonasset · 1,531 bytesdata/admin1/SLB.topo.jsonasset · 20,652 bytesdata/admin1/SLE.topo.jsonasset · 10,797 bytesdata/admin1/SLV.topo.jsonasset · 15,946 bytesdata/admin1/SMR.topo.jsonasset · 3,365 bytesdata/admin1/SOL.topo.jsonasset · 3,297 bytesdata/admin1/SOM.topo.jsonasset · 10,560 bytesdata/admin1/SPM.topo.jsonasset · 1,624 bytesdata/admin1/SRB.topo.jsonasset · 35,508 bytesdata/admin1/STP.topo.jsonasset · 1,544 bytesdata/admin1/SUR.topo.jsonasset · 12,971 bytesdata/admin1/SVK.topo.jsonasset · 19,597 bytesdata/admin1/SVN.topo.jsonasset · 87,486 bytesdata/admin1/SWE.topo.jsonasset · 46,054 bytesdata/admin1/SWZ.topo.jsonasset · 4,491 bytesdata/admin1/SXM.topo.jsonasset · 554 bytesdata/admin1/SYC.topo.jsonasset · 10,025 bytesdata/admin1/SYR.topo.jsonasset · 20,702 bytesdata/admin1/TCA.topo.jsonasset · 3,640 bytesdata/admin1/TCD.topo.jsonasset · 30,418 bytesdata/admin1/TGO.topo.jsonasset · 8,530 bytesdata/admin1/THA.topo.jsonasset · 53,657 bytesdata/admin1/TJK.topo.jsonasset · 17,252 bytesdata/admin1/TKM.topo.jsonasset · 18,313 bytesdata/admin1/TLS.topo.jsonasset · 8,667 bytesdata/admin1/TON.topo.jsonasset · 3,302 bytesdata/admin1/TTO.topo.jsonasset · 8,406 bytesdata/admin1/TUN.topo.jsonasset · 24,600 bytesdata/admin1/TUR.topo.jsonasset · 60,296 bytesdata/admin1/TUV.topo.jsonasset · 1,116 bytesdata/admin1/TWN.topo.jsonasset · 16,616 bytesdata/admin1/TZA.topo.jsonasset · 46,514 bytesdata/admin1/UGA.topo.jsonasset · 63,686 bytesdata/admin1/UKR.topo.jsonasset · 37,274 bytesdata/admin1/UMI.topo.jsonasset · 2,539 bytesdata/admin1/URY.topo.jsonasset · 25,162 bytesdata/admin1/USA.topo.jsonasset · 65,455 bytesdata/admin1/USG.topo.jsonasset · 997 bytesdata/admin1/UZB.topo.jsonasset · 25,871 bytesdata/admin1/VAT.topo.jsonasset · 542 bytesdata/admin1/VCT.topo.jsonasset · 3,032 bytesdata/admin1/VEN.topo.jsonasset · 40,451 bytesdata/admin1/VGB.topo.jsonasset · 1,471 bytesdata/admin1/VIR.topo.jsonasset · 1,606 bytesdata/admin1/VNM.topo.jsonasset · 56,238 bytesdata/admin1/VUT.topo.jsonasset · 10,628 bytesdata/admin1/WLF.topo.jsonasset · 1,476 bytesdata/admin1/WSB.topo.jsonasset · 942 bytesdata/admin1/WSM.topo.jsonasset · 5,136 bytesdata/admin1/YEM.topo.jsonasset · 23,801 bytesdata/admin1/ZAF.topo.jsonasset · 33,183 bytesdata/admin1/ZMB.topo.jsonasset · 32,247 bytesdata/admin1/ZWE.topo.jsonasset · 28,393 bytesdata/airports.jsonasset · 267,871 bytesdata/countries.jsonasset · 79,688 bytesdata/physical-50m.topo.jsonasset · 310,035 bytesdata/places.jsonasset · 481,670 bytesdata/us-counties.topo.jsonasset · 842,143 bytesdata/us-states.topo.jsonasset · 114,554 bytesdata/world-110m.topo.jsonasset · 168,666 bytesdata/world-50m.topo.jsonasset · 432,565 bytesfonts/eb-garamond-latin-400-italic.woff2asset · 22,172 bytesfonts/eb-garamond-latin-400-normal.woff2asset · 21,704 bytesfonts/eb-garamond-latin-600-normal.woff2asset · 23,112 bytesfonts/eb-garamond-latin-ext-400-italic.woff2asset · 45,940 bytesfonts/eb-garamond-latin-ext-400-normal.woff2asset · 57,272 bytesfonts/eb-garamond-latin-ext-600-normal.woff2asset · 64,720 bytesfonts/eb-garamond-vietnamese-400-italic.woff2asset · 6,564 bytesfonts/eb-garamond-vietnamese-400-normal.woff2asset · 6,612 bytesfonts/eb-garamond-vietnamese-600-normal.woff2asset · 7,392 bytesfonts/fonts.jsonasset · 13,449 bytesfonts/ibm-plex-mono-latin-400-normal.woff2asset · 14,708 bytesfonts/ibm-plex-mono-latin-500-normal.woff2asset · 14,888 bytesfonts/ibm-plex-mono-latin-ext-400-normal.woff2asset · 13,348 bytesfonts/ibm-plex-mono-latin-ext-500-normal.woff2asset · 13,432 bytesfonts/ibm-plex-mono-vietnamese-400-normal.woff2asset · 5,868 bytesfonts/ibm-plex-mono-vietnamese-500-normal.woff2asset · 6,040 bytesfonts/jost-latin-300-normal.woff2asset · 9,876 bytesfonts/jost-latin-400-normal.woff2asset · 9,404 bytesfonts/jost-latin-600-normal.woff2asset · 10,480 bytesfonts/jost-latin-ext-300-normal.woff2asset · 6,516 bytesfonts/jost-latin-ext-400-normal.woff2asset · 6,396 bytesfonts/jost-latin-ext-600-normal.woff2asset · 6,832 bytesfonts/libre-franklin-latin-400-italic.woff2asset · 17,304 bytesfonts/libre-franklin-latin-400-normal.woff2asset · 15,900 bytesfonts/libre-franklin-latin-600-normal.woff2asset · 15,980 bytesfonts/libre-franklin-latin-800-normal.woff2asset · 16,008 bytesfonts/libre-franklin-latin-ext-400-italic.woff2asset · 15,632 bytesfonts/libre-franklin-latin-ext-400-normal.woff2asset · 14,580 bytesfonts/libre-franklin-latin-ext-600-normal.woff2asset · 14,676 bytesfonts/libre-franklin-latin-ext-800-normal.woff2asset · 14,848 bytesfonts/libre-franklin-vietnamese-400-italic.woff2asset · 4,876 bytesfonts/libre-franklin-vietnamese-400-normal.woff2asset · 4,580 bytesfonts/libre-franklin-vietnamese-600-normal.woff2asset · 4,616 bytesfonts/libre-franklin-vietnamese-800-normal.woff2asset · 4,552 bytesfonts/licenses/eb-garamond-OFL.txtdoc · 4,519 bytesfonts/licenses/ibm-plex-mono-OFL.txtdoc · 5,299 bytesfonts/licenses/jost-OFL.txtdoc · 4,497 bytesfonts/licenses/libre-franklin-OFL.txtdoc · 4,530 bytesfonts/licenses/source-serif-4-OFL.txtdoc · 4,314 bytesfonts/source-serif-4-latin-400-italic.woff2asset · 20,092 bytesfonts/source-serif-4-latin-400-normal.woff2asset · 20,088 bytesfonts/source-serif-4-latin-600-normal.woff2asset · 21,532 bytesfonts/source-serif-4-latin-ext-400-italic.woff2asset · 18,480 bytesfonts/source-serif-4-latin-ext-400-normal.woff2asset · 17,828 bytesfonts/source-serif-4-latin-ext-600-normal.woff2asset · 18,376 bytesfonts/source-serif-4-vietnamese-400-italic.woff2asset · 6,344 bytesfonts/source-serif-4-vietnamese-400-normal.woff2asset · 6,236 bytesfonts/source-serif-4-vietnamese-600-normal.woff2asset · 6,444 bytesreferences/basemaps.mddoc · 7,881 bytesreferences/cartography.mddoc · 3,293 bytesreferences/data.mddoc · 4,333 bytesreferences/posters.mddoc · 5,528 bytesreferences/spec.mddoc · 15,949 bytesscripts/lib/basemap.mjsruns · 6,203 bytesscripts/lib/color.mjsruns · 4,958 bytesscripts/lib/data.mjsruns · 14,316 bytesscripts/lib/errors.mjsruns · 200 bytesscripts/lib/export.mjsruns · 5,370 bytesscripts/lib/fonts.mjsruns · 3,195 bytesscripts/lib/geo.mjsruns · 12,349 bytesscripts/lib/geofile.mjsruns · 24,113 bytesscripts/lib/hover.mjsruns · 8,861 bytesscripts/lib/html.mjsruns · 11,976 bytesscripts/lib/kinds/bubbles.mjsruns · 5,662 bytesscripts/lib/kinds/choropleth.mjsruns · 25,984 bytesscripts/lib/kinds/common.mjsruns · 9,015 bytesscripts/lib/kinds/flows.mjsruns · 8,511 bytesscripts/lib/kinds/locator.mjsruns · 14,223 bytesscripts/lib/kinds/points.mjsruns · 2,918 bytesscripts/lib/kinds/poster.mjsruns · 20,458 bytesscripts/lib/kinds/route.mjsruns · 10,204 bytesscripts/lib/labels.mjsruns · 3,826 bytesscripts/lib/layout.mjsruns · 12,693 bytesscripts/lib/locate.mjsruns · 6,573 bytesscripts/lib/osm.mjsruns · 14,771 bytesscripts/lib/polylabel.mjsruns · 3,829 bytesscripts/lib/render.mjsruns · 8,356 bytesscripts/lib/scales.mjsruns · 6,791 bytesscripts/lib/spec.mjsruns · 7,331 bytesscripts/lib/streets.mjsruns · 7,198 bytesscripts/lib/svg.mjsruns · 3,518 bytesscripts/lib/themes.mjsruns · 9,539 bytesscripts/lib/tiles.mjsruns · 23,517 bytesscripts/lib/vtiles.mjsruns · 23,829 bytesscripts/map.mjsruns · 10,040 bytesscripts/vendor/geo.iife.jsruns · 41,603 bytesscripts/vendor/geo.mjsruns · 43,961 bytesscripts/vendor/licenses/d3-array-LICENSEruns · 731 bytesscripts/vendor/licenses/d3-geo-LICENSEruns · 1,857 bytesscripts/vendor/licenses/mapbox-point-geometry-LICENSEruns · 725 bytesscripts/vendor/licenses/mapbox-vector-tile-LICENSEruns · 1,500 bytesscripts/vendor/licenses/pbf-LICENSEruns · 1,467 bytesscripts/vendor/licenses/polylabel-LICENSEruns · 722 bytesscripts/vendor/licenses/topojson-client-LICENSEruns · 734 bytesscripts/vendor/licenses/us-atlas-LICENSEruns · 734 bytesscripts/vendor/vtile.mjsruns · 15,098 bytes
Read excerpt
# Map Design
You cannot draw a coastline from memory, and neither can any model. This skill
gives you real geography: bundled boundary data, an offline gazetteer, proper
projections, and a renderer with an editorial design system. You write a short
JSON spec; the CLI draws the map.
**Never hand-write map geometry, SVG paths or coordinates for countries,
coasts or borders.** Always go through `scripts/map.mjs`.
`<skill-dir>` below is this skill's base directory. The CLI needs Node.js 20+
and nothing else. PNG export uses a local Chrome, Edge, Brave or Chromium if
one exists; HTML and SVG always work.