snowflake-semanticview

por github

Crear y validar vistas semánticas de Snowflake usando Snowflake CLI con creación y prueba guiada de DDL. Gestiona el ciclo de vida completo de la vista semántica: redacción de DDL, población de sinónimos y comentarios desde metadatos de tablas de Snowflake, validación contra Snowflake mediante CLI, y ejecución de sentencias CREATE o ALTER finales. Requiere instalación única de Snowflake CLI y configuración de conexión; confirma requisitos previos antes de proceder con la validación. Valida todo el DDL contra Snowflake usando vistas temporales...

npx skills add https://github.com/github/awesome-copilot --skill snowflake-semanticview

Snowflake Semantic Views

One-Time Setup

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:
  4. Populate synonyms and comments for each dimension, fact, and metric:
    • Read Snowflake table/view/column comments first (preferred source):
    • 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. Use SELECT statements with DISTINCT and LIMIT (maximum 1000 rows) to discover relationships between fact and dimension tables, identify column data types, and create more meaningful comments and synonyms for columns.
  6. Create a temporary validation name (for example, append __tmp_validate) while keeping the same database and schema.
  7. 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.
  8. If validation fails, iterate on the DDL and re-run the validation step until it succeeds.
  9. Apply the final DDL (create or alter) using the real semantic view name.
  10. Run a sample query against the final semantic view to confirm it works as expected. It has a different SQL syntax as can be seen here: https://docs.snowflake.com/en/user-guide/views-semantic/querying#querying-a-semantic-view Example:
SELECT * FROM SEMANTIC_VIEW(
    my_semview_name
    DIMENSIONS customer.customer_market_segment
    METRICS orders.order_average_value
)
ORDER BY customer_market_segment;
  1. 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:
  • 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)

# 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:

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.

Más skills de github

console-rendering
github
Instrucciones para usar el sistema de renderizado en consola basado en etiquetas de struct en Go
official
acquire-codebase-knowledge
github
Usa esta habilidad cuando el usuario solicite explícitamente mapear, documentar o incorporarse a un código base existente. Actívala para indicaciones como "mapea este código base", "documenta…
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
Genera archivos de instrucciones de agente de IA personalizados mediante el comando de instrucciones de AgentRC. Produce .github/copilot-instructions.md (por defecto, recomendado para Copilot en VS…)
official
acreadiness-policy
github
Ayudar al usuario a seleccionar, redactar o aplicar una política de AgentRC. Las políticas personalizan la puntuación de readiness desactivando comprobaciones irrelevantes, anulando impacto/nivel, estableciendo…
official
add-educational-comments
github
Añade comentarios educativos a archivos de código para convertirlos en recursos de aprendizaje efectivos. Adapta la profundidad y el tono de las explicaciones a tres niveles de conocimiento configurables: principiante, intermedio y avanzado. Solicita automáticamente un archivo si no se proporciona ninguno, con una lista numerada para una selección rápida. Expande los archivos hasta un 125% utilizando solo comentarios educativos (límite estricto: 400 líneas nuevas; 300 para archivos de más de 1,000 líneas). Conserva la codificación del archivo, el estilo de sangría, la corrección sintáctica y...
official
adobe-illustrator-scripting
github
Escribir, depurar y optimizar scripts de automatización de Adobe Illustrator usando ExtendScript (JavaScript/JSX). Úselo al crear o modificar scripts que manipulen…
official
agent-governance
github
Políticas declarativas, clasificación de intenciones y registros de auditoría para controlar el acceso y comportamiento de herramientas de agentes de IA. Las políticas de gobernanza componibles definen herramientas permitidas/bloqueadas, filtros de contenido, límites de velocidad y requisitos de aprobación, almacenados como configuración, no como código. La clasificación semántica de intenciones detecta indicaciones peligrosas (exfiltración de datos, escalada de privilegios, inyección de indicaciones) antes de la ejecución de herramientas mediante señales basadas en patrones. El decorador de gobernanza a nivel de herramienta aplica políticas en funciones...
official