snowflake-analystlisted
Install: claude install-skill Rockfish-Data/tacklebox
# Snowflake analyst
Analyze Snowflake data like local CSV files, without dragging whole tables across
the network. The bundled tool
[`scripts/snowflake_analyst.py`](scripts/snowflake_analyst.py) wraps
`snowflake-connector-python` with a small set of filesystem-flavored commands.
## The core principle: push work down, pull only small results
Reading a CSV means loading the whole file. A Snowflake table can be terabytes,
so **never** do that reflexively. Every command here answers from **metadata** or
**server-side aggregates** — only `export` moves bulk data, and it refuses large
tables unless you opt in. When you need an answer *about* the data (counts,
distributions, aggregates), write SQL and let the warehouse compute it; bring back
only the summary.
## Commands (filesystem analogy)
| Command | Analogy | What it does |
| --- | --- | --- |
| `connections` | — | list connection names in `connections.toml` |
| `databases` | `ls` | list databases |
| `schemas [--database DB]` | `ls DB/` | list schemas |
| `tables [--database DB] [--schema S]` | `ls -l` | list tables **with row counts and on-disk bytes** |
| `describe TABLE` | inspect header | columns, types, nullability |
| `head TABLE [-n N]` | `head` | first N rows (`LIMIT`) |
| `sample TABLE [-n N]` | — | a random N-row `SAMPLE` (more representative than head) |
| `profile TABLE` | `df.describe()` | per-column non-null/null%/distinct/min/max/mean/stddev, computed in the warehouse |
| `query "SQL"` | — | run **read-only*