From snowflake-pack
Executes Snowflake production readiness checklist for data pipelines, covering auth, warehouses, monitoring, rollback, and performance validation. Use before go-live deployments.
How this skill is triggered — by the user, by Claude, or both
Slash command
/snowflake-pack:snowflake-prod-checklistThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Complete checklist for deploying Snowflake data pipelines and integrations to production.
Complete checklist for deploying Snowflake data pipelines and integrations to production.
-- Production warehouse setup
CREATE WAREHOUSE IF NOT EXISTS PROD_ETL_WH
WAREHOUSE_SIZE = 'LARGE'
AUTO_SUSPEND = 120
AUTO_RESUME = TRUE;
CREATE WAREHOUSE IF NOT EXISTS PROD_ANALYTICS_WH
WAREHOUSE_SIZE = 'MEDIUM'
MIN_CLUSTER_COUNT = 1
MAX_CLUSTER_COUNT = 3
SCALING_POLICY = 'STANDARD'
AUTO_SUSPEND = 300
AUTO_RESUME = TRUE;
-- Resource monitor with alerts
CREATE OR REPLACE RESOURCE MONITOR prod_monitor
WITH CREDIT_QUOTA = 1000
FREQUENCY = MONTHLY
START_TIMESTAMP = IMMEDIATELY
TRIGGERS
ON 75 PERCENT DO NOTIFY
ON 90 PERCENT DO NOTIFY
ON 100 PERCENT DO SUSPEND
ON 110 PERCENT DO SUSPEND_IMMEDIATE;
ALTER WAREHOUSE PROD_ETL_WH SET RESOURCE_MONITOR = prod_monitor;
ALTER WAREHOUSE PROD_ANALYTICS_WH SET RESOURCE_MONITOR = prod_monitor;
SHOW STREAMS)ON_ERROR = 'CONTINUE' or 'SKIP_FILE')DATA_RETENTION_TIME_IN_DAYS)USE_CACHED_RESULT = TRUE)-- Set statement timeout for production
ALTER WAREHOUSE PROD_ETL_WH SET STATEMENT_TIMEOUT_IN_SECONDS = 3600;
ALTER WAREHOUSE PROD_ANALYTICS_WH SET STATEMENT_TIMEOUT_IN_SECONDS = 600;
-- Enable query result caching (default is ON)
ALTER ACCOUNT SET USE_CACHED_RESULT = TRUE;
-- Verify no one defaults to ACCOUNTADMIN
SELECT name, default_role
FROM SNOWFLAKE.ACCOUNT_USAGE.USERS
WHERE default_role = 'ACCOUNTADMIN' AND disabled = 'false';
-- Create alert for task failures (Snowflake Alerts feature)
CREATE OR REPLACE ALERT task_failure_alert
WAREHOUSE = PROD_ANALYTICS_WH
SCHEDULE = '5 MINUTE'
IF (EXISTS (
SELECT *
FROM TABLE(INFORMATION_SCHEMA.TASK_HISTORY(
SCHEDULED_TIME_RANGE_START => DATEADD(minutes, -10, CURRENT_TIMESTAMP())
))
WHERE state = 'FAILED'
))
THEN
CALL SYSTEM$SEND_EMAIL(
'prod_notifications',
'[email protected]',
'Snowflake Task Failure',
'One or more tasks failed in the last 10 minutes. Check TASK_HISTORY.'
);
ALTER ALERT task_failure_alert RESUME;
-- Enable 14-day Time Travel on production tables
ALTER TABLE prod_db.core.orders SET DATA_RETENTION_TIME_IN_DAYS = 14;
-- Enable database replication
ALTER DATABASE prod_db ENABLE REPLICATION TO ACCOUNTS myorg.secondary_account;
-- Run this before and after deployment
SELECT 'Warehouses' AS check_type,
COUNT(*) AS count,
COUNT_IF(state = 'STARTED') AS active
FROM TABLE(INFORMATION_SCHEMA.WAREHOUSES())
UNION ALL
SELECT 'Tasks', COUNT(*), COUNT_IF(state = 'started')
FROM TABLE(INFORMATION_SCHEMA.TASKS())
UNION ALL
SELECT 'Streams', COUNT(*), COUNT_IF(stale = FALSE)
FROM TABLE(INFORMATION_SCHEMA.STREAMS())
UNION ALL
SELECT 'Pipes', COUNT(*), COUNT_IF(is_autoingest_enabled = 'true')
FROM TABLE(INFORMATION_SCHEMA.PIPES());
-- Use Time Travel to revert a table
CREATE OR REPLACE TABLE prod_db.core.orders
CLONE prod_db.core.orders AT (TIMESTAMP => '2026-03-21 12:00:00'::TIMESTAMP_NTZ);
-- Suspend problematic tasks
ALTER TASK transform_orders SUSPEND;
-- Revert warehouse changes
ALTER WAREHOUSE PROD_ETL_WH SET WAREHOUSE_SIZE = 'MEDIUM';
| Alert | Condition | Severity |
|---|---|---|
| Task failure | state = 'FAILED' in TASK_HISTORY | P1 |
| Stream stale | stale = TRUE in SHOW STREAMS | P1 |
| Credit quota >90% | Resource monitor trigger | P2 |
| Query queue >5min | avg_queued_load > 0 sustained | P2 |
| Login failures spike | >10 failures/hour | P2 |
For version upgrades, see snowflake-upgrade-migration.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin snowflake-packRuns Snowflake incident triage with status checks, SQL diagnostics for query/task failures, and decision tree. For outages, pipeline issues, and postmortems.
Assists with Snowflake SQL best practices, data pipelines (Dynamic Tables, Streams, Tasks, Snowpipe), Cortex AI, Snowpark Python, dbt, performance tuning, and security hardening.
Automates Snowflake data warehouse operations: list databases, schemas, tables, execute SQL, and manage workflows via Composio MCP.