This directory contains markdown files that act as skills for Claude — structured context files you load into a conversation to give Claude deep, platform-specific knowledge about geospatial work on BigQuery or Snowflake.
git clone https://github.com/wriglz/geo-ai.git ~/geo-aiPull the latest rules at any time:
git -C ~/geo-ai pullRather than copying the file contents (which would go stale), use an @import
directive so Claude always reads the latest version from your local clone:
Open or create a CLAUDE.md file in the root of your project and add one of the
following lines:
<!-- BigQuery projects -->
@~/geo-ai/bigquery-spatial.md
<!-- Snowflake projects -->
@~/geo-ai/snowflake-spatial.md
<!-- Both platforms — import both -->
@~/geo-ai/bigquery-spatial.md
@~/geo-ai/snowflake-spatial.mdClaude Code resolves @-prefixed paths relative to your home directory and injects
the file contents automatically at the start of every session in that project.
- Open a new conversation with Claude.
- Click the paperclip / attachment icon and upload the relevant
.mdfile. - Claude will follow the rules in the file for the rest of the conversation.
You can upload multiple files if a pipeline touches both platforms.
git pullbefore starting work on a new task to pick up any rule updates.- Import only the file that matches your target platform — import both only if your project genuinely spans both platforms.
- Skills take effect immediately — you do not need to repeat the rules in later messages.
BigQuery skill. Covers clustering with S2 geography columns, geometry ingestion
with make_valid, spatial index columns (H3 requires CARTO Toolbox), query patterns
that benefit from clustering, and common anti-patterns.
Snowflake skill. Covers clustering with ST_GEOHASH, the GEOMETRY vs
GEOGRAPHY distinction, safe constructors (TRY_TO_GEOGRAPHY), predicates that
disable micro-partition pruning, memory spillage on spatial operations, and GeoJSON
properties in VARIANT columns.