
Maplibre Tile Sources
This walks you through choosing and configuring data sources for MapLibre GL JS maps, which is less obvious than it sounds because MapLibre doesn't ship with any map data. You'll learn when to use GeoJSON directly (works great under 5,000 features, starts choking above 50,000), when you need vector or raster tiles instead, and how to wire up glyphs and sprites so your labels and icons actually render. The performance thresholds are realistic and the comparison table between source types is helpful if you're setting up your first map or migrating from Mapbox. It covers hosted services, serverless PMTiles, and self-hosted tile servers without getting religious about any particular approach.
- skills.sh installs
- 1.1K
- GitHub stars
- 160
- last updated
- Aug 21, 2026
Install
$ npx -y skills add maplibre/maplibre-agent-skills --skill maplibre-tile-sources --agent claude-codeInstalls into .claude/skills of the current project.
Files
MapLibre Tile Sources
MapLibre GL JS does not ship with map data. You provide a style that references sources — URLs or inline data that MapLibre fetches and renders. MapLibre works equally well for a store locator with 200 addresses, a city transit map, and a global basemap — the right source type depends on geographic scale and level of detail, update frequency, infrastructure constraints, and use case.
This skill is about choosing that source type. For getting a configured source to render see maplibre-source-wiring.
When to Use This Skill
- Setting up a new MapLibre map and choosing where your data comes from
- Deciding between GeoJSON and tiles for a dataset of a given size
- Working out whether you need tile infrastructure at all
- Planning how a basemap and your own data fit together
- Moving a Leaflet app to MapLibre, or adding vector tiles to one
How styles and sources work
Sponsors
Details
- Repository
- github.com/maplibre/maplibre-agent-skills
- Categories
- AI & Agent Building, Cloud & Infrastructure
- First seen
- Jun 3, 2026