Pular para o conteúdo
Skillpedia
Análise e planilhas48 mil · #4687

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/skills/sql-sentinel/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/skills/sql-sentinel/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-sentinel

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/skills/sql-sentinel/SKILL.md -o SKILL.md
Conteú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 BY sem LIMIT ordena 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4687
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas