Ade Bench Cross DB Tasks
dbt-labs/ade-bench
A skill your agent uses when authoring or debugging ade-bench tasks that must run on both DuckDB and Snowflake, including shared project migrations, setup patches, and solution patches
Query the live/remote Snowflake warehouse instead of the local practice copy.
$ npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ai-analyst-lab/ai-analyst connect-snowflake --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/connect-snowflake .claude/skills/connect-snowflake && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "connect-snowflake" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/connect-snowflake into .claude/skills/connect-snowflake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "connect-snowflake", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/connect-snowflakeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ai-analyst-lab/ai-analyst connect-snowflake --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/connect-snowflake .agents/skills/connect-snowflake && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "connect-snowflake" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/connect-snowflake into .agents/skills/connect-snowflake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "connect-snowflake", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ai-analyst-lab/ai-analyst connect-snowflake --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/connect-snowflake .cursor/skills/connect-snowflake && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "connect-snowflake" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/connect-snowflake into .cursor/skills/connect-snowflake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "connect-snowflake", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ai-analyst-lab/ai-analyst.git --path .claude/skills/connect-snowflake--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ai-analyst-lab/ai-analyst connect-snowflake --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/connect-snowflake .gemini/skills/connect-snowflake && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "connect-snowflake" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/connect-snowflake into .gemini/skills/connect-snowflake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "connect-snowflake", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ai-analyst-lab/ai-analyst connect-snowflakeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/connect-snowflake .github/skills/connect-snowflake && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "connect-snowflake" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/connect-snowflake into .github/skills/connect-snowflake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "connect-snowflake", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ai-analyst-lab/ai-analyst connect-snowflake --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/connect-snowflake .opencode/skills/connect-snowflake && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "connect-snowflake" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/connect-snowflake into .opencode/skills/connect-snowflake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "connect-snowflake", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
connect-snowflakeQuery the live/remote Snowflake warehouse instead of the local practice copy.
Connect Snowflake is an agent skill from ai-analyst-lab/ai-analyst. Query the live/remote Snowflake warehouse instead of the local practice copy. Use when the user says "connect to snowflake", "use the live data", "go remote", "query the warehouse", or asks "is this hitting snowflake or duckdb?". Assumes credentials already exist (first-time setup is /setup-snowflake); opts into remote via ConnectionManager and verifies the connection type before any query runs.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Databases, covering Data warehousing. It works with Snowflake and DuckDB. The repository describes itself as: AI Product Analyst — Claude Code-powered data analysis toolkit. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 52c0744. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3pipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SNOWFLAKE_TOKENSNOWFLAKE_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Connect Snowflake loads about 1.4k tokens when it runs. Until then it costs about 104 tokens; SKILL.md has 594 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
elds, stores the approved credential in `.env`, and verifies the native`ConnectionManager` auto-loads `.env`, expands the `$SNOWFLAKE_*` placeholdersconfig** (`.env` / `connection_templates/`) — compare against what you expect,- A PAT lives in `.env` as `SNOWFLAKE_TOKEN`; a legacy password usesmanifest. Never echo or cat `.env`.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ai-analyst-lab/ai-analyst at commit 52c0744, republished under its MIT licence (© ai-analyst-lab). 594 words, ~1,411 tokens.
.claude/skills/connect-snowflake/SKILL.md (or your agent's skills folder).Run queries against the live Snowflake warehouse — not the local DuckDB practice copy. This is the runbook for "actually go remote." Credentials and config already exist; this skill is about opting into remote and verifying you landed there.
This is distinct from /setup-snowflake (the first-time wizard that collects the
connection fields, stores the approved credential in .env, and verifies the native
ConnectionManager session). Use this skill when the
warehouse is already configured and you just want to query the live data through
ConnectionManager.
Trigger on any request to use the live/remote Snowflake data, e.g.:
detect_active_source() (in helpers/data/data_helpers.py) defaults to the local
DuckDB copy even though the active dataset declares
connection_type: snowflake. It only goes remote when you opt in, via either:
AAP_USE_REMOTE=1 (also accepts true / yes), ORuse_remote: true in .knowledge/active.yamlSet use_remote: true in .knowledge/active.yaml for a persistent opt-in, and set
AAP_USE_REMOTE=1 in the same shell command as python3 as a belt-and-suspenders guard.
To confirm you actually landed on the warehouse (not the local fallback), call
ConnectionManager.verify_remote(): it returns {"remote": bool, "identity": {account, warehouse, database, schema, version}, "reason": ...} from Snowflake's own session context functions. Treat
remote: False as "you are NOT on Snowflake" and fix the reason before querying.
ConnectionManager auto-loads .env, expands the $SNOWFLAKE_* placeholders
from the manifest, and lazy-connects. The export must be in the same Bash
call as the python3 — shell env does not persist between separate tool calls.
export AAP_USE_REMOTE=1 && python3 -W ignore -c "
import warnings; warnings.filterwarnings('ignore')
from helpers.data.connection_manager import ConnectionManager
mgr = ConnectionManager()
print('backend:', mgr.connection_type) # MUST print 'snowflake'
events = mgr.table_reference('events')
df = mgr.query(f'SELECT event_type, COUNT(*) n FROM {events} GROUP BY event_type ORDER BY n DESC')
print(df.to_string(index=False))
mgr.close()
"Use DATABASE.SCHEMA.TABLE for physical Snowflake sources, obtained from
mgr.table_reference('orders') or the verified connection configuration.
The data warehouse is compute, not part of this object name. Short names are
valid Snowflake syntax but are rejected by the course analytical-query policy
so execution and evaluation use the same explicit source. CTE aliases stay
unqualified. On rejection, correct the reference and retry once; never change
the intended source or disable the guard. Use Snowflake dialect:
DATE_TRUNC('month', col), etc. — or get_dialect("snowflake") from
helpers/data/sql_dialect.py.
Before trusting any number, confirm:
mgr.connection_type returns snowflake (if it prints duckdb, the
opt-in didn't take — re-check that export AAP_USE_REMOTE=1 ran in the same
command).SELECT CURRENT_ACCOUNT(), CURRENT_WAREHOUSE(), CURRENT_DATABASE(), CURRENT_SCHEMA()
returns the account, warehouse, database, and schema from your own connection
config (.env / connection_templates/) — compare against what you expect,
never assume.Always tell the user which source is live.
ConnectionManager.query() auto-logs at execution by default — that covers
the requirement. If you query some other way (raw connector, MCP), log manually:
python3 scripts/log_query.py --dataset {active} --agent ad-hoc \
--purpose "..." --sql "..." --result "..."export AAP_USE_REMOTE=1 and the python3 call must share one Bash
command (&&), or the flag is lost and you silently get DuckDB..knowledge/datasets/{active}/quirks.md before trusting edge columns.-W ignore + warnings.filterwarnings('ignore') as shown.snowflake-connector-python (pip install -e ".[warehouses]"; see the
/setup-snowflake prerequisite)..env as SNOWFLAKE_TOKEN; a legacy password uses
SNOWFLAKE_PASSWORD. Account, user, warehouse, database, schema, and role live in the dataset
manifest. Never echo or cat .env.Unset the opt-in: unset AAP_USE_REMOTE for the shell, and/or set
use_remote: false in .knowledge/active.yaml. connection_type will then
report duckdb.
© ai-analyst-lab, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/connect-snowflake of ai-analyst-lab/ai-analyst.
Open the folder on GitHubat commit 52c0744
Connect Snowflake next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Connect Snowflake this skillai-analyst-lab/ai-analyst | 304 | — | ~1.4k | Automated safety check: Notes | MIT | |
| Ade Bench Cross DB Tasksdbt-labs/ade-bench | 125 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Rocky Configrocky-data/rocky | 304 | — | ~6.9k | Automated safety check: Pass | Apache-2.0 | |
| Webapp Buildersidequery/sidemantic | 129 | — | ~5.5k | Automated safety check: Pass | AGPL-3.0 | |
| Modelersidequery/sidemantic | 129 | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Altimate Data Warehouse DelegateAltimateAI/data-engineering-skills | 128 | — | ~1.4k | Automated safety check: Pass | MIT |
dbt-labs/ade-bench
A skill your agent uses when authoring or debugging ade-bench tasks that must run on both DuckDB and Snowflake, including shared project migrations, setup patches, and solution patches
rocky-data/rocky
Canonical rocky.toml authoring reference. An agent skill from rocky-data/rocky.
sidequery/sidemantic
Build interactive analytics webapps, demos, dashboards, or embedded app surfaces from Sidemantic semantic models using copyable component primitives and deterministic query inspection.
sidequery/sidemantic
Build, validate, and manage semantic models using Sidemantic.
AltimateAI/data-engineering-skills
Delegates dbt and warehouse tasks such as lineage, migrations and cost attribution to the altimate-code CLI agent and relays its answer back.
sidequery/sidemantic
Answer analytical, KPI, metric, trend, cohort, and business-performance questions through a Sidemantic semantic layer.
ai-analyst-lab/ai-analyst
Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available.
ai-analyst-lab/ai-analyst
Retrieve proven SQL patterns, table cheatsheets, and join patterns from .knowledge/query-archaeology/ so past work gets reused.
ai-analyst-lab/ai-analyst
Save completed analyses to the knowledge system's analysis archive for future reference.
ai-analyst-lab/ai-analyst
Verify Google Workspace MCP authentication at the start of any session that needs Google APIs (Docs, Slides, Drive).
ai-analyst-lab/ai-analyst
Causal inference toolkit for when experiments are not possible: estimate treatment effects from observational data with assumption checks and mandatory caveats.
ai-analyst-lab/ai-analyst
Standardized workflow for uploading local chart PNGs to Google Drive and making them available for insertion into Google Docs and Slides.
Categories
Query the live/remote Snowflake warehouse instead of the local practice copy. Connect Snowflake is an agent skill from ai-analyst-lab/ai-analyst. Query the live/remote Snowflake warehouse instead of the local practice copy.
Connect Snowflake fits situations like: the user says connect to snowflake; use the live data; query the warehouse; asks is this hitting snowflake.
Run `npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a claude-code`. Or copy the skill folder (.claude/skills/connect-snowflake in ai-analyst-lab/ai-analyst) into .claude/skills/connect-snowflake in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a codex`. Or copy the skill folder (.claude/skills/connect-snowflake in ai-analyst-lab/ai-analyst) into .agents/skills/connect-snowflake in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ai-analyst-lab/ai-analyst --skill connect-snowflake -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/connect-snowflake, .gemini/skills/connect-snowflake, .github/skills/connect-snowflake and .opencode/skills/connect-snowflake in your project.
Going by SKILL.md and its folder, Connect Snowflake needs the command-line tools its instructions call (python3 and pip) and credentials named SNOWFLAKE_TOKEN and SNOWFLAKE_PASSWORD. Our summary lists: Python 3; A credential in SNOWFLAKE_TOKEN.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Connect Snowflake is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Connect Snowflake: Ade Bench Cross DB Tasks (dbt-labs/ade-bench, 125 stars), Rocky Config (rocky-data/rocky, 304 stars), Webapp Builder (sidequery/sidemantic, 129 stars) and Modeler (sidequery/sidemantic, 129 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ai-analyst-lab (a GitHub organization) maintains it in ai-analyst-lab/ai-analyst, which has 304 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on September 30, 2026.
Source: ai-analyst-lab/ai-analyst on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.