Agent skill

Snowflake Development

by alirezarezvani in alirezarezvani/claude-skills

A skill your agent uses when writing Snowflake SQL, building data pipelines with Dynamic Tables or Streams/Tasks, using Cortex AI functions, creating Cortex Agents, writing Snowpark Python…

MITAuto-check passedDatabases

Install Snowflake Development

skills CLI
$ npx skills add alirezarezvani/claude-skills --skill snowflake-development -a claude-code

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

GitHub CLI
$ gh skill install alirezarezvani/claude-skills snowflake-development --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/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/engineering-team/snowflake-development/skills/snowflake-development .claude/skills/snowflake-development && 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
snowflake-development
GitHub stars
28k
Token cost
~3.2k tokens
SKILL.md length
1,159 words
Files
5 (incl. scripts, references)
Skills in repo
342
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing Snowflake SQL, building data pipelines with Dynamic Tables or Streams/Tasks, using Cortex AI functions, creating Cortex Agents, writing Snowpark Python…

  • Works in 5 steps: Stage raw data: Create external stage… → Clean with Dynamic Table: Create DT with… → Aggregate with downstream DT: Second DT… → …
  • Writing Snowflake SQL
  • SKILL.md covers Quick Start, SQL Best Practices, Data Pipelines and Cortex AI, plus 10 more sections
  • Runs Python scripts from its folder; calls python; needs SNOWFLAKE_PASSWORD

What it does

Snowflake Development is an agent skill from alirezarezvani/claude-skills. Use when writing Snowflake SQL, building data pipelines with Dynamic Tables or Streams/Tasks, using Cortex AI functions, creating Cortex Agents, writing Snowpark Python, configuring dbt for Snowflake, or troubleshooting Snowflake errors.

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `references/cortex_ai_and_agents.md`, `references/snowflake_sql_and_pipelines.md` and `references/troubleshooting.md`).

It sits in Databases, covering Data warehousing, Data pipelines and ETL and SQL. It works with Snowflake, SQL, Python and dbt. The repository describes itself as: 380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8… The licence is MIT.

When your agent uses it

  • Writing Snowflake SQL
  • Building data pipelines with Dynamic Tables
  • Using Cortex AI functions
  • Creating Cortex Agents

Example prompts

  • “/snowflake-development”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Stage raw data: Create external stage pointing to S3/GCS/Azure, set up Snowpipe for auto-ingest
  2. Clean with Dynamic Table: Create DT with TARGET_LAG = '5 minutes' that filters nulls, casts types, deduplicates
  3. Aggregate with downstream DT: Second DT that joins cleaned data with dimension tables, computes metrics
  4. Expose via Secure View: Create SECURE VIEW for the BI tool / API layer
  5. Grant access: Use snowflake_query_helper.py grant to generate RBAC statements

What it can do on your machine

Read from SKILL.md and the folder at commit 19392f7. 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

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

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

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SNOWFLAKE_PASSWORD

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

Context cost

Snowflake Development loads about 3.2k tokens when it runs, and up to ~8.4k if it reads all its reference files. Until then it costs about 65 tokens; SKILL.md has 1,159 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.4k

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 passed

The automated check found no risky patterns in SKILL.md.

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); the scripts in this folder are not scanned.

SKILL.md

The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 1,159 words, ~3,196 tokens.

Download SKILL.mdSave it as .claude/skills/snowflake-development/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
snowflake-development
description
Use when writing Snowflake SQL, building data pipelines with Dynamic Tables or Streams/Tasks, using Cortex AI functions, creating Cortex Agents, writing Snowpark Python, configuring dbt for Snowflake, or troubleshooting Snowflake errors.

Snowflake Development

Snowflake SQL, data pipelines, Cortex AI, and Snowpark Python development. Covers the colon-prefix rule, semi-structured data, MERGE upserts, Dynamic Tables, Streams+Tasks, Cortex AI functions, agent specs, performance tuning, and security hardening.

Originally contributed by James Cha-Earley — enhanced and integrated by the claude-skills team.

Quick Start

bash
# Generate a MERGE upsert template
python scripts/snowflake_query_helper.py merge --target customers --source staging_customers --key customer_id --columns name,email,updated_at

# Generate a Dynamic Table template
python scripts/snowflake_query_helper.py dynamic-table --name cleaned_events --warehouse transform_wh --lag "5 minutes"

# Generate RBAC grant statements
python scripts/snowflake_query_helper.py grant --role analyst_role --database analytics --schemas public,staging --privileges SELECT,USAGE

SQL Best Practices

Naming and Style
  • Use snake_case for all identifiers. Avoid double-quoted identifiers -- they force case-sensitive names that require constant quoting.
  • Use CTEs (WITH clauses) over nested subqueries.
  • Use CREATE OR REPLACE for idempotent DDL.
  • Use explicit column lists -- never SELECT * in production. Snowflake's columnar storage scans only referenced columns, so explicit lists reduce I/O.
Stored Procedures -- Colon Prefix Rule

In SQL stored procedures (BEGIN...END blocks), variables and parameters must use the colon : prefix inside SQL statements. Without it, Snowflake treats them as column identifiers and raises "invalid identifier" errors.

sql
-- WRONG: missing colon prefix
SELECT name INTO result FROM users WHERE id = p_id;

-- CORRECT: colon prefix on both variable and parameter
SELECT name INTO :result FROM users WHERE id = :p_id;

This applies to DECLARE variables, LET variables, and procedure parameters when used inside SELECT, INSERT, UPDATE, DELETE, or MERGE.

Semi-Structured Data
  • VARIANT, OBJECT, ARRAY for JSON/Avro/Parquet/ORC.
  • Access nested fields: src:customer.name::STRING. Always cast with ::TYPE.
  • VARIANT null vs SQL NULL: JSON null is stored as the string "null". Use STRIP_NULL_VALUE = TRUE on load.
  • Flatten arrays: SELECT f.value:name::STRING FROM my_table, LATERAL FLATTEN(input => src:items) f;
MERGE for Upserts
sql
MERGE INTO target t USING source s ON t.id = s.id
WHEN MATCHED THEN UPDATE SET t.name = s.name, t.updated_at = CURRENT_TIMESTAMP()
WHEN NOT MATCHED THEN INSERT (id, name, updated_at) VALUES (s.id, s.name, CURRENT_TIMESTAMP());

See references/snowflake_sql_and_pipelines.md for deeper SQL patterns and anti-patterns.


Data Pipelines

Choosing Your Approach
ApproachWhen to Use
Dynamic TablesDeclarative transformations. Default choice. Define the query, Snowflake handles refresh.
Streams + TasksImperative CDC. Use for procedural logic, stored procedure calls, complex branching.
SnowpipeContinuous file loading from cloud storage (S3, GCS, Azure).
Dynamic Tables
sql
CREATE OR REPLACE DYNAMIC TABLE cleaned_events
    TARGET_LAG = '5 minutes'
    WAREHOUSE = transform_wh
    AS
    SELECT event_id, event_type, user_id, event_timestamp
    FROM raw_events
    WHERE event_type IS NOT NULL;

Key rules:

  • Set TARGET_LAG progressively: tighter at the top of the DAG, looser downstream.
  • Incremental DTs cannot depend on Full-refresh DTs.
  • SELECT * breaks on upstream schema changes -- use explicit column lists.
  • Views cannot sit between two Dynamic Tables in the DAG.
Streams and Tasks
sql
CREATE OR REPLACE STREAM raw_stream ON TABLE raw_events;

CREATE OR REPLACE TASK process_events
    WAREHOUSE = transform_wh
    SCHEDULE = 'USING CRON 0 */1 * * * America/Los_Angeles'
    WHEN SYSTEM$STREAM_HAS_DATA('raw_stream')
    AS INSERT INTO cleaned_events SELECT ... FROM raw_stream;

-- Tasks start SUSPENDED. You MUST resume them.
ALTER TASK process_events RESUME;

See references/snowflake_sql_and_pipelines.md for DT debugging queries and Snowpipe patterns.


Cortex AI

Function Reference
FunctionPurpose
AI_COMPLETELLM completion (text, images, documents)
AI_CLASSIFYClassify text into categories (up to 500 labels)
AI_FILTERBoolean filter on text or images
AI_EXTRACTStructured extraction from text/images/documents
AI_SENTIMENTSentiment score (-1 to 1)
AI_PARSE_DOCUMENTOCR or layout extraction from documents
AI_REDACTPII removal from text

Deprecated names (do NOT use): COMPLETE, CLASSIFY_TEXT, EXTRACT_ANSWER, PARSE_DOCUMENT, SUMMARIZE, TRANSLATE, SENTIMENT, EMBED_TEXT_768.

TO_FILE -- Common Pitfall

Stage path and filename are separate arguments:

sql
-- WRONG: single combined argument
TO_FILE('@stage/file.pdf')

-- CORRECT: two arguments
TO_FILE('@db.schema.mystage', 'invoice.pdf')
Cortex Agents

Agent specs use a JSON structure with top-level keys: models, instructions, tools, tool_resources.

  • Use $spec$ delimiter (not $$).
  • models must be an object, not an array.
  • tool_resources is a separate top-level key, not nested inside tools.
  • Tool descriptions are the single biggest factor in agent quality.

See references/cortex_ai_and_agents.md for full agent spec examples and Cortex Search patterns.


Snowpark Python

python
from snowflake.snowpark import Session
import os

session = Session.builder.configs({
    "account": os.environ["SNOWFLAKE_ACCOUNT"],
    "user": os.environ["SNOWFLAKE_USER"],
    "password": os.environ["SNOWFLAKE_PASSWORD"],
    "role": "my_role", "warehouse": "my_wh",
    "database": "my_db", "schema": "my_schema"
}).create()
  • Never hardcode credentials. Use environment variables or key pair auth.
  • DataFrames are lazy -- executed on collect() / show().
  • Do NOT call collect() on large DataFrames. Process server-side with DataFrame operations.
  • Use vectorized UDFs (10-100x faster) for batch and ML workloads.

dbt on Snowflake

sql
-- Dynamic table materialization (streaming/near-real-time marts):
{{ config(materialized='dynamic_table', snowflake_warehouse='transforming', target_lag='1 hour') }}

-- Incremental materialization (large fact tables):
{{ config(materialized='incremental', unique_key='event_id') }}

-- Snowflake-specific configs (combine with any materialization):
{{ config(transient=true, copy_grants=true, query_tag='team_daily') }}
  • Do NOT use {{ this }} without {% if is_incremental() %} guard.
  • Use dynamic_table materialization for streaming or near-real-time marts.

Performance

  • Cluster keys: Only for multi-TB tables. Apply on WHERE / JOIN / GROUP BY columns.
  • Search Optimization: ALTER TABLE t ADD SEARCH OPTIMIZATION ON EQUALITY(col);
  • Warehouse sizing: Start X-Small, scale up. Set AUTO_SUSPEND = 60, AUTO_RESUME = TRUE.
  • Separate warehouses per workload (load, transform, query).

Security

  • Follow least-privilege RBAC. Use database roles for object-level grants.
  • Audit ACCOUNTADMIN regularly: SHOW GRANTS OF ROLE ACCOUNTADMIN;
  • Use network policies for IP allowlisting.
  • Use masking policies for PII columns and row access policies for multi-tenant isolation.

Proactive Triggers

Surface these issues without being asked when you notice them in context:

  • Missing colon prefix in SQL stored procedures -- flag immediately, this causes "invalid identifier" at runtime.
  • SELECT * in Dynamic Tables -- flag as a schema-change time bomb.
  • Deprecated Cortex function names (CLASSIFY_TEXT, SUMMARIZE, etc.) -- suggest the current AI_* equivalents.
  • Task not resumed after creation -- remind that tasks start SUSPENDED.
  • Hardcoded credentials in Snowpark code -- flag as a security risk.

Common Errors

ErrorCauseFix
"Object does not exist"Wrong database/schema context or missing grantsFully qualify names (db.schema.table), check grants
"Invalid identifier" in procedureMissing colon prefix on variableUse :variable_name inside SQL statements
"Numeric value not recognized"VARIANT field not castCast explicitly: src:field::NUMBER(10,2)
Task not runningForgot to resume after creationALTER TASK task_name RESUME;
DT refresh failingSchema change upstream or tracking disabledUse explicit columns, verify change tracking
TO_FILE errorCombined path as single argumentSplit into two args: TO_FILE('@stage', 'file.pdf')

Show full SKILL.md (421 more words)Show less

Practical Workflows

Workflow 1: Build a Reporting Pipeline (30 min)
  1. Stage raw data: Create external stage pointing to S3/GCS/Azure, set up Snowpipe for auto-ingest
  2. Clean with Dynamic Table: Create DT with TARGET_LAG = '5 minutes' that filters nulls, casts types, deduplicates
  3. Aggregate with downstream DT: Second DT that joins cleaned data with dimension tables, computes metrics
  4. Expose via Secure View: Create SECURE VIEW for the BI tool / API layer
  5. Grant access: Use snowflake_query_helper.py grant to generate RBAC statements
Workflow 2: Add AI Classification to Existing Data
  1. Identify the column: Find the text column to classify (e.g., support tickets, reviews)
  2. Test with AI_CLASSIFY: SELECT AI_CLASSIFY(text_col, ['bug', 'feature', 'question']) FROM table LIMIT 10;
  3. Create enrichment DT: Dynamic Table that runs AI_CLASSIFY on new rows automatically
  4. Monitor costs: Cortex AI is billed per token — sample before running on full tables
Workflow 3: Debug a Failing Pipeline
  1. Check task history: SELECT * FROM TABLE(INFORMATION_SCHEMA.TASK_HISTORY()) WHERE STATE = 'FAILED' ORDER BY SCHEDULED_TIME DESC;
  2. Check DT refresh: SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY('my_dt')) ORDER BY REFRESH_END_TIME DESC;
  3. Check stream staleness: SHOW STREAMS; -- check stale_after column
  4. Consult troubleshooting reference: See references/troubleshooting.md for error-specific fixes

Anti-Patterns

Anti-PatternWhy It FailsBetter Approach
SELECT * in Dynamic TablesSchema changes upstream break the DT silentlyUse explicit column lists
Missing colon prefix in procedures"Invalid identifier" runtime errorAlways use :variable_name in SQL blocks
Single warehouse for all workloadsContention between load, transform, and querySeparate warehouses per workload type
Hardcoded credentials in SnowparkSecurity risk, breaks in CI/CDUse os.environ[] or key pair auth
collect() on large DataFramesPulls entire result set to client memoryProcess server-side with DataFrame operations
Nested subqueries instead of CTEsUnreadable, hard to debug, Snowflake optimizes CTEs betterUse WITH clauses
Using deprecated Cortex functionsCLASSIFY_TEXT, SUMMARIZE etc. will be removedUse AI_CLASSIFY, AI_COMPLETE etc.
Tasks without WHEN SYSTEM$STREAM_HAS_DATATask runs on schedule even with no new data, wasting creditsAdd the WHEN clause for stream-driven tasks
Double-quoted identifiersForces case-sensitive names across all queriesUse snake_case unquoted identifiers

Cross-References

SkillRelationship
engineering/sql-database-assistantGeneral SQL patterns — use for non-Snowflake databases
engineering/database-designerSchema design — use for data modeling before Snowflake implementation
engineering-team/senior-data-engineerBroader data engineering — pipelines, Spark, Airflow, data quality
engineering-team/senior-data-scientistAnalytics and ML — use alongside Snowpark for feature engineering
engineering-team/senior-devopsCI/CD for Snowflake deployments (Terraform, GitHub Actions)

Reference Documentation

DocumentContents
references/snowflake_sql_and_pipelines.mdSQL patterns, MERGE templates, Dynamic Table debugging, Snowpipe, anti-patterns
references/cortex_ai_and_agents.mdCortex AI functions, agent spec structure, Cortex Search, Snowpark
references/troubleshooting.mdError reference, debugging queries, common fixes

© alirezarezvani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts, references) in engineering-team/snowflake-development/skills/snowflake-development of alirezarezvani/claude-skills.

  • SKILL.md
  • references/cortex_ai_and_agents.md
  • references/snowflake_sql_and_pipelines.md
  • references/troubleshooting.md
  • scripts/snowflake_query_helper.py

Open the folder on GitHubat commit 19392f7

Compare with similar skills

Snowflake Development 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.

Snowflake Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Snowflake Development this skillalirezarezvani/claude-skills28k—~3.2kAutomated safety check: PassMIT
Snowflake Developmentsickn33/agentic-awesome-skills47k2 repos~2.1kAutomated safety check: PassMIT
Uipath Process MiningUiPath/skills167—~4.3kAutomated safety check: NotesMIT
Modelersidequery/sidemantic129—~4.2kAutomated safety check: PassApache-2.0
Data Warehouse Experimentationrampstackco/claude-skills940—~7.3kAutomated safety check: PassMIT
dbt Snowflake to BigQuery Translatorgoogle/skills21k—~2.7kAutomated safety check: PassApache-2.0

Similar skills

  • Snowflake Development

    sickn33/agentic-awesome-skills

    Comprehensive Snowflake development assistant covering SQL best practices, data pipeline design (Dynamic Tables, Streams, Tasks, Snowpipe), Cortex AI functions, Cortex Agents, Snowpark Python, dbt…

    47k GitHub starsUsed in 2 repos~2.1k tokens
    DatabasesAuto-check passed
  • UiPath Process Mining via uip pm — build and operate a process app end-to-end from a CSV / event log: templates, data mapping, upload, ingest, the dbt (Snowflake) transformation layer, publish, and…

    167 GitHub stars~4.3k tokensUpdated today
    DatabasesAuto-check: notes
  • Modeler

    sidequery/sidemantic

    Build, validate, and manage semantic models using Sidemantic.

    129 GitHub stars~4.2k tokensUpdated today
    DatabasesAuto-check passed
  • Data Warehouse Experimentation

    rampstackco/claude-skills

    Running experiments out of the data warehouse instead of via dedicated experiment platforms.

    940 GitHub stars~7.3k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Translates Snowflake dbt SQL models into standardized BigQuery SQL, keeping Jinja constructs and tracking progress in a migration tasks file.

    21k GitHub stars~2.7k tokensUpdated today
    DatabasesAuto-check passed
  • Analytics Engineer

    borghei/Claude-Skills

    Analytics engineering across data modeling, dbt, transformation, and semantic layers.

    881 GitHub stars~3.4k tokensUpdated today
    Data & AnalyticsAuto-check passed

More from alirezarezvani/claude-skills

All 342 skills in this repo
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Auto-check passed
  • Product Strategist

    alirezarezvani/claude-skills

    OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.

    28k GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • App Store Optimization

    alirezarezvani/claude-skills

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.

    28k GitHub starsUsed in 1 repo~4.2k tokens
    Auto-check passed
  • AWS Solution Architect

    alirezarezvani/claude-skills

    Design AWS architectures for startups using serverless patterns and IaC templates.

    28k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Campaign Analytics

    alirezarezvani/claude-skills

    Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.

    28k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Code to PRD

    alirezarezvani/claude-skills

    Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.

    28k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check passed

Questions about Snowflake Development

What does Snowflake Development do?

A skill your agent uses when writing Snowflake SQL, building data pipelines with Dynamic Tables or Streams/Tasks, using Cortex AI functions, creating Cortex Agents, writing Snowpark Python…. Snowflake Development is an agent skill from alirezarezvani/claude-skills. Use when writing Snowflake SQL, building data pipelines with Dynamic Tables or Streams/Tasks, using Cortex AI functions, creating Cortex Agents, writing Snowpark Python, configuring dbt for Snowflake, or troubleshooting Snowflake errors.

When should I use Snowflake Development?

Snowflake Development fits situations like: writing Snowflake SQL; building data pipelines with Dynamic Tables; using Cortex AI functions; creating Cortex Agents.

How do I install Snowflake Development in Claude Code?

Run `npx skills add alirezarezvani/claude-skills --skill snowflake-development -a claude-code`. Or copy the skill folder (engineering-team/snowflake-development/skills/snowflake-development in alirezarezvani/claude-skills) into .claude/skills/snowflake-development in your project. Claude Code loads it when a task matches its description.

How do I install Snowflake Development in Codex?

Run `npx skills add alirezarezvani/claude-skills --skill snowflake-development -a codex`. Or copy the skill folder (engineering-team/snowflake-development/skills/snowflake-development in alirezarezvani/claude-skills) into .agents/skills/snowflake-development in your project. Codex loads it when a task matches its description.

Can I use Snowflake Development 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 alirezarezvani/claude-skills --skill snowflake-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/snowflake-development, .gemini/skills/snowflake-development, .github/skills/snowflake-development and .opencode/skills/snowflake-development in your project.

What does Snowflake Development need to run?

Going by SKILL.md and its folder, Snowflake Development needs Python for the scripts in its folder, the command-line tools its instructions call (python) and credentials named SNOWFLAKE_PASSWORD. Our summary lists: Python 3.

Does Snowflake Development access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Snowflake Development safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Snowflake Development use?

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

How many tokens does Snowflake Development use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.2k tokens, read only when the agent opens those files.

What are the alternatives to Snowflake Development?

Skills that share tags, products or a category with Snowflake Development: Snowflake Development (sickn33/agentic-awesome-skills, 47k stars), Uipath Process Mining (UiPath/skills, 167 stars), Modeler (sidequery/sidemantic, 129 stars) and Data Warehouse Experimentation (rampstackco/claude-skills, 940 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Snowflake Development?

alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,829 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.

Source: alirezarezvani/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.