Skills Agentes

Spatial

Responde preguntas sobre datos espaciales con DuckDB: ubicaciones, coordenadas, distancias, mapas, direcciones, formatos como GeoJSON, Shapefile, GeoPackage, GPX o GeoParquet, usando también Overture Maps.

Solicitabash
Estrellas
538

en todo el repo

Actividad
35

0–100, la ruta de este skill

Actualizado
hace 5 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
1k tok

132 tok en reposo

Paquete
3 archivos

15 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add duckdb/duckdb-skills --skill spatial --agent claude-code

Se instala solo en este repositorio.

Este skill runs shell commands.

Qué hace

  • Ejecuta consultas espaciales en DuckDB usando la extensión spatial y, cuando hace falta, datos globales gratuitos de Overture Maps en S3
  • Clasifica la pregunta del usuario en un patrón (cercanía, distancia, contención, densidad, conversión) y elige la fuente de datos y funciones adecuadas
  • Configura siempre `LOAD spatial;` y `SET geometry_always_xy = true;` antes de ejecutar consultas
  • Convierte entre formatos geográficos (GeoJSON, Shapefile, GeoPackage, GPX, GeoParquet) usando `ST_Read` y `COPY TO (FORMAT GDAL)`
  • Calcula distancias reales con `ST_Distance_Spheroid` y realiza binning hexagonal H3 para análisis de densidad

Úsalo cuando

  • El usuario menciona ubicaciones, coordenadas, lat/lng, distancias, mapas, direcciones, "cerca", "dentro de" o "más cercano"
  • El usuario quiere analizar o convertir archivos GeoJSON, Shapefile, GeoPackage, GPX o GeoParquet
  • El usuario busca lugares, edificios o carreteras reales sin proporcionar un archivo propio
  • El usuario pide contar elementos geográficos, unir espacialmente datos o detectar patrones de densidad

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Encuentra restaurantes cerca de esta dirección usando Overture Maps
    • Convierte este archivo Shapefile a GeoJSON
    • ¿Cuántos edificios hay dentro de este polígono?
    • Calcula la distancia real entre estos dos puntos lat/lng
    • Muestra zonas de mayor densidad de carreteras en esta ciudad

    SKILL.md

    En inglés

    You are answering spatial questions using DuckDB's spatial extension and, when needed, Overture Maps as a free global data source.

    Question or file: $0 Additional context: ${1:-}

    Step 1 — Understand what the user needs

    Classify the question:

    Pattern Data source Key functions
    "Find X near Y" (no user file) Overture Maps on S3 ST_Distance_Spheroid, bbox filtering
    "How far between A and B" Geocode or user data ST_Distance_Spheroid
    "Which points fall inside polygons" User files ST_Contains
    "Analyze this GeoJSON/Shapefile/GPX" User file ST_Read, measurement functions
    "Show density/hotspots" User or Overture data H3 hex binning
    "Convert to GeoJSON/GeoPackage" User file COPY TO (FORMAT GDAL)
    "Count buildings/roads in area" Overture Maps bbox filtering + aggregation

    If the question involves real-world places, POIs, buildings, roads, or boundaries and the user hasn't provided a file, use Overture Maps — read references/overture.md for S3 paths and schema.

    For spatial function syntax, read references/functions.md.

    Step 2 — Write and run the query

    Always start with:

    LOAD spatial;
    SET geometry_always_xy = true;
    

    Add extensions as needed:

    • Overture/remote data: LOAD httpfs; CREATE SECRET (TYPE S3, PROVIDER config, REGION 'us-west-2');
    • H3 hex binning: INSTALL h3 FROM community; LOAD h3;

    Key principles

    bbox filtering first — When querying Overture, always filter on bbox.xmin/xmax/ymin/ymax before any spatial function. This uses Parquet predicate pushdown and avoids downloading the full dataset.

    Always set geometry_always_xy = true — This ensures all spatial functions interpret coordinates as longitude, latitude (the standard for Overture, GeoJSON, and most data sources). Without it, spheroid functions assume latitude first and return wrong results.

    Use spheroid functions for real-world distancesST_Distance_Spheroid returns meters on the WGS84 ellipsoid. Plain ST_Distance uses planar coordinates and gives meaningless results for lat/lng. Important: spheroid functions (ST_Distance_Spheroid, ST_Area_Spheroid, etc.) require POINT_2D inputs, not generic GEOMETRY. Overture geometry columns are typed GEOMETRY('OGC:CRS84') and cannot be cast directly. Extract coordinates first:

    ST_Point(ST_X(geometry), ST_Y(geometry))::POINT_2D
    

    CSV with lat/lng needs conversionST_Point(longitude, latitude) (longitude first). This is the most common gotcha.

    Run the query in a single bash call:

    duckdb -c "
    LOAD spatial;
    <ADDITIONAL_SETUP>
    <YOUR_QUERY>
    "
    

    Step 3 — Present results

    • For tabular results: show the data directly
    • For spatial results: consider exporting to GeoJSON for visualization (COPY TO 'result.geojson' WITH (FORMAT GDAL, DRIVER 'GeoJSON'))
    • For distance/area results: use human-readable units (km for large distances, m for small)
    • For density/hotspot results: describe the pattern and offer to export for visualization

    If the query fails:

    • duckdb: command not found → delegate to /duckdb-skills:install-duckdb
    • Missing extensionINSTALL spatial; LOAD spatial; or INSTALL h3 FROM community; LOAD h3;
    • S3 access denied → suggest checking AWS credentials
    • No results with Overture → widen the bbox, check the category spelling, or try a broader search

    Reproducido de duckdb/duckdb-skills bajo licencia MIT. Leer esta página en markdown.

    Archivos

    3 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere DuckDB con las extensiones spatial (y opcionalmente httpfs y h3 desde community) instaladas, y credenciales de AWS si se accede a Overture Maps en S3.

    Detalles

    Creador
    duckdb
    Licencia
    MIT
    Recursos incluidos
    referencias
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de duckdb/duckdb-skills

    Este repo incluye 9 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack duckdb-skills entero y su comando de instalación

    Convierte cualquier archivo de datos a otro formato: CSV, Parquet, JSON, Excel, GeoJSON y más, usando DuckDB.

    Costo de contexto al activarse
    725 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    datos analitica

    Explora y consulta datos en S3, Cloudflare R2, GCS, MinIO o cualquier almacenamiento compatible con S3, sin necesidad de descargarlos.

    Costo de contexto al activarse
    852 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    datos analitica

    Busca en la documentación de DuckDB y DuckLake y en posts del blog, devolviendo fragmentos relevantes mediante búsqueda de texto completo contra un índice local cacheado.

    Costo de contexto al activarse
    1.4k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    bases de datos

    Lee cualquier archivo de datos (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) o URL remota (S3, HTTPS) usando DuckDB. No sirve para código fuente.

    Costo de contexto al activarse
    919 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    datos analitica

    Busca en los logs de sesiones pasadas de Claude Code para recordar decisiones, patrones o trabajo pendiente. Úsalo cuando el usuario mencione conversaciones anteriores o necesites contexto previo.

    Costo de contexto al activarse
    348 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    productividad

    Adjunta un archivo de base de datos DuckDB para usarlo con /duckdb-skills:query. Explora el esquema (tablas, columnas, conteos) y escribe un state file SQL para restaurar la sesión con duckdb -init.

    Costo de contexto al activarse
    1.2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    bases de datos

    Skills relacionados

    Convierte cualquier archivo de datos a otro formato: CSV, Parquet, JSON, Excel, GeoJSON y más, usando DuckDB.

    Costo de contexto al activarse
    725 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    datos analitica

    Lee cualquier archivo de datos (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) o URL remota (S3, HTTPS) usando DuckDB. No sirve para código fuente.

    Costo de contexto al activarse
    919 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    datos analitica

    Explora y consulta datos en S3, Cloudflare R2, GCS, MinIO o cualquier almacenamiento compatible con S3, sin necesidad de descargarlos.

    Costo de contexto al activarse
    852 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Permisos
    datos analitica