Snowflake Automation

Automate Snowflake data warehouse operations -- list databases, schemas, and tables, execute SQL statements, and manage data workflows via the Composio MCP integration.

38 stars

Best use case

Snowflake Automation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Automate Snowflake data warehouse operations -- list databases, schemas, and tables, execute SQL statements, and manage data workflows via the Composio MCP integration.

Teams using Snowflake Automation should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/snowflake-automation/SKILL.md --create-dirs "https://raw.githubusercontent.com/lingxling/awesome-skills-cn/main/composiohq-awesome-claude-skills/composio-skills/snowflake-automation/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/snowflake-automation/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Snowflake Automation Compares

Feature / AgentSnowflake AutomationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Automate Snowflake data warehouse operations -- list databases, schemas, and tables, execute SQL statements, and manage data workflows via the Composio MCP integration.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Snowflake Automation

Automate your Snowflake data warehouse workflows -- discover databases, browse schemas and tables, execute arbitrary SQL (SELECT, DDL, DML), and integrate Snowflake data operations into cross-app pipelines.

**Toolkit docs:** [composio.dev/toolkits/snowflake](https://composio.dev/toolkits/snowflake)

---

## Setup

1. Add the Composio MCP server to your client: `https://rube.app/mcp`
2. Connect your Snowflake account when prompted (account credentials or key-pair authentication)
3. Start using the workflows below

---

## Core Workflows

### 1. List Databases

Use `SNOWFLAKE_SHOW_DATABASES` to discover available databases with optional filtering and Time Travel support.

```
Tool: SNOWFLAKE_SHOW_DATABASES
Inputs:
  - like_pattern: string (SQL wildcard, e.g., "%test%") -- case-insensitive
  - starts_with: string (e.g., "PROD") -- case-sensitive
  - limit: integer (max 10000)
  - history: boolean (include dropped databases within Time Travel retention)
  - terse: boolean (return subset of columns: created_on, name, kind, database_name, schema_name)
  - role: string (role to use for execution)
  - warehouse: string (optional, not required for SHOW DATABASES)
  - timeout: integer (seconds)
```

### 2. Browse Schemas

Use `SNOWFLAKE_SHOW_SCHEMAS` to list schemas within a database or across the account.

```
Tool: SNOWFLAKE_SHOW_SCHEMAS
Inputs:
  - database: string (database context)
  - in_scope: "ACCOUNT" | "DATABASE" | "<specific_database_name>"
  - like_pattern: string (SQL wildcard filter)
  - starts_with: string (case-sensitive prefix)
  - limit: integer (max 10000)
  - history: boolean (include dropped schemas)
  - terse: boolean (subset columns only)
  - role, warehouse, timeout: string/integer (optional)
```

### 3. List Tables

Use `SNOWFLAKE_SHOW_TABLES` to discover tables with metadata including row counts, sizes, and clustering keys.

```
Tool: SNOWFLAKE_SHOW_TABLES
Inputs:
  - database: string (database context)
  - schema: string (schema context)
  - in_scope: "ACCOUNT" | "DATABASE" | "SCHEMA" | "<specific_name>"
  - like_pattern: string (e.g., "%customer%")
  - starts_with: string (e.g., "FACT", "DIM", "TEMP")
  - limit: integer (max 10000)
  - history: boolean (include dropped tables)
  - terse: boolean (subset columns only)
  - role, warehouse, timeout: string/integer (optional)
```

### 4. Execute SQL Statements

Use `SNOWFLAKE_EXECUTE_SQL` for SELECT queries, DDL (CREATE/ALTER/DROP), and DML (INSERT/UPDATE/DELETE) with parameterized bindings.

```
Tool: SNOWFLAKE_EXECUTE_SQL
Inputs:
  - statement: string (required) -- SQL statement(s), semicolon-separated for multi-statement
  - database: string (case-sensitive, falls back to DEFAULT_NAMESPACE)
  - schema_name: string (case-sensitive)
  - warehouse: string (case-sensitive, required for compute-bound queries)
  - role: string (case-sensitive, falls back to DEFAULT_ROLE)
  - bindings: object (parameterized query values to prevent SQL injection)
  - parameters: object (Snowflake session-level parameters)
  - timeout: integer (seconds; 0 = max 604800s)
```

**Examples:**
- `"SELECT * FROM my_table LIMIT 100;"`
- `"CREATE TABLE test (id INT, name STRING);"`
- `"ALTER SESSION SET QUERY_TAG='mytag'; SELECT COUNT(*) FROM my_table;"`

---

## Known Pitfalls

| Pitfall | Detail |
|---------|--------|
| Case sensitivity | Database, schema, warehouse, and role names are case-sensitive in `SNOWFLAKE_EXECUTE_SQL`. |
| Warehouse required for compute | SELECT and DML queries require a running warehouse. SHOW commands do not. |
| Multi-statement execution | Multiple statements separated by semicolons execute in sequence automatically. |
| SQL injection prevention | Always use the `bindings` parameter for user-supplied values to prevent injection attacks. |
| Pagination with LIMIT | `SHOW` commands support `limit` (max 10000) and `from_name` for cursor-based pagination. |
| Time Travel | Set `history: true` to include dropped objects still within the retention period. |

---

## Quick Reference

| Tool Slug | Description |
|-----------|-------------|
| `SNOWFLAKE_SHOW_DATABASES` | List databases with filtering and Time Travel support |
| `SNOWFLAKE_SHOW_SCHEMAS` | List schemas within a database or account-wide |
| `SNOWFLAKE_SHOW_TABLES` | List tables with metadata (row count, size, clustering) |
| `SNOWFLAKE_EXECUTE_SQL` | Execute SQL: SELECT, DDL, DML with parameterized bindings |

---

*Powered by [Composio](https://composio.dev)*

Related Skills

zyte-api-automation

38
from lingxling/awesome-skills-cn

Automate Zyte API tasks via Rube MCP (Composio). Always search tools first for current schemas.

zylvie-automation

38
from lingxling/awesome-skills-cn

Automate Zylvie tasks via Rube MCP (Composio). Always search tools first for current schemas.

zoominfo-automation

38
from lingxling/awesome-skills-cn

Automate Zoominfo tasks via Rube MCP (Composio). Always search tools first for current schemas.

zoho-mail-automation

38
from lingxling/awesome-skills-cn

Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.

zoho-invoice-automation

38
from lingxling/awesome-skills-cn

Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.

zoho-inventory-automation

38
from lingxling/awesome-skills-cn

Automate Zoho Inventory tasks via Rube MCP (Composio): items, orders, warehouses, shipments, and stock management. Always search tools first for current schemas.

Zoho Desk Automation

38
from lingxling/awesome-skills-cn

Automate Zoho Desk tasks via Rube MCP (Composio): tickets, contacts, agents, departments, and help desk operations. Always search tools first for current schemas.

Zoho Books Automation

38
from lingxling/awesome-skills-cn

Automate Zoho Books tasks via Rube MCP (Composio): invoices, expenses, contacts, payments, and accounting. Always search tools first for current schemas.

zoho-bigin-automation

38
from lingxling/awesome-skills-cn

Automate Zoho Bigin tasks via Rube MCP (Composio): pipelines, contacts, companies, products, and small business CRM. Always search tools first for current schemas.

zoho-automation

38
from lingxling/awesome-skills-cn

Automate Zoho tasks via Rube MCP (Composio). Always search tools first for current schemas.

zerobounce-automation

38
from lingxling/awesome-skills-cn

Automate Zerobounce tasks via Rube MCP (Composio). Always search tools first for current schemas.

zeplin-automation

38
from lingxling/awesome-skills-cn

Automate Zeplin tasks via Rube MCP (Composio). Always search tools first for current schemas.