
GeoSQL
SkillHelps agents write geospatial SQL for PostGIS, DuckDB, BigQuery and Snowflake: inspect schemas and keep query costs in check, then render results as interactive maps to review and correct. Needs Python and your own database or warehouse; maps use Dekart, which can run locally in Docker.
GeoSQL
Claude Code, Codex, GitHub Copilot, OpenCode, and Mistral Vibe skill for data scientists and analysts working with geospatial data on PostGIS, BigQuery, Snowflake, and Wherobots.
Note: No SaaS account needed. Works 100% locally or self-hosted.

4x improvement on geospatial tasks with map in the loop.

Quick Start
With Python (interactive mode):
pip install geosql && geosql
GeoSQL first installs the skill into your detected agent. It then checks whether the optional Dekart CLI is ready and, only when needed, asks before installing or initializing it. The prompt shows the exact commands and defaults to the recommended install option.
After installing, prompt your agent like this:
/geosql Show EV charger density along major roads and render a map
How to update
Upgrade GeoSQL in the Python environment where it is installed:
pip install --upgrade geosql
If you use the optional Dekart CLI, update it too:
pip install --upgrade dekart
Then rerun the installer so the latest GeoSQL skill and references are copied to your detected agent:
geosql
Version telemetry
GeoSQL sends a best-effort version check with its package version and an opaque random installation ID. GeoSQL and Dekart CLI share the ID at ${XDG_CONFIG_HOME:-~/.config}/dekart/installation_id; deleting that file resets it. Set DO_NOT_TRACK=1 (or DNT=1) to disable the version check before an ID is created. CI sends a reserved non-persisted test ID.
Example prompts to try in your agent:
Real estate analysis:
/geosql Show buildings with low school accessibility in Ottawa, render as a map
Site selection:
/geosql Find the top 10 locations for Sporting Goods Store in Seattle based on POI co-location and distance to the nearest competitor. Create a map.
EV charging infrastructure:
/geosql create map EV charger density along major Romanian roads, highlighting how many charging stations are within 5 km of each motorway, trunk, or primary road segment.
How it works
GeoSQL runs an agent loop with a map in it.

- Discovery. The skill explores your warehouse metadata (tables, columns, types) instead of guessing schemas. Works with Overture Maps shares on BigQuery and Snowflake, and your private tables on PostGIS, BigQuery, Snowflake, or Wherobots.
- SQL. The agent writes spatial SQL using the right functions for your engine (
ST_INTERSECTS,ST_DISTANCE, H3, bbox overlap for partition pruning, and so on). - Cost check. On BigQuery, every query is dry-run first to estimate bytes scanned. A 10 GiB billing cap is enforced by default. Over-budget queries get rewritten cheaper (tighter bbox, lower H3 resolution, more filters) instead of executed.
- Geometry validation. The agent computes total area (polygons) or total length (lines) as a sanity check, and cross-checks against domain knowledge.
- Map feedback. When available, the agent renders the result through Dekart, looks at the rendered image, and corrects geometry mistakes the text-only loop would miss. This is the loop that gets the 4x improvement.
The skill uses your local CLI authentication (bq, snow, dekart), so warehouse credentials never go to the agent.
Benchmarks
GeoSQL ships with a reproducible eval suite under evals/. Each case asserts specific behaviors (cost guardrails, validation steps, correct result), not just "did the agent answer."
Current results on the included suite:
| Case | Assertions | Pass rate |
|---|---|---|
london-boroughs | 4 | 100% |
berlin-create-map | 3 | 100% |
paris-boundaries | 1 | 100% |
| Total | 8 | 100% |
Average: 3,085 tokens per turn, 72 s duration per turn.
The 4x improvement chart above compares the same task set with and without the map-in-loop step. Without maps, the agent's text-only validation misses geometry-class errors (mistaking a neighborhood polygon for a metro-area perimeter, double-counting overlapping features, picking the wrong join key on coordinate-reference systems). Adding the rendered map as a tool call lets the agent see those mistakes and self-correct.
Run the suite yourself:
python evals/run.py
See evals/RUNBOOK.md for setup and how to add new cases. PRs with new evals welcome.
Похожие ресурсы

SQL Queries
SkillAnthropic's official data skill that guides agents to write, translate and optimize SQL across Snowflake, BigQuery, Databricks, PostgreSQL and other warehouse dialects, including CTEs, window functions and analytical aggregations.
anthropics/knowledge-work-plugins29.9k
BigQuery Basics
SkillManages BigQuery datasets, tables and jobs with the bq and gcloud CLIs, runs SQL queries and loads data, with references for client libraries, MCP and Terraform. Google's official skill; requires a Google Cloud project.
google/skills21.4k
DuckDB Skills
SkillOfficial DuckDB skills: query local or S3 CSV, Parquet, Excel and JSON files with SQL or plain language, attach databases, convert formats, analyze spatial data and look up documentation. Needs the DuckDB CLI; tested only on macOS and Linux.
duckdb/duckdb-skills609
3DCityDB MCP Server
MCPFrom TUM's Chair of Geoinformatics (a 3DCityDB co-developer): query CityGML 3D city models in 3DCityDB v5 in plain language, covering both spatial and semantic attributes, with read-only SQL. Needs a deployed 3DCityDB database and Python; register it from the folder with your .env config.
tum-gis/3dcitydb-mcp-server18
DuckDB
CLIIn-process analytical SQL database. Its CLI queries CSV, Parquet and JSON files directly with SQL, no import or server needed, so agents can sample and aggregate large files. Officially maintained.
duckdb/duckdb42.2k
Data
PluginData analysis plugin: writes queries in each SQL dialect, explores datasets, runs statistical tests, charts with Python and builds interactive HTML dashboards, then reviews methods and conclusions before sharing. Connects to Snowflake, BigQuery and other warehouses. Official from Anthropic.
anthropics/knowledge-work-plugins29.9k