database-snowflake

Execute SQL queries and inspect schemas in Snowflake data warehouses.

656|82|Updated Jan 20, 2026
One-click install
npx skills add https://github.com/incidentfox/incidentfox --skill database-snowflake
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: database-snowflake
Source: https://github.com/incidentfox/incidentfox/tree/main/sre-agent/.claude/skills/database-snowflake
Command: npx skills add https://github.com/incidentfox/incidentfox --skill database-snowflake

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires snowflake-connector-python, and includes scripts (resource) components.

What problem does it solve?

Querying a Snowflake data warehouse during incident investigation requires knowing table structures and writing correct SQL, which slows down root cause analysis when engineers are unfamiliar with the schema.

Core Features & Use Cases

  • Schema Inspection: List databases, tables, and column details before writing queries, following a mandatory schema-first workflow.
  • SQL Query Execution: Run arbitrary SQL queries against Snowflake with automatic row limits and JSON-formatted output.
  • Incident Data Analysis: Query incident enrichment tables like fact_incident and fact_incident_customer_impact to assess severity, customer impact, and ARR at risk.
  • Use Case: During a SEV-1 incident, retrieve the latest incidents, join customer impact data with the customer dimension table, and quantify estimated ARR at risk per affected customer.

Quick Start

Ask the agent to list the tables in the Snowflake database and show the ten most recent SEV-1 incidents with their customer impact.

Frequently Asked Questions about database-snowflake

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run SQL queries against Snowflake from Python?

Use the execute_query.py script with a --query argument containing your SQL statement. It connects via snowflake-connector-python, applies a default row limit of 100, and returns results as JSON with column names and rows.

How to list tables and inspect schema in Snowflake?

Run list_tables.py to enumerate tables in a database or schema, and describe_table.py with a --table argument to get column names, types, nullability, and key constraints. The get_schema.py script returns a predefined schema for incident enrichment tables.

Do I need to set SNOWFLAKE_PASSWORD before running queries?

No, credentials are injected automatically by a proxy layer and are not visible as environment variables. You only need non-secret configuration like SNOWFLAKE_ACCOUNT, SNOWFLAKE_WAREHOUSE, SNOWFLAKE_DATABASE, and SNOWFLAKE_SCHEMA.

Why should I get the schema before writing Snowflake queries?

The skill enforces a schema-first workflow because guessing table or column names produces failed or incorrect queries. Running get_schema.py or describe_table.py first ensures your SQL references actual tables like fact_incident and dim_customer.

What are the limitations of the Snowflake query script?

Query results are capped at 100 rows by default unless you specify a higher --limit or include LIMIT in your SQL. The scripts only support read-oriented operations like SELECT, SHOW, and DESCRIBE through the provided helpers.