MapLibre Agent Skills
MapLibre Agent Skills guides agents through map sources, labels, icons, terrain and migrations in MapLibre applications.
- 161 ★ on the repository
- Last commit
- MIT
Minimal access
Why this level
- An agent applies guidance to map code; incorrect sources or styles can break rendering.
Install
- Works in
Manual install
npx skills add maplibre/maplibre-agent-skillsFirst installation command in the README AGENTS.md template.
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- An agent applies guidance to map code; incorrect sources or styles can break rendering.
This is third-party code. Review the repository files before installing.
What it does
MapLibre Agent Skills helps agents build interactive MapLibre maps. Individual skills cover GeoJSON versus tiles, source wiring, fonts, icons, terrain and migration from Mapbox. An agent loads the relevant guidance for a task. Materials connect common failures to primary APIs and documentation. Skills record their evaluation status, allowing users to inspect what has been tested. They are development instructions; map data, tile hosting and the application must be supplied separately.
Who it is for. MapLibre frontend developers investigating empty layers, labels and migrations with an agent.
Good fit when
- Choose GeoJSON, vector or raster tiles for a dataset.
- Investigate a configured source whose features do not render.
- Check font and sprite resources behind missing labels or icons.
- Migrate from Mapbox or upgrade a major MapLibre version.
Not a fit when
- You need ready-made geodata or hosted tiles.
- Instructions must apply edits automatically without an agent.
- The project uses another mapping library without compatibility review.
Example request
Investigate why a GeoJSON layer is missing in MapLibre, check source and style and propose a minimal fix.Limitations
Map data and tile infrastructure are not included and must be chosen separately. A `provisional` status means evaluation evidence is incomplete, so compare guidance with the project API. Installation copies directories; local edits may be overwritten on update, making a maintained fork or upstream fix preferable. Recommendations depend on MapLibre version and style structure; after editing, verify layers, fonts and resources in the actual application.
How to disable. Remove installed skill directories or disable the plugin. Review or revert map-code changes separately.
FAQ
Is this the MapLibre library?
No. These are agent instructions. Install the library and map data separately.
What does verified mean?
A committed evaluation demonstrates a specific failure being corrected. Review its results and conditions.
Can I install one skill?
Yes. Select it with the installer’s `--skill` option.
Where are files copied?
Into the selected agent’s skill directory. Check project versus global scope before confirmation.
What if advice is wrong?
Check the primary API and file a failure report. Preserve any local installed-copy fix separately.
Discussion
No questions or reviews yet.
Related
SkillsA skill that teaches an agent to add a map point picker to a form: a web component, a coordinates field, keyless OpenStreetMap.
A Codex skill that creates runnable Vue projects with a 3D Earth, administrative maps, MapLibre overlays and contour terrain
A reference and recipe skill for the Yandex Maps JS API v3: markers, clustering, search, geocoding and React/Next.js, plus the coordinate-order gotcha
The MagicPath skill finds service UI components via CLI and moves a design into local code, matching the original.
A skill set for browser Web AI APIs: Prompt, Translator, Writing Assistance, WebMCP and WebNN, aligned with the specifications.
A skill builds and debugs GLSL shaders from reusable blocks, bundles dependencies into one file and checks WebGL2-oriented code.
README in short
The collection includes PMTiles and major-version migration guidance. Each skill stores its own status in front matter.
README badge
Original SKILL.md
--- name: maplibre-tile-sources description: Choosing what form your data needs for MapLibre GL JS — GeoJSON read straight from a file versus vector or raster tiles, the feature-count and file-size thresholds where each stops working, and how a basemap and your own data combine as separate sources. Use when deciding which source type a dataset needs, not when hosting or configuring one. metadata: status: verified --- # 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](../maplibre-source-wiring/SKILL.md). ## 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 ## How styles and sources work A **style** (a style JSON, style document, or style object) is the configuration you pass to MapLibre. It contains the specific rendering rules governed by the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/), maintained with parity for MapLibre GL JS and MapLibre Native. You can use a **style URL** from a provider — that URL references a style with sources, layers, glyphs, and sprite. Or you can **build your own style** and configure each yourself. A style has three main components: - **Sources** — Point to the actual data. Each source has a `type` and either inline data or a URL. MapLibre requests tiles or data as the viewport changes. The same source can back many layers (e.g. roads, water, and labels all from one vector URL). - **Layers** — An ordered list defining what to draw and how. Each layer references a source (and for vector tiles, a `source-layer` name) and specifies paint/layout properties. - **Glyphs and sprite** — URLs to font SDF stacks and icon spritesheets. `sprite` has no fallback: a missing icon is omitted and the console warns `Image "<id>" could not be loaded`; use `map.hasImage(id)` to test whether an icon ID is defined. `glyphs` does have one on GL JS ≥ 5.11.0 (text still renders, in a local/system font) — see [maplibre-fonts-glyphs](../maplibre-fonts-glyphs/SKILL.md) for the mechanism and its limits. Production styles should still supply both explicitly. **Source types:**