Agent skill

Setup Snowflake

by openshift-eng in openshift-eng/ai-helpers

This skill should be used before any Snowflake command to verify MCP connectivity, guide users through access provisioning, and set the session context.

Apache-2.0Auto-check: notesDatabases

Install Setup Snowflake

skills CLI
$ npx skills add openshift-eng/ai-helpers --skill setup-snowflake -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openshift-eng/ai-helpers setup-snowflake --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/snowflake/skills/setup-snowflake .claude/skills/setup-snowflake && rm -rf skills-src

Use ~/.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/

Facts

Skill name
setup-snowflake
GitHub stars
120
Token cost
~1.9k tokens
SKILL.md length
894 words
Files
1
Skills in repo
118
Repo updated
First seen
Licence
Apache-2.0

At a glance

This skill should be used before any Snowflake command to verify MCP connectivity, guide users through access provisioning, and set the session context.

  • Works in 4 steps: Check MCP Availability → Automated Setup → Set Session Context → …
  • Tasks that involve Data warehousing
  • SKILL.md covers When to Use This Skill, Implementation Steps, Error Handling and Notes
  • Calls curl, sh and dnf; reaches astral.sh and github.com

What it does

Setup Snowflake is an agent skill from openshift-eng/ai-helpers. This skill should be used before any Snowflake command to verify MCP connectivity, guide users through access provisioning, and set the session context. Invoke this skill proactively whenever a command needs Snowflake data access.

Its SKILL.md is about 1.9k 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 Model Context Protocol. The repository describes itself as: Developer productivity tools for Claude Code & other AI assistants. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Data warehousing

Example prompts

  • “/setup-snowflake”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Check MCP Availability
  2. Automated Setup
  3. Set Session Context
  4. Verify Data Access

What it can do on your machine

Read from SKILL.md and the folder at commit a627176. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • sh
    • dnf
    • brew

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • astral.sh
    • github.com

    Also links to:

    • dataverse.pages.redhat.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Setup Snowflake loads about 1.9k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 894 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePipes a well-known installer script into a shellSKILL.md:54
    curl -LsSf https://astral.sh/uv/install.sh | sh
  • NotePipes a well-known installer script into a shellSKILL.md:184
    ure**: Suggest manual installation via `curl -LsSf https://astral.sh/uv/install.sh | sh`

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.

SKILL.md

The full file from openshift-eng/ai-helpers at commit a627176, republished under its Apache-2.0 licence (© openshift-eng). 894 words, ~1,900 tokens.

Download SKILL.mdSave it as .claude/skills/setup-snowflake/SKILL.md (or your agent's skills folder).
name
setup-snowflake
description
This skill should be used before any Snowflake command to verify MCP connectivity, guide users through access provisioning, and set the session context. Invoke this skill proactively whenever a command needs Snowflake data access.

Setup Snowflake Connection

This skill verifies that the Snowflake MCP server is available and can execute queries. If it is not, it performs automated setup -- the user only needs to provide their Snowflake username. This skill should be invoked at the start of every command that needs Snowflake data.

When to Use This Skill

Use this skill automatically at the beginning of any Snowflake-dependent command (e.g., /snowflake:activity-type-report). Do not skip this step -- it ensures the user has a working connection before any queries are attempted.

Implementation Steps

Step 1: Check MCP Availability

Attempt to call the Snowflake MCP tool to verify it exists:

text
mcp__snowflake__execute_sql(query="SELECT CURRENT_USER()")

If the tool is available and succeeds, proceed to Step 3.

If the tool is not available (MCP server not configured) or the call fails because the server cannot start, proceed to Step 2.

Step 2: Automated Setup

When the Snowflake MCP server is not available, perform the following sub-steps. Each sub-step is idempotent -- skip it if the expected state already exists.

2a: Ensure uvx Is Installed

Use the Bash tool to check if uvx is available:

bash
which uvx

If uvx is not found, tell the user:

The Snowflake MCP server requires uvx (part of the uv Python package manager). I need to install it.

Then install it (after the user grants permission). Use the appropriate method for the platform:

bash
# Fedora/RHEL
dnf install -y uv

# macOS
brew install uv

# Other
curl -LsSf https://astral.sh/uv/install.sh | sh
2b: Ask for Snowflake Username

Ask the user for their Snowflake username. It must be in ALL CAPS (e.g., BLEANHAR). Say:

What is your Snowflake username? It should be in ALL CAPS (e.g., BLEANHAR).

If you don't have Snowflake access yet, follow the instructions at: https://dataverse.pages.redhat.com/data-docs/data-users/

Once you have access, come back and re-run this command.

Wait for the user to provide the username before proceeding. If they indicate they don't have access, stop setup and inform them to re-run the command after obtaining access.

2c: Write Snowflake Connection Config

First check if ~/.snowflake/connections.toml already exists with a [rhprod] section containing the correct username. If it does, skip this step.

Otherwise:

  1. Create the directory if needed:
bash
mkdir -p ~/.snowflake
  1. Use the Write tool to create ~/.snowflake/connections.toml (replacing THE_USERNAME with the username from Step 2b):
toml
[rhprod]
account = "GDADCLC-RHPROD"
user = "THE_USERNAME"
authenticator = "EXTERNALBROWSER"
  1. Set secure permissions:
bash
chmod 0600 ~/.snowflake/connections.toml
2d: Write Service Config

Check if ~/.snowflake/service_config.yaml already exists. If it does with the correct content, skip this step.

Otherwise, use the Write tool to create ~/.snowflake/service_config.yaml:

yaml
other_services:
  object_manager: true
  query_manager: true
sql_statement_permissions:
  - all: true
2e: Add MCP Server to Claude Code Config

Read ~/.claude.json and check whether mcpServers.snowflake already exists with the correct configuration (including --service-config-file). If it already matches, skip this step.

Otherwise, use the Edit tool to add or update the mcpServers.snowflake entry in ~/.claude.json. The entry should be:

json
{
  "type": "stdio",
  "command": "uvx",
  "args": [
    "--from", "git+https://github.com/Snowflake-Labs/mcp",
    "mcp-server-snowflake",
    "--connection-name", "rhprod",
    "--service-config-file", "~/.snowflake/service_config.yaml"
  ],
  "env": {}
}

If mcpServers does not exist as a top-level key in ~/.claude.json, create it. If it exists but does not contain snowflake, add the snowflake key. If snowflake exists but has incorrect or outdated configuration (e.g., missing --service-config-file), update it.

Important: Preserve all other existing content in ~/.claude.json. Only add or modify the mcpServers.snowflake key.

2f: Instruct User to Restart

After completing steps 2a-2e, tell the user:

Snowflake MCP server has been configured. You need to restart Claude Code for the new MCP server to be loaded.

After restarting, re-run your command and setup will complete automatically (browser-based SSO will open for authentication on first connect).

Then stop the current command and inform the user why. Do not attempt to proceed to Step 3 -- the MCP server will not be available until Claude Code restarts.

Show full SKILL.md (328 more words)Show less
Step 3: Set Session Context

Once the MCP tool is confirmed available, set the database, schema, and role for the session:

text
mcp__snowflake__execute_sql(query="USE ROLE PUBLIC")
mcp__snowflake__execute_sql(query="USE DATABASE JIRA_DB")
mcp__snowflake__execute_sql(query="USE SCHEMA CLOUDRHAI_MARTS")

If any of these fail (e.g., role not granted), inform the user:

Your Snowflake account does not have the PUBLIC role. Please request access through the access provisioning process at:

https://dataverse.pages.redhat.com/data-docs/data-users/

Step 4: Verify Data Access

Run a quick verification query to confirm the user can read from the expected views:

sql
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_SCHEMA = 'CLOUDRHAI_MARTS'
ORDER BY TABLE_NAME
LIMIT 5

If this returns results, the connection is verified. Report success and return the list of available views for diagnostic purposes.

If this returns an error or zero rows, warn the user that the schema may not be accessible with their current role.

Note: CLOUDRHAI_MARTS exposes views, not base tables. SHOW TABLES will return nothing — use SHOW VIEWS or query INFORMATION_SCHEMA.VIEWS as above.

Error Handling

  • MCP tool not found: Run automated setup (Step 2)
  • Authentication failure: Suggest running snowsql -a GDADCLC-RHPROD -u YOUR_USERNAME --authenticator externalbrowser to refresh browser-based auth, then retry
  • Role not granted: Point user to access provisioning docs
  • Network timeout: Suggest checking VPN connection (Snowflake may require corporate network access)
  • uvx install failure: Suggest manual installation via curl -LsSf https://astral.sh/uv/install.sh | sh
  • ~/.claude.json parse error: If the file contains invalid JSON, warn the user and do not attempt to modify it. Ask them to fix it manually.

Notes

  • This skill deliberately does NOT hardcode the full access provisioning process. The documentation URLs are the source of truth because the provisioning process may change over time.
  • The EXTERNALBROWSER authenticator triggers a browser-based SSO flow. This works in local development environments but may not work in headless CI containers.
  • The session context (role, database, schema) must be set per-session. The MCP server does not persist these across restarts.
  • The --service-config-file argument is required for the Snowflake MCP server to enable the query manager and object manager services. Without it, the server fails to start.
  • The connections.toml file must have 0600 permissions or the Snowflake connector will emit warnings.

© openshift-eng, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/snowflake/skills/setup-snowflake of openshift-eng/ai-helpers.

Open the folder on GitHubat commit a627176

Compare with similar skills

Setup 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.

Setup Snowflake compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Setup Snowflake this skillopenshift-eng/ai-helpers120—~1.9kAutomated safety check: NotesApache-2.0
Setup Snowflakeai-analyst-lab/ai-analyst304—~2kAutomated safety check: NotesMIT
Migrating To Amazon Redshiftaws/agent-toolkit-for-aws2.8k—~2.7kAutomated safety check: NotesApache-2.0
Agent BomLeoYeAI/openclaw-master-skills2.2k—~4.4kAutomated safety check: PassApache-2.0
Clickhouse Best Practicesvemetric/vemetric3942 repos~2.6kAutomated safety check: PassApache-2.0
Webapp Buildersidequery/sidemantic129—~5.5kAutomated safety check: PassAGPL-3.0

Similar skills

  • Setup Snowflake

    ai-analyst-lab/ai-analyst

    First-time Snowflake setup wizard for the NATIVE ConnectionManager path (the connection the analyst actually queries through, with auto-logged provenance).

    304 GitHub stars~2k tokensUpdated 6 days ago
    DatabasesAuto-check: notes
  • Migrating To Amazon Redshift

    aws/agent-toolkit-for-aws

    Official

    Guides an end-to-end data-warehouse migration to Amazon Redshift — discovery, schema/SQL/stored-procedure/macro/script conversion, data migration, validation, performance comparison, and reporting.

    2.8k GitHub stars~2.7k tokensUpdated today
    DatabasesAuto-check: notes
  • Agent Bom

    LeoYeAI/openclaw-master-skills

    Open security platform for agentic infrastructure — broad scanning plus MCP discovery, CVEs, blast radius, SBOMs, CIS benchmarks (AWS, Azure, GCP, Snowflake), OWASP/NIST/MITRE compliance, AISVS…

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    SecurityAuto-check passed
  • Clickhouse Best Practices

    vemetric/vemetric

    MUST USE when reviewing ClickHouse schemas, queries, or configurations.

    394 GitHub starsUsed in 2 repos~2.6k tokens
    DatabasesAuto-check passed
  • Webapp Builder

    sidequery/sidemantic

    Build interactive analytics webapps, demos, dashboards, or embedded app surfaces from Sidemantic semantic models using copyable component primitives and deterministic query inspection.

    129 GitHub stars~5.5k tokensUpdated today
    DatabasesAuto-check passed
  • Ade Bench Cross DB Tasks

    dbt-labs/ade-bench

    Official

    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

    125 GitHub stars~2k tokensUpdated 7 days ago
    DatabasesAuto-check passed

More from openshift-eng/ai-helpers

All 118 skills in this repo
  • Investigate CI Reliability

    openshift-eng/ai-helpers

    Find and independently validate actionable reliability defects across OpenShift release jobs and presubmits, then export portable issue handoffs.

    120 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Address Review PR

    openshift-eng/ai-helpers

    Fetch and address all PR review comments — categorize by priority, make code changes, post replies, and push.

    120 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Categorize Activity Types

    openshift-eng/ai-helpers

    Categorize Jira issues into Red Hat Sankey Activity Type categories using MCP Jira tools.

    120 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Has Review Work

    openshift-eng/ai-helpers

    Decide whether a GitHub PR has unanswered authorized review comments or new required CI failures worth a follow-up agent.

    120 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Must Gather Analyzer

    openshift-eng/ai-helpers

    Analyze OpenShift must-gather diagnostic data including cluster operators, pods, nodes, and network components.

    120 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Payload Autodl JSON

    openshift-eng/ai-helpers

    Schema for the autodl JSON data file produced by payload-analysis for database ingestion — you must use this skill whenever generating the autodl JSON file

    120 GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Categories

Questions about Setup Snowflake

What does Setup Snowflake do?

This skill should be used before any Snowflake command to verify MCP connectivity, guide users through access provisioning, and set the session context. Setup Snowflake is an agent skill from openshift-eng/ai-helpers. This skill should be used before any Snowflake command to verify MCP connectivity, guide users through access provisioning, and set the session context.

When should I use Setup Snowflake?

Setup Snowflake fits situations like: tasks that involve Data warehousing.

How do I install Setup Snowflake in Claude Code?

Run `npx skills add openshift-eng/ai-helpers --skill setup-snowflake -a claude-code`. Or copy the skill folder (plugins/snowflake/skills/setup-snowflake in openshift-eng/ai-helpers) into .claude/skills/setup-snowflake in your project. Claude Code loads it when a task matches its description.

How do I install Setup Snowflake in Codex?

Run `npx skills add openshift-eng/ai-helpers --skill setup-snowflake -a codex`. Or copy the skill folder (plugins/snowflake/skills/setup-snowflake in openshift-eng/ai-helpers) into .agents/skills/setup-snowflake in your project. Codex loads it when a task matches its description.

Can I use Setup Snowflake in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openshift-eng/ai-helpers --skill setup-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/setup-snowflake, .gemini/skills/setup-snowflake, .github/skills/setup-snowflake and .opencode/skills/setup-snowflake in your project.

What does Setup Snowflake need to run?

Going by SKILL.md and its folder, Setup Snowflake needs the command-line tools its instructions call (curl, sh, dnf and brew). Our summary lists: Python 3.

Does Setup Snowflake access the network?

SKILL.md names 3 domains. In commands or code: astral.sh and github.com; the agent is likely to contact these when it follows the instructions. As links in the text: dataverse.pages.redhat.com. This is read from the text; nothing was executed.

Is Setup Snowflake safe to install?

Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Setup Snowflake use?

Setup Snowflake is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Setup Snowflake use?

About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Setup Snowflake?

Skills that share tags, products or a category with Setup Snowflake: Setup Snowflake (ai-analyst-lab/ai-analyst, 304 stars), Migrating To Amazon Redshift (aws/agent-toolkit-for-aws, 2.8k stars), Agent Bom (LeoYeAI/openclaw-master-skills, 2.2k stars) and Clickhouse Best Practices (vemetric/vemetric, 394 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Setup Snowflake?

openshift-eng (a GitHub organization) maintains it in openshift-eng/ai-helpers, which has 120 GitHub stars. The repository holds 118 skills in this directory. The repository was last updated on October 6, 2026.

Source: openshift-eng/ai-helpers on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.