Snowflake Development
A comprehensive skill for Snowflake development covering SQL best practices, data pipelines (Dynamic Tables, Streams/Tasks), Cortex AI functions, Snowpark Python, dbt configuration, performance tuning, and security. It provides templates, anti-patterns, and troubleshooting guidance to help developers write efficient and correct Snowflake code.
✨ What it does
- Enforces colon-prefix rule for variables in stored procedures.
- Provides templates for MERGE upserts, Dynamic Tables, and RBAC grants via a helper script.
- Lists deprecated Cortex functions and their AI_* replacements.
- Highlights common anti-patterns like SELECT * in Dynamic Tables and hardcoded credentials.
- Includes proactive triggers to flag issues like missing colon prefixes or deprecated functions.
- Offers troubleshooting tables for common errors and debugging workflows.
🎯 When to use it
- Writing or reviewing Snowflake SQL, including stored procedures, MERGE statements, or semi-structured data queries.
- Building data pipelines with Dynamic Tables, Streams/Tasks, or Snowpipe.
- Using Cortex AI functions or creating Cortex Agents.
- Writing Snowpark Python code or configuring dbt models for Snowflake.
- Troubleshooting Snowflake errors or optimizing query performance.
🚀 How to use
Trigger by asking for help with Snowflake SQL, pipelines, Cortex AI, Snowpark, or dbt. The skill provides guidance and templates. You can also run the helper script for quick templates. Example prompts:
Help me write a MERGE statement to upsert data into a Snowflake table.
How do I create a Dynamic Table for near-real-time transformations?
📄 Output: Guidance, code templates, and best practices for Snowflake development.
📦 Add this skill to Claude Code
# 1. Get the skills repo
git clone --depth 1 https://github.com/alirezarezvani/claude-skills /tmp/claude-skills
# 2. Copy this skill into your project (or ~/.claude/skills for all projects)
mkdir -p .claude/skills
cp -r /tmp/claude-skills/engineering-team/snowflake-development/skills/snowflake-development .claude/skills/snowflake-developmentSkill source: engineering-team/snowflake-development/skills/snowflake-development/SKILL.md
⚠️ Good to know
Assumes familiarity with Snowflake concepts; does not replace official documentation.
❓ FAQ
What is the colon-prefix rule?
In SQL stored procedures, variables and parameters must be prefixed with a colon (:) inside SQL statements to avoid being treated as column identifiers.
Why should I avoid SELECT * in Dynamic Tables?
SELECT * breaks on upstream schema changes, causing silent failures. Use explicit column lists to ensure stability.
What should I do if a task is not running?
Tasks start SUSPENDED after creation. You must resume them with ALTER TASK task_name RESUME;.
🤖 Overview, features, install steps and FAQ were generated from the project's SKILL.md on Sep 4, 2026. Always check the original source before running commands.