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.
npx claude-code-templates@latest --command database/snowflake-semanticviewWhat 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-semanticview2Manually: put the files in place
.claude/commands/snowflake-semanticview.mdCall it with /snowflake-semanticview. For all projects use ~/.claude/commands/
Manually: put the files in place
~/.codex/prompts/snowflake-semanticview.mdCall it with /prompts:snowflake-semanticview. Codex marks this format deprecated in favour of skills
Manually: put the files in place
.github/prompts/snowflake-semanticview.prompt.mdManually: put the files in place
.gemini/commands/snowflake-semanticview.tomlGemini stores commands as TOML: the prompt text goes into the prompt field
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