snowflake-development
Installation
SKILL.md
Snowflake Development
Category: Engineering Domain: Data Warehouse
Overview
The Snowflake Development skill provides tools for analyzing and optimizing Snowflake SQL queries, recommending warehouse sizing, and enforcing Snowflake-specific best practices. Helps data engineers reduce costs and improve query performance.
Quick Start
# Analyze a Snowflake SQL file for optimization opportunities
python scripts/snowflake_query_helper.py --file queries.sql --action analyze
# Get warehouse sizing recommendations
python scripts/snowflake_query_helper.py --action warehouse-sizing --workload "etl" --data-volume "500GB"
# Optimize a specific query
python scripts/snowflake_query_helper.py --file slow_query.sql --action optimize
Tools Overview
| Tool | Purpose | Key Flags |
|---|---|---|
snowflake_query_helper.py |
Analyze, optimize Snowflake SQL and recommend warehouse sizes | --file, --action, --workload, --data-volume |
Workflows
Query Performance Optimization
- Collect slow queries from query history
- Run analyzer to identify optimization opportunities
- Apply recommended changes
- Compare before/after execution plans
Warehouse Right-Sizing
- Identify workload type (ETL, BI, ad-hoc, etc.)
- Run warehouse-sizing with data volume
- Review recommendations
- Implement multi-cluster settings if applicable
Reference Documentation
- Snowflake Best Practices - Query patterns, warehouse management, cost optimization
Common Patterns
Cost Reduction
- Right-size warehouses (don't use XL for small queries)
- Set auto-suspend to 60 seconds for ad-hoc warehouses
- Use materialized views for frequently accessed aggregations
- Partition large tables with clustering keys
- Avoid SELECT * in production queries