decision-labs/geoai.js/geoai

Claude Code and agent skill by decision-labs/geoai.js

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Build browser geospatial AI apps with the geoai npm package (GeoAI.js). Use when integrating object detection, segmentation, classification, feature extraction, or image geolocation on satellite/aerial imagery; choosing a geoai task or map provider (esri, geobase, mapbox, tms, wms, oam, google); wiring geoai.pipeline / inference; web workers for background inference; or React + MapLibre patterns. Triggers include geoai, GeoAI.js, geobase AI, satellite detection, building footprints, DINOv3 embe…

Install

npx vskill@latest install decision-labs/geoai.js/geoai

SKILL.md

GeoAI.js

JavaScript/TypeScript library for running geospatial AI models in the browser (and Node). Imagery comes from map providers; inference runs via ONNX / Transformers.js.

Install

bash
npm i geoai @huggingface/transformers onnxruntime-web

Peer deps are required. Package: `geoai`. Docs: https://docs.geobase.app/geoai — LLM index: https://docs.geobase.app/geoai/llms.txt

Core API

typescript
import { geoai } from 'geoai';
const pipeline = await geoai.pipeline(
[{ task: 'object-detection' /* modelId?, modelParams? */ }],
{ provider: 'esri' } // see providers.md
);
const result = await pipeline.inference({
inputs: { polygon: geoJsonPolygonFeature }, // GeoJSON Feature<Polygon>, required
mapSourceParams: { zoomLevel: 18 }, // optional
postProcessingParams: { confidence: 0.5 }, // task-specific, optional
});
  • geoai.pipeline(tasks, providerParams) — one task or a chainable sequence.
  • pipeline.inference(params) — returns detections / masks / features (task-dependent).
  • geoai.models() — list registered tasks and metadata.

Polygon must be a GeoJSON Feature with Polygon geometry (not a bare geometry).

Zero-shot inputs
typescript
await pipeline.inference({
inputs: {
polygon: feature,
classLabel: 'aircraft.wind turbine', // dot-separated classes
},
postProcessingParams: { threshold: 0.2, topk: 10 },
});

Task picker

Prefer specialized tasks over generic ones when they match.

NeedTask id
Cars / small vehiclescar-detection
Shipsship-detection
Buildings (boxes)building-detection
Building outlinesbuilding-footprint-segmentation
Solar panelssolar-panel-detection
Oil tanksoil-storage-tank-detection
Wetlands / water bodieswetland-segmentation
Land use classesland-cover-classification
Fixed classes (vehicle, person, building, boat, …)object-detection
Rotated boxesoriented-object-detection
Custom text labelszero-shot-object-detection
Contiguous regions (fields, lakes, roads)mask-generation
DINOv3 embeddings / similarityimage-feature-extraction

Full task notes, defaults, and chain rules: tasks.md.

Providers

ProviderAuthUse when
esriNoneQuick demos, global imagery
mapboxAPI keyMapbox satellite
geobaseprojectRef + apikey + COG URLYour own COG imagery
tmsOptionalAny {z}/{x}/{y} raster tiles
wmsUsually noneOGC GetMap endpoints
oamNoneOpenAerialMap / HOT aerial imagery
googleAPI keyGoogle Map Tiles API satellite

Configs: providers.md.

Background inference (Workers)

For UI apps, run the pipeline in a Web Worker so inference stays off the main thread. Vanilla JS and React patterns: workers.md.

React / MapLibre

There is no geoai/react export. Use the worker + hook pattern in react.md (builds on workers.md).

Agent checklist

  1. Install geoai + peer dependencies.
  2. Pick the most specific task id from the table above.
  3. Configure a provider (start with esri if no credentials).
  4. Pass a GeoJSON polygon Feature covering the AOI.
  5. For UI apps, use a Worker so the main thread stays responsive (workers.md).
  6. Read task docs for post-processing knobs before inventing params.

References

  • tasks.md — registry tasks, models, chaining
  • providers.md — provider param shapes
  • workers.md — Web Worker API (vanilla JS + protocol)
  • react.md — React hook + MapLibre UX
  • Human docs: https://docs.geobase.app/geoai
  • Live demos: https://docs.geobase.app/geoai-live
  • Full LLM corpus: https://docs.geobase.app/geoai/llms-full.txt

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
170
Repository forks
21
7-day trend score
26

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/decision-labs/geoai.js/geoai/badge)](https://verified-skill.com/skills/decision-labs/geoai.js/geoai)

Something wrong with this skill or its page? Tell us.