Skip to main content
command

snowflake-semanticview — Claude Code command: overview and setup

Generates, alters, and validates Snowflake semantic views through Snowflake CLI. It enforces star schema modeling alongside automated CLI validation.

Install into Claude Code · claude-code-templates All methods and platforms ↓
npx claude-code-templates@latest --command database/snowflake-semanticview
Open on GitHub

What snowflake-semanticview does

This command guides Claude Code through drafting and maintaining Snowflake semantic views. It gathers your database, schema, role, and warehouse targets before constructing the DDL. Dimension attributes, facts, and metrics receive synonyms and descriptions sourced directly from existing Snowflake table comments.

Validation is strictly enforced before touching production objects. The workflow creates a temporary view named with the __tmp_validate suffix and runs it via snow sql. Claude Code inspects the result, adjusts the SQL on errors, and applies the final DDL only after a clean execution. The temporary view is deleted immediately after.

Without an active Snowflake CLI configuration via snow connection add, validation calls will fail. The command also depends on Bash and Read tool permissions to execute CLI queries and inspect project files.

What it helps with

  • draft Snowflake semantic view DDL for star schema models
  • populate synonyms and comments from existing table metadata
  • validate semantic view DDL with temporary CLI test runs
  • apply verified DDL to production views and remove temporary objects

Example prompts for the agent

  • Create a semantic view for the orders star schema using /snowflake-semanticview
  • Update the sales_analytics semantic view and validate it with snow sql
  • Draft semantic layer metrics and synonyms using comments from the warehouse tables

How to install snowflake-semanticview

1claude-code-templates

npx claude-code-templates@latest --command database/snowflake-semanticview

2Manually: put the files in place

.claude/commands/snowflake-semanticview.md

Call it with /snowflake-semanticview. For all projects use ~/.claude/commands/

Questions about snowflake-semanticview

How do I install snowflake-semanticview in Claude Code?

Run npx claude-code-templates@latest --command database/snowflake-semanticview in your terminal. This writes the template to .claude/commands/snowflake-semanticview.md.

What does snowflake-semanticview do?

It manages Snowflake semantic view definitions from drafting to deployment. The command prompts for target schema details, writes star schema DDL with synonyms, and verifies syntax against your Snowflake warehouse using Snowflake CLI.

What prerequisites are required before using snowflake-semanticview?

You must install Snowflake CLI and configure a connection using snow connection add. The agent also requires access to Bash and Read tools to execute snow sql commands.

Source text

snowflake-semanticview.md · MIT
---
allowed-tools: Bash, Read
description: Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup.
---

# Snowflake Semantic Views

## One-Time Setup

- Verify Snowflake CLI installation by opening a new terminal and running `snow --help`.
- If Snowflake CLI is missing or the user cannot install it, direct them to https://docs.snowflake.com/en/developer-guide/snowflake-cli/installation/installation.
- Configure a Snowflake connection with `snow connection add` per https://docs.snowflake.com/en/developer-guide/snowflake-cli/connecting/configure-connections#add-a-connection.
- Use the configured connection for all validation and execution steps.

## Workflow For Each Semantic View Request

1. Confirm the target database, schema, role, warehouse, and final semantic view name.
2. Confirm the model follows a star schema (facts with conformed dimensions).
3. Draft the semantic view DDL using the official syntax:
   - https://docs.snowflake.com/en/sql-reference/sql/create-semantic-view
4. Populate synonyms and comments for each dimension, fact, and metric:
   - Read Snowflake table/view/column comments first (preferred source):
     - https://docs.snowflake.com/en/sql-reference/sql/comment
   - If comments or synonyms are missing, ask whether you can create them, whether the user wants to provide text, or whether you should draft suggestions for approval.
5. Create a temporary validation name (for example, append `__tmp_validate`) while keeping the same database and schema.
6. Always validate by sending the DDL to Snowflake via Snowflake CLI before finalizing:
   - Use `snow sql` to execute the statement with the configured connection.
   - If flags differ by version, check `snow sql --help` and use the connection option shown there.
7. If validation fails, iterate on the DDL and re-run the validation step until it succeeds.
8. Apply the final DDL (create or alter) using the real semantic view name.
9. Clean up any temporary semantic view created during validation.

## Synonyms And Comments (Required)

- Use the semantic view syntax for synonyms and comments:

```
WITH SYNONYMS [ = ] ( 'synonym' [ , ... ] )
COMMENT = 'comment_about_dim_fact_or_metric'
```

- Treat synonyms as informational only; do not use them to reference dimensions, facts, or metrics elsewhere.
- Use Snowflake comments as the preferred and first source for synonyms and comments:
  - https://docs.snowflake.com/en/sql-reference/sql/comment
- If Snowflake comments are missing, ask whether you can create them, whether the user wants to provide text, or whether you should draft suggestions for approval.
- Do not invent synonyms or comments without user approval.

## Validation Pattern (Required)

- Never skip validation. Always execute the DDL against Snowflake with Snowflake CLI before presenting it as final.
- Prefer a temporary name for validation to avoid clobbering the real view.

## Example CLI Validation (Template)

```bash
# Replace placeholders with real values.
snow sql -q "<CREATE OR ALTER SEMANTIC VIEW ...>" --connection <connection_name>
```

If the CLI uses a different connection flag in your version, run:

```bash
snow sql --help
```

## Notes

- Treat installation and connection setup as one-time steps, but confirm they are done before the first validation.
- Keep the final semantic view definition identical to the validated temporary definition except for the name.
- Do not omit synonyms or comments; consider them required for completeness even if optional in syntax.

© davila7 · MIT · davila7/claude-code-templates

Similar slash commands

All slash commands for Data and databases →

From the same set804

The whole set →
discord-bot-architect Gives your agent working patterns for Discord bots in JavaScript and Python: slash commands, buttons, menus, sharding. Useful once a bot outgrows a toy example. 106installs emerging-techniques-knowledge-distillation This skill outlines ways to transfer a large model’s outputs or probability signals to a smaller student. Use it when planning a distillation training workflow. 106installs subagent-read-only-guard PreToolUse hook that restricts Claude Code subagents to read-only shell commands and blocks file modifications. 105installs professional-communication This skill helps draft workplace emails, team updates, and meeting agendas. Use it when a technical issue needs a clear explanation for managers, teammates, or non-technical stakeholders. 104installs django-pro Get Django guidance for project structure, ORM queries, APIs, tests, and deployment. Useful when building or maintaining apps with Django 5.x and its surrounding tools. 103installs edit-audit-log This hook records the path and timestamp for files changed with Edit. Use it to review file changes across Claude Code sessions. 103installs distributed-training-deepspeed Guides distributed training setups with DeepSpeed, ZeRO memory offloading, and DeepNVMe I/O. Built for debugging ML pipelines and mixed-precision runs. 102installs hypothesis-generation Formulate testable scientific hypotheses from observations and literature data. Helps researchers plan experimental designs and structure academic LaTeX reports. 101installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor