cartodb/agent-skills

carto-query-datawarehouse

Write spatial SQL against the connected warehouse — dialect-specific guidance, performance defaults, and CARTO's query/job execution model.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/cartodb/agent-skills --skill carto-query-datawarehouse

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

carto-query-datawarehouse

Run SQL — spatial or otherwise — against any connection CARTO has registered. Two execution surfaces, matched across MCP and CLI:

Row-returning SELECT (1-min timeout)DDL/DML & long queries (no timeout, no rows)
MCP (primary)execute_queryexecute_async_query (submit/status/cancel)
CLI (fallback)carto sql querycarto sql job
Access-path routing. With the CARTO MCP server attached, run SQL through execute_query and execute_async_query — both available even on token-authenticated sessions. The dialect guidance and performance rules here apply identically on either path. Use the carto sql CLI when the server isn't attached or the SQL is scripted/CI. carto activity query (local DuckDB over downloaded activity data) is CLI-only — no MCP equivalent. Detection signals: `carto-basics/references/access-paths.md`.

When to use this skill

  • The user wants to count rows, run an exploratory SELECT, or build a transformation.
  • The user is debugging slow / failing SQL.
  • The agent needs to materialize an intermediate table before authoring a map.
  • The user wants an ad-hoc spatial join, buffer, or H3 aggregation.

Quick reference (CLI)

bash
# Read query (returns rows; 1-min timeout)
carto sql query <connection> "SELECT * FROM dataset.table LIMIT 10"

# Long-running job (DDL/DML; polls to completion; no rows back)
carto sql job <connection> "CREATE TABLE my_ds.out AS SELECT ..."

# From file / piped
carto sql query <connection> --file query.sql
echo "SELECT 1" | carto sql query <connection>
UsePath
Exploratory SELECT (small, fast)sync — execute_query / sql query
Cached SELECT (deterministic, 1y TTL)sql query ... --cache
CREATE TABLE AS SELECT, large UPDATE, 5+ min aggregationasync — execute_async_query / sql job

--cache (CLI) switches to a GET with a 1-year cached response; use only for deterministic, small queries.

What's in this skill

TopicReference
Sync vs async execution, caching, timeoutsreferences/sql-jobs-and-caching.md
Spatial SQL idioms — BigQuery dialectreferences/spatial-sql-bigquery.md
Spatial SQL idioms — Snowflake dialectreferences/spatial-sql-snowflake.md
Spatial SQL idioms — Postgres / PostGIS (and Redshift) dialectreferences/spatial-sql-postgres.md
Querying CARTO activity data (local DuckDB, CLI-only)references/activity-queries.md

Always-on guidance

  • Always specify a connection. The connection name comes from explore_data (list_connections) / carto connections list, not the warehouse project ID.
  • Prefer the async path for any query that might exceed 60 s. Sync reads have a hard 1-minute server-side timeout regardless of the user's patience.
  • Don't `SELECT on warehouse tables blindly.** Spatial tables can be 100M+ rows; project columns and add LIMIT` for exploration.
  • Dialect mismatch is the #1 source of confusion. ST_DWithin is ST_DWITHIN in Snowflake, ST_DWithin in BigQuery/PostGIS/Redshift. The per-dialect reference gives the canonical form.
  • For activity-data analysis (who edited what, quota usage, login patterns), use carto activity query — CLI-only, DuckDB over downloaded data. See references/activity-queries.md.

Related by task

from this repository

More skills

All skills
cartodb
Community

carto-composite-scoring

Guides the user through building composite score workflows when they ask about composite scores, indexes, multi-variable scores, ranking areas, site scoring, market potential, resilience indexes, risk indexes, weighted scores, PCA, or supervised/unsupervised scoring.

installs
2
GitHub stars
6
Updated
Oct 20
cartodb
Community

carto-connect-datawarehouse

Choose and configure the data warehouse engine connection for CARTO (BigQuery, Snowflake, Redshift, Postgres, Databricks, Oracle).

installs
2
GitHub stars
6
Updated
Oct 20
cartodb
Community

carto-create-builder-maps

Author, edit, publish, and validate CARTO Builder maps. Use when the user wants to create a map from a natural-language request, edit an existing map (datasets, layers, styling, privacy, popups, widgets, SQL parameters), duplicate one, upload custom marker icons, or wire up an AI agent on a map. Routes to the CARTO MCP server's map tools (createmap, updatemap, validatemap, readmaps, viewmap) when attached, and to the carto maps CLI — create, update, delete, publish, validate, schema, agents, scr

installs
2
GitHub stars
6
Updated
Oct 20
cartodb
Community

carto-create-workflow

Builds, schedules, and operates analytics DAGs in CARTO Workflows — the no-code/low-code orchestration layer over the data warehouse. Triggers when the user wants to author a workflow, run/edit one, schedule a DAG, or copy a workflow across profiles or orgs.

installs
2
GitHub stars
6
Updated
Oct 20