Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/0xdarkmatter/claude-mods/mapbox-opsnpx skills add 0xDarkMatter/claude-mods --skill mapbox-opsgit clone --depth 1 https://github.com/0xDarkMatter/claude-modsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/0xdarkmatter/claude-mods/mapbox-ops)<a href="https://agentmods.dev/skills/0xdarkmatter/claude-mods/mapbox-ops"><img src="https://agentmods.dev/badge/skills/0xdarkmatter/claude-mods/mapbox-ops.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00080 | $0.02052 |
| Opus 5 | $0.00040 | $0.01026 |
| Sonnet 5 | $0.00016 | $0.00410 |
| Haiku 4.5 | $0.00008 | $0.00205 |
Grade A, and why
mapbox-ops scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Mapbox GL JS — advanced web toolkit (v3)
An advanced toolkit for building production Mapbox GL JS map experiences on the web:
markers, thematic dataviz, 3D, terrain, cinematic camera, style composition, performance,
and the hard-won gotchas that bite. Scope: mapbox-gl-js v3.x in the browser (CDN
mapbox-gl-js/v3.x/) — not the native iOS/Android SDKs (different APIs). Plain GL JS,
framework-agnostic. Several patterns were distilled from a production trail map; adapt the
constants to your own design.
Setup invariants
- Set
mapboxgl.accessTokenbeforenew mapboxgl.Map(...). - The map needs
'load'before adding sources/layers/images. In a throttled or background tab'load'can be missed — also bind'idle'as a one-shot fallback guarded by an_initedflag (see verification.md). - Resolving token/style from
.env: read the token FIRST (that triggers the.envload), THEN readMAPBOX_STYLE. Reading the style before the token load silently falls back to the default style. See palette.md. - Classic vs Standard style. Several techniques here (basemap palette recolour,
the terrain boost-or-add
getStyle().layerswalk) assume a classic style (Streets/Outdoors/Light/Dark…-v12). The v3 default Standard style has no enumerable named layers — use slots +setConfigPropertyinstead. See v3-standard-style.md before porting to Standard.
Pick the technique
Read the matching reference file only when the task needs it:
| Task | Reference |
|---|---|
Custom SVG/canvas markers, addImage/updateImage, namespacing, AA/fringing, circular image masks, anchoring |
references/markers.md |
Dashed/cased trail lines, line-dasharray units, translucency over hillshade, colour-by-attribute, line-gradient/lineMetrics |
references/lines-and-trails.md |
Hillshade, dense contours, 3D terrain (setTerrain), boost-or-add an existing style's terrain |
references/terrain.md |
Symbol-layer text labels that never hide icons (text-optional), AllTrails-style placement |
references/labels.md |
Recolour a base style's land/vegetation fills (palette shift / choropleth-style match) |
references/palette.md |
| Custom popups, circular photo cards, zoom-scaled offsets | references/popups.md |
Style expressions — interpolate/step/match/case, the zoom-outermost rule, feature-state in expressions |
references/expressions.md |
Hover/select via feature-state (not setData), queryRenderedFeatures caveats, clustering, GeoJSON perf, event hygiene |
references/interaction-and-performance.md |
Data viz & 3D — fill-extrusion buildings/extruded data, heatmap layer, data-join choropleth (feature-state/match), proportional symbols, sky/fog |
references/dataviz-and-3d.md |
three.js in the map — CustomLayerInterface + shared GL context, animated 3D objects/models, the baked-matrix vs reconstructed-camera (Threebox CameraSync) fork, raycast picking, ENU-metre scene space, constant screen-size actors, terrain elevation, far-plane clipping at pitch |
references/three-custom-layer.md |
Camera & animation — flyTo/easeTo/fitBounds padding, freeCameraOptions cinematics/orbit, flight/first-person camera (bearing+pitch choreography; roll is MapLibre-only), animated day–night cycle (setLights), HUD synced to camera, point-along-line, draw-in lines, paint transitions, spinning globe, the essential/reduced-motion gotcha |
references/camera-and-animation.md |
| Style library & composition — first-party style catalog, choosing a base by use case, custom/third-party styles, style switcher, light/dark, hand-rolled style JSON | references/styles.md (+ assets/style-catalog.json) |
setStyle wiping custom layers, the 0×0 resize() bug, SPA teardown / WebGL-context cap, token security, readiness events |
references/lifecycle.md |
v3 Standard style — slots vs beforeId, setConfigProperty/lightPreset, why layer-walking (palette/terrain) breaks; localisation, RTL, globe |
references/v3-standard-style.md |
Headless screenshot + pixel-accurate marker-alignment checks (Playwright, map.project) |
references/verification.md |
What ships with it
21 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/.gitkeep 0 B
- assets/circular_image_marker.js 4.9 KB runs code
- assets/style-catalog.json 5.4 KB
- references/camera-and-animation.md 8.3 KB
- references/dataviz-and-3d.md 5.7 KB
- references/expressions.md 2.9 KB
- references/interaction-and-performance.md 3.4 KB
- references/labels.md 1.8 KB
- references/lifecycle.md 2.8 KB
- references/lines-and-trails.md 3.6 KB
- references/markers.md 7.2 KB
- references/palette.md 2.9 KB
- references/popups.md 2.5 KB
- references/styles.md 9.0 KB
- references/terrain.md 4.2 KB
- references/three-custom-layer.md 7.4 KB
- references/v3-standard-style.md 3.1 KB
- references/verification.md 2.1 KB
- scripts/check-mapbox-facts.py 16 KB runs code
- scripts/screenshot_map.py 6.9 KB runs code
- tests/run.sh 4.8 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 100 lines · 80 tokens per session scan A 07aeee52e42e
mapbox-ops is a skill published in the GitHub repository 0xDarkMatter/claude-mods (32 stars, last pushed 13d ago), licensed MIT. It adds 80 tokens to every session and 2,052 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
opencli-sitemap-author
Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.
specification-writing
Write the full patent specification from claims and invention disclosure. Use when user says "撰写说明书", "write specification", "写说明书", "patent description", or wants to draft the complete patent specification.
training-check
Interactively monitor training metrics from the current Codex session, periodically checking WandB or fallback logs for NaN, divergence, plateaus, and broken runs.
golden-rss
Use when testing the rss golden build.
overleaf-sync
Two-way sync between a local paper directory and an Overleaf project, so ARIS audit/edit workflows stay on the local copy while collaborators edit in the Overleaf web UI. Use when user says "同步 overleaf", "overleaf sync", "推送到 overleaf", "connect overleaf", "Overleaf 桥接", "pull overleaf", "push overleaf", or wants to…
omh-code-review
This is a Hermes-native code-review workflow skill.