snowflake-development
Ajuda seu agente a trabalhar com o Snowflake, um banco de dados na nuvem. Ele pode criar e otimizar o armazenamento e o acesso a dados, além de usar inteligência artificial para análises. Facilita o gerenciamento de grandes volumes de informação.
O que ela faz
Este assistente ajuda você a escrever código para o Snowflake, um banco de dados na nuvem. Ele oferece dicas sobre como escrever consultas SQL eficientes, criar fluxos de dados automatizados e usar recursos avançados de IA.
Quando usar
- ✓Quando você precisa escrever consultas SQL para o Snowflake.
- ✓Ao criar fluxos de dados para mover e transformar informações.
- ✓Ao usar as ferramentas de inteligência artificial do Snowflake (Cortex).
Exemplo do que pedir para a IA
“Como posso escrever uma consulta SQL para selecionar apenas colunas específicas de uma tabela chamada 'clientes'?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O assistente aplica regras e exemplos para garantir que seu código Snowflake siga as melhores práticas. Ele verifica a formatação, o uso de funções e a estrutura geral do seu código.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill snowflake-developmentOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/snowflake-development/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Desenvolvimento Snowflake
Você é um especialista em desenvolvimento Snowflake. Aplique estas regras ao escrever SQL, construir pipelines de dados, usar Cortex AI ou trabalhar com Snowpark Python no Snowflake.
Quando Usar
- Quando o usuário pedir ajuda com Snowflake SQL, pipelines de dados, Cortex AI ou Snowpark Python.
- Quando você precisar de orientação específica do Snowflake para dbt, ajuste de desempenho ou reforço de segurança.
Melhores Práticas de SQL
Nomenclatura e Estilo
- Use
snake_casepara todos os identificadores. Evite identificadores entre aspas duplas — eles criam nomes sensíveis a maiúsculas e minúsculas que exigem cotação constante. - Use CTEs (cláusulas
WITH) em vez de subconsultas aninhadas. - Use
CREATE OR REPLACEpara DDL idempotente. - Use listas de colunas explícitas — nunca
SELECT *em produção (o armazenamento colunar do Snowflake escaneia apenas as colunas referenciadas).
Stored Procedures — Regra do Prefixo de Dois Pontos
Em stored procedures SQL (blocos BEGIN...END), variáveis e parâmetros devem usar o prefixo de dois pontos : dentro das instruções SQL. Sem ele, o Snowflake gera erros de "identificador inválido".
RUIM:
CREATE PROCEDURE my_proc(p_id INT) RETURNS STRING LANGUAGE SQL AS
BEGIN
LET result STRING;
SELECT name INTO result FROM users WHERE id = p_id;
RETURN result;
END;
BOM:
CREATE PROCEDURE my_proc(p_id INT) RETURNS STRING LANGUAGE SQL AS
BEGIN
LET result STRING;
SELECT name INTO :result FROM users WHERE id = :p_id;
RETURN result;
END;
Dados Semi-Estruturados
- VARIANT, OBJECT, ARRAY para JSON/Avro/Parquet/ORC.
- Acessar campos aninhados:
src:customer.name::STRING. Sempre converter o tipo:src:price::NUMBER(10,2). - VARIANT null vs SQL NULL: JSON
nullé armazenado como"null". UseSTRIP_NULL_VALUE = TRUEao carregar. - Achatar arrays:
SELECT f.value:name::STRING FROM my_table, LATERAL FLATTEN(input => src:items) f;
MERGE para Upserts
MERGE INTO target t USING source s ON t.id = s.id
WHEN MATCHED THEN UPDATE SET t.name = s.name, t.updated_at = CURRENT_TIMESTAMP()
WHEN NOT MATCHED THEN INSERT (id, name, updated_at) VALUES (s.id, s.name, CURRENT_TIMESTAMP());
Pipelines de Dados
Escolhendo Sua Abordagem
| Abordagem | Quando Usar |
|---|---|
| Tabelas Dinâmicas | Transformações declarativas. Escolha padrão. Defina a consulta, o Snowflake cuida da atualização. |
| Streams + Tasks | CDC imperativo. Use para lógica procedural, chamadas de stored procedure. |
| Snowpipe | Carregamento contínuo de arquivos de S3/GCS/Azure. |
Tabelas Dinâmicas
CREATE OR REPLACE DYNAMIC TABLE cleaned_events
TARGET_LAG = '5 minutes'
WAREHOUSE = transform_wh
AS
SELECT event_id, event_type, user_id, event_timestamp
FROM raw_events
WHERE event_type IS NOT NULL;
Regras principais:
- Defina
TARGET_LAGprogressivamente: mais restritivo no topo, mais flexível na parte inferior. - DTs incrementais não podem depender de DTs de atualização completa.
SELECT *falha em alterações de esquema — use listas de colunas explícitas.- O rastreamento de alterações deve permanecer ativado nas tabelas base.
- Views não podem ficar entre duas Tabelas Dinâmicas.
Streams e Tasks
CREATE OR REPLACE STREAM raw_stream ON TABLE raw_events;
CREATE OR REPLACE TASK process_events
WAREHOUSE = transform_wh
SCHEDULE = 'USING CRON 0 */1 * * * America/Los_Angeles'
WHEN SYSTEM$STREAM_HAS_DATA('raw_stream')
AS INSERT INTO cleaned_events SELECT ... FROM raw_stream;
-- Tasks start SUSPENDED — you MUST resume them
ALTER TASK process_events RESUME;
Cortex AI
Referência de Funções
| Função | Propósito |
|---|---|
AI_COMPLETE |
Conclusão de LLM (texto, imagens, documentos) |
AI_CLASSIFY |
Classificar em categorias (até 500 rótulos) |
AI_FILTER |
Filtro booleano em texto/imagens |
AI_EXTRACT |
Extração estruturada de texto/imagens/documentos |
AI_SENTIMENT |
Pontuação de sentimento (-1 a 1) |
AI_PARSE_DOCUMENT |
Extração de OCR ou layout |
AI_REDACT |
Remoção de PII |
Descontinuado (NÃO usar): COMPLETE, CLASSIFY_TEXT, EXTRACT_ANSWER, PARSE_DOCUMENT, SUMMARIZE, TRANSLATE, SENTIMENT, EMBED_TEXT_768.
TO_FILE — Fonte Comum de Erro
O caminho do stage e o nome do arquivo são argumentos SEPARADOS:
-- BAD: TO_FILE('@stage/file.pdf')
-- GOOD:
TO_FILE('@db.schema.mystage', 'invoice.pdf')
Use AI_CLASSIFY para Classificação (Não AI_COMPLETE)
SELECT AI_CLASSIFY(ticket_text,
['billing', 'technical', 'account']):labels[0]::VARCHAR AS category
FROM tickets;
Agentes Cortex
CREATE OR REPLACE AGENT my_db.my_schema.sales_agent
FROM SPECIFICATION $spec$
{
…
Perguntas frequentes
O que é 'snake_case'?
É uma forma de escrever nomes de variáveis ou colunas usando letras minúsculas e separando as palavras com um underscore (_), como 'nome_do_cliente'.
O que são 'CTEs'?
CTEs (Common Table Expressions) são como rascunhos temporários dentro de uma consulta SQL maior, ajudando a organizar o código e torná-lo mais legível.
O que é 'MERGE'?
MERGE é um comando SQL que permite inserir, atualizar ou excluir linhas em uma tabela com base em comparações com outra tabela, de forma eficiente.
Detalhes
Descrição original do autor
Comprehensive Snowflake development assistant covering SQL best practices, data pipeline design (Dynamic Tables, Streams, Tasks, Snowpipe), Cortex AI functions, Cortex Agents, Snowpark Python, dbt integration, performance tuning, and security hardening.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4203
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
pytorch-patterns
Ajuda seu agente a usar o PyTorch para criar modelos de aprendizado de máquina. Ele aplica as melhores práticas para treinar modelos de forma eficiente e garantir que os resultados sejam consistentes.
affaan-m/ECC
evm-token-decimals
Ajuda seu agente a evitar erros com números decimais em diferentes redes blockchain. Garante que os valores de tokens sejam precisos em transações e cálculos.
affaan-m/ECC
knowledge-agent
Cria e consulta bases de conhecimento com inteligência artificial. Permite fazer perguntas sobre trabalhos passados ou compilar conhecimento sobre um tema.
thedotmack/claude-mem