Agent skill

Snowflake Development

by sickn33 in 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…

MITAuto-check passedDatabases

Install Snowflake Development

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill snowflake-development -a claude-code

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

GitHub CLI
$ gh skill install sickn33/agentic-awesome-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/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/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
47k
Used in
2 other repos
Token cost
~2.1k tokens
SKILL.md length
642 words
Files
1
Skills in repo
1,354
Repo updated
First seen
Licence
MIT

At a glance

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

  • Tasks that involve Data warehousing
  • SKILL.md covers When to Use, SQL Best Practices, Data Pipelines and Cortex AI, plus 6 more sections
  • Needs SNOWFLAKE_PASSWORD
  • Tasks that involve Data pipelines and ETL

What it does

Snowflake Development is an agent skill from 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 integration, performance tuning, and security hardening.

Its SKILL.md is about 2.1k 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, Data pipelines and ETL and SQL. It works with Snowflake, SQL, Python and dbt. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

When your agent uses it

  • Tasks that involve Data warehousing
  • Tasks that involve Data pipelines and ETL
  • Tasks that involve SQL

Example prompts

  • “/snowflake-development”

Requirements

  • Python 3

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are sql and python).

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

  • Network

    No URLs in SKILL.md.

    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 2.1k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 642 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from sickn33/agentic-awesome-skills at commit ec02547, republished under its MIT licence (© sickn33). 642 words, ~2,082 tokens.

Download SKILL.mdSave it as .claude/skills/snowflake-development/SKILL.md (or your agent's skills folder).
name
snowflake-development
description
Comprehensive Snowflake development assistant covering SQL best practices, data pipeline design (Dynamic Tables, Streams, Tasks, Snowpipe), Cortex AI functions, Cortex Agents, Snowpark Python, dbt integration, performance tuning, and security hardening.
category
data-engineering
risk
safe
source
community
date_added
2026-03-24

Snowflake Development

You are a Snowflake development expert. Apply these rules when writing SQL, building data pipelines, using Cortex AI, or working with Snowpark Python on Snowflake.

When to Use

  • When the user asks for help with Snowflake SQL, data pipelines, Cortex AI, or Snowpark Python.
  • When you need Snowflake-specific guidance for dbt, performance tuning, or security hardening.

SQL Best Practices

Naming and Style
  • Use snake_case for all identifiers. Avoid double-quoted identifiers — they create case-sensitive names requiring 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).
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 raises "invalid identifier" errors.

BAD:

sql
CREATE PROCEDURE my_proc(p_id INT) RETURNS STRING LANGUAGE SQL AS
BEGIN
    LET result STRING;
    SELECT name INTO result FROM users WHERE id = p_id;
    RETURN result;
END;

GOOD:

sql
CREATE PROCEDURE my_proc(p_id INT) RETURNS STRING LANGUAGE SQL AS
BEGIN
    LET result STRING;
    SELECT name INTO :result FROM users WHERE id = :p_id;
    RETURN result;
END;
Semi-Structured Data
  • VARIANT, OBJECT, ARRAY for JSON/Avro/Parquet/ORC.
  • Access nested fields: src:customer.name::STRING. Always cast: src:price::NUMBER(10,2).
  • VARIANT null vs SQL NULL: JSON null is stored as "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());

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.
SnowpipeContinuous file loading from 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 top, looser at bottom.
  • Incremental DTs cannot depend on Full refresh DTs.
  • SELECT * breaks on schema changes — use explicit column lists.
  • Change tracking must stay enabled on base tables.
  • Views cannot sit between two Dynamic Tables.
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;

Cortex AI

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

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

TO_FILE — Common Error Source

Stage path and filename are SEPARATE arguments:

sql
-- BAD: TO_FILE('@stage/file.pdf')
-- GOOD:
TO_FILE('@db.schema.mystage', 'invoice.pdf')
Use AI_CLASSIFY for Classification (Not AI_COMPLETE)
sql
SELECT AI_CLASSIFY(ticket_text,
    ['billing', 'technical', 'account']):labels[0]::VARCHAR AS category
FROM tickets;
Cortex Agents
sql
CREATE OR REPLACE AGENT my_db.my_schema.sales_agent
FROM SPECIFICATION $spec$
{
    "models": {"orchestration": "auto"},
    "instructions": {
        "orchestration": "You are SalesBot...",
        "response": "Be concise."
    },
    "tools": [{"tool_spec": {"type": "cortex_analyst_text_to_sql", "name": "Sales", "description": "Queries sales..."}}],
    "tool_resources": {"Sales": {"semantic_model_file": "@stage/model.yaml"}}
}
$spec$;

Agent rules:

  • Use $spec$ delimiter (not $$).
  • models must be an object, not an array.
  • tool_resources is a separate top-level object, not nested inside tools.
  • Do NOT include empty/null values in edit specs — clears existing values.
  • Tool descriptions are the #1 quality factor.
  • Never modify production agents directly — clone first.
Show full SKILL.md (250 more words)Show less

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.
  • DataFrames are lazy — executed on collect()/show().
  • Do NOT use collect() on large DataFrames — process server-side.
  • Use vectorized UDFs (10-100x faster) for batch/ML workloads instead of scalar UDFs.

dbt on Snowflake

Dynamic table materialization (streaming/near-real-time marts):

sql
{{ config(materialized='dynamic_table', snowflake_warehouse='transforming', target_lag='1 hour') }}

Incremental materialization (large fact tables):

sql
{{ config(materialized='incremental', unique_key='event_id') }}

Snowflake-specific configs (combine with any materialization):

sql
{{ 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/near-real-time marts.

Performance

  • Cluster keys: Only multi-TB tables, on WHERE/JOIN/GROUP BY columns.
  • Search Optimization: ALTER TABLE t ADD SEARCH OPTIMIZATION ON EQUALITY(col);
  • Warehouse sizing: Start X-Small, scale up. AUTO_SUSPEND = 60, AUTO_RESUME = TRUE.
  • Separate warehouses per workload.
  • Estimate AI costs first: SELECT SUM(AI_COUNT_TOKENS('claude-4-sonnet', text)) FROM table;

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.

Common Error Patterns

ErrorCauseFix
"Object does not exist"Wrong context or missing grantsFully qualify names, check grants
"Invalid identifier" in procMissing colon prefixUse :variable_name
"Numeric value not recognized"VARIANT not castsrc:field::NUMBER(10,2)
Task not runningForgot to resumeALTER TASK ... RESUME
DT refresh failingSchema change or tracking disabledUse explicit columns, check change tracking

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

© sickn33, MIT. 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 skills/snowflake-development of sickn33/agentic-awesome-skills.

Open the folder on GitHubat commit ec02547

Used in 2 other repositories

We found 11 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

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 skillsickn33/agentic-awesome-skills47k2 repos~2.1kAutomated safety check: PassMIT
Snowflake Developmentalirezarezvani/claude-skills28k—~3.2kAutomated 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

    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…

    28k GitHub stars~3.2k tokensUpdated 1 mo ago
    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 sickn33/agentic-awesome-skills

All 1,354 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed
  • Content Creator

    sickn33/agentic-awesome-skills

    Drafts and reviews audience-specific content from supplied brand examples, with local scripts for brand voice and SEO diagnostics, channel templates and a content calendar.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed

Questions about Snowflake Development

What does Snowflake Development do?

Comprehensive Snowflake development assistant covering SQL best practices, data pipeline design (Dynamic Tables, Streams, Tasks, Snowpipe), Cortex AI functions, Cortex Agents, Snowpark Python, dbt…. Snowflake Development is an agent skill from 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 integration, performance tuning, and security hardening.

When should I use Snowflake Development?

Snowflake Development fits situations like: tasks that involve Data warehousing; tasks that involve Data pipelines and ETL; tasks that involve SQL.

How do I install Snowflake Development in Claude Code?

Run `npx skills add sickn33/agentic-awesome-skills --skill snowflake-development -a claude-code`. Or copy the skill folder (skills/snowflake-development in sickn33/agentic-awesome-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 sickn33/agentic-awesome-skills --skill snowflake-development -a codex`. Or copy the skill folder (skills/snowflake-development in sickn33/agentic-awesome-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 sickn33/agentic-awesome-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 credentials named SNOWFLAKE_PASSWORD. Our summary lists: Python 3.

Does Snowflake Development access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. Review the folder before installing.

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 2.1k tokens (SKILL.md is roughly 8.3k 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 Snowflake Development?

Skills that share tags, products or a category with Snowflake Development: Snowflake Development (alirezarezvani/claude-skills, 28k 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?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,343 GitHub stars. The repository holds 1,354 skills in this directory. The repository was last updated on October 7, 2026.

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