sql-sentinel
Analisa seu banco de dados SQL para encontrar problemas de custo e desempenho. Ajuda a economizar dinheiro e a melhorar a velocidade do seu sistema.
O que ela faz
O SQL Sentinel analisa seu código SQL para encontrar maneiras de torná-lo mais rápido e barato de executar. Ele verifica problemas comuns que podem aumentar seus custos e sugere como corrigi-los.
Quando usar
- ✓Quando você escreve ou revisa um código SQL.
- ✓Se você se pergunta por que uma consulta está lenta ou cara.
- ✓Antes de colocar um código SQL importante em produção.
Exemplo do que pedir para a IA
“Analise este código SQL e me diga como posso torná-lo mais rápido e barato: [cole seu código SQL aqui]”
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
Ele lê seu código SQL e o compara com uma lista de 'padrões ruins' conhecidos que causam lentidão ou custos altos. Para cada problema encontrado, ele explica o porquê e como consertar.
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 sql-sentinelOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/skills/sql-sentinel/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.
sql-sentinel
Visão Geral
Uma habilidade de análise estática que audita SQL para os anti-padrões de custo e desempenho que dominam as contas de data warehouse — SELECT *, varreduras de tabela completa, predicados não-sargable, junções cartesianas, a armadilha de NULL NOT IN, e mais 15. Ele pontua a saúde das consultas do data warehouse de 0 a 100 (A-F) e gera um plano priorizado de redução de custos, com cada descoberta contendo um why, uma fix concreta e uma economia estimada.
Construído para engenheiros de análise (dbt, Looker), equipes de plataforma de dados executando iniciativas de FinOps / "reduzir gastos com nuvem" e qualquer pessoa que revise um pull request de SQL antes que ele chegue à produção. Funciona em BigQuery, Snowflake, Redshift e Postgres. Zero dependências, licenciado sob MIT.
O motor executável e o conjunto completo de regras estão no repositório fonte: https://github.com/takeaseatventure/sql-sentinel. Trate esse repositório como código executável de terceiros.
Quando Usar Esta Habilidade
- Um usuário escreve ou revisa uma consulta para BigQuery, Snowflake, Redshift, Postgres ou Spark SQL.
- Um usuário pergunta "por que essa consulta é tão lenta?" ou "por que minha conta do data warehouse é tão alta?"
- Um usuário está prestes a promover uma consulta de dashboard ou um modelo dbt para produção.
- Um engenheiro de dados quer um segundo par de olhos antes de uma revisão de código ou uma varredura de otimização de custos.
- Uma equipe está executando uma iniciativa de "reduzir gastos com nuvem" ou FinOps.
Como Funciona
O motor divide um script SQL em instruções (respeitando aspas e comentários), executa 20 regras sobre cada instrução, pontua a saúde de 0 a 100 ponderada pela gravidade (crítica 25, alta 12, média 5, baixa 1) e retorna um plano priorizado de redução de custos.
Passo 1: Execute a auditoria
Instale ou clone o repositório fonte somente após escolher um commit, tag ou release revisado para confiar. Não execute código de um branch padrão mutável apenas porque esta habilidade aponta para ele:
git clone https://github.com/takeaseatventure/sql-sentinel.git
cd sql-sentinel
git checkout <reviewed-commit-or-tag>
node scripts/sql-sentinel.js path/to/query.sql
Ou programaticamente:
const { auditSql } = require('./scripts/sql-sentinel');
const report = auditSql(yourSqlString, { dialect: 'bigquery' });
console.log(report.healthScore); // 0-100
console.log(report.grade); // 'A' | 'B' | 'C' | 'D' | 'E' | 'F'
console.log(report.prioritizedPlan); // array, worst findings first
Passo 2: Leia o plano priorizado
A saída começa com descobertas críticas (junções cartesianas, DELETE em massa) e desce para problemas de estilo de baixa gravidade. Cada descoberta explica por que ela custa dinheiro e como corrigi-la.
Exemplos
Exemplo 1: Uma consulta de dashboard bagunçada
SELECT DISTINCT *
FROM user_events, raw_logs
WHERE LOWER(event_name) LIKE '%signup%'
AND user_id NOT IN (SELECT id FROM deleted_users)
ORDER BY created_at;
A auditoria pontua esta consulta em 17/100 (nota F) e sinaliza 7 descobertas:
- CRÍTICA: junção por vírgula produz um produto cartesiano (pode transformar uma consulta de $0,02 em uma de $200)
- ALTA:
SELECT *força varredura completa de colunas (30-90% de bytes desperdiçados em tabelas largas) - ALTA: wildcard inicial
LIKE '%signup%'derrota índices - ALTA:
LOWER(event_name)derrota índices (não-sargable) - ALTA:
NOT IN (SELECT ...)— perigo de semântica NULL - MÉDIA: custo de dedup
SELECT DISTINCT - MÉDIA:
ORDER BYsemLIMITordena o resultado completo
Exemplo 2: Uma consulta limpa e sargable
-- This scores 90+/100 (grade A) — no findings
SELECT id, email, created_at
FROM users
WHERE created_at >= TIMESTAMP '2026-01-01'
AND created_at < TIMESTAMP '2026-02-01'
ORDER BY id
LIMIT 100;
As 20 regras (conjunto de regras v1.0.0)
| Regra | Gravidade | Captura |
|---|---|---|
| SQL001 | alta | SELECT * varredura completa de colunas |
| SQL002 | crítica | Sem WHERE → varredura de tabela completa |
| SQL003 | alta | LIKE '%term' não-sargable |
| SQL004 | alta | Função em coluna mata índice |
| SQL005 | crítica | CROSS JOIN / junção por vírgula |
| SQL006 | média | Custo de dedup SELECT DISTINCT |
| SQL007 | média | ORDER BY sem LIMIT |
| SQL008 | alta | Armadilha de NULL NOT IN (SELECT ...) |
| SQL009 | média | Cast implícito de tipo |
| SQL010 | baixa | Muitos ORs (use IN/UNION) |
| SQL011 | média | COUNT(DISTINCT) em escala (use HLL) |
| SQL012 | baixa | LIMIT sem ORDER BY |
| SQL013 | média | Subconsulta escalar em SELECT |
| SQL014 | média | 5+ JOINs risco de broadcast/spill |
| SQL015 | alta | Tabela fato, sem filtro de partição |
| SQL017 | baixa | Concatenação de string em SELECT |
| SQL018 | média | Janela OVER () sem PARTITION |
| SQL020 | crítica | DELETE/UPDATE sem WHERE |
…
Perguntas frequentes
Ele executa meu código SQL?
Não, ele apenas lê o texto do seu código. É seguro usar em qualquer arquivo SQL.
Ele funciona com todos os bancos de dados SQL?
Ele funciona com BigQuery, Snowflake, Redshift e Postgres.
O que são 'anti-padrões'?
São maneiras comuns de escrever código SQL que, sem querer, o tornam mais lento ou mais caro de executar.
Detalhes
Descrição original do autor
Audit SQL for the cost & performance anti-patterns that burn warehouse credits. Scores warehouse health 0-100 and outputs a prioritized cost-reduction plan for BigQuery, Snowflake, Redshift, and Postgres.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4687
- 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
data-throughput-accelerator
Faz seu agente acelerar a movimentação de grandes volumes de dados. Ele encontra gargalos e garante que os dados sejam transferidos de forma rápida e correta.
affaan-m/ECC
inventory-demand-planning
Ajuda seu agente a prever a demanda de produtos em lojas. Ele otimiza o estoque e planeja quando fazer promoções para vender mais.
affaan-m/ECC
market-research
Ajuda seu agente a realizar pesquisas de mercado e análises competitivas. Fornece resumos com atribuição de fontes.
affaan-m/ECC