54 pontos por GN⁺ 2026-01-28 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Foi lançado o Agent Skills, que fornece explicitamente regras de banco de dados para resolver o problema de AI agents de programação não lidarem corretamente com Postgres
  • O Postgres tem décadas de funcionalidades acumuladas, edge cases e características de desempenho, então os agents podem até funcionar, mas ainda gerar código que provoca full table scans ou deixa políticas de segurança de fora
  • É composto por 8 categorias e 30 regras no total, organizadas por prioridade com base no impacto, incluindo desempenho de consultas, gerenciamento de conexões, segurança e RLS, design de schema e mais
  • Em vez de documentação para humanos, é oferecido no formato de conjunto de regras consultado diretamente por AI agents
  • Quando combinado com um servidor MCP, torna possível montar um agent de banco de dados pronto para uso real, com capacidade de execução e critério de decisão ao mesmo tempo

Reconhecimento do problema: a IA escreve código, mas não entende o sistema

  • AI agents de programação geram código sintaticamente correto, mas têm a limitação de não considerar as características internas do Postgres nem os riscos operacionais
  • Problemas como consultas que provocam full table scans, sugestões de índices que prejudicam a performance de escrita e ausência de Row Level Security continuam acontecendo repetidamente
  • Foram observados diversos casos em que os agents deixam passar fatores críticos de desempenho, segurança e estabilidade em ambientes de produção

Visão geral do Postgres Agent Skills

  • Um repositório de conhecimento baseado em regras criado para que AI agents consultem ao escrever código para Postgres
  • Composto por 30 regras distribuídas em 8 categorias, ordenadas pelo nível de impacto
  • Cada regra inclui título, prioridade, explicação da importância e exemplos de código corretos/incorretos

Estrutura das 8 categorias de regras

  • Cada regra segue um formato consistente, com título, impacto, descrição e tags
  • Query Performance (Critical): prevenção de full table scans e regras para escrever consultas eficientes
  • Connection Management (Critical): connection pooling, ciclo de vida do cliente e limites de recursos
  • Security and RLS (Critical): políticas de Row Level Security e padrões de controle de acesso
  • Schema Design (High): estrutura de tabelas, tipos de dados e decisões de normalização
  • Concurrency and Locking (Medium-High): isolamento de transações, prevenção de deadlocks e gerenciamento de locks
  • Data Access Patterns (Medium): paginação, operações em lote e design de padrões de acesso
  • Monitoring and Diagnostics (Low-Medium): análise de consultas, rastreamento de desempenho e debugging
  • Advanced Features (Low): CTE, window functions, extensões e outros recursos próprios do Postgres

Exemplo de regra de Row Level Security

  • Forma incorreta: se depender apenas de filtragem no nível da aplicação, existe risco de exposição de todos os dados por causa de bugs ou bypass
    • Se for escrito como select * from orders where user_id = $current_user_id;, um bypass pode retornar todos os pedidos
  • Forma correta: aplicar RLS obrigatoriamente no nível do banco de dados
    • Ativar RLS com alter table orders enable row level security;
    • Criar uma política com create policy para que o usuário veja apenas seus próprios dados
    • Forçar RLS até mesmo para o dono da tabela com alter table orders force row level security;
  • Exemplo de política para papel autenticado: create policy orders_user_policy on orders for all to authenticated using (user_id = auth.uid());

Formato do Agent Skills e ecossistema

  • Agent Skills é um formato aberto de documentação voltado a AI agents que fornece especialização de domínio ao agent, podendo ser lido e aplicado diretamente quando necessário
    • Compatível com Claude Code, Cursor, GitHub Copilot, VS Code, Gemini CLI e outros
    • É fornecido na forma de uma pasta com instruções e exemplos que o agent pode descobrir e usar quando precisar
    • Em vez de esperar que o agent tenha aprendido os padrões corretos nos dados de treinamento, ele recebe regras explícitas
  • É um padrão aberto definido pela Anthropic e vem sendo adotado em toda a indústria
    • A Vercel lançou o react-best-practices, que empacota 10 anos de conhecimento de otimização em React e Next.js em 40 regras
    • A Cloudflare lançou Skills para mais de 40 serviços, incluindo Workers, Pages, D1 e R2

Por que a Supabase criou essas regras

  • A Supabase opera Postgres em centenas de milhares de projetos e testemunhou a repetição dos mesmos erros
    • Índices ausentes em foreign keys
    • Consultas que contornam RLS por engano
    • Migrações que bloqueiam tabelas em produção
    • Esgotamento do pool de conexões causado por clientes mal gerenciados
    • Full table scans escondidos atrás de ORMs
  • O conhecimento já existente no time de suporte, no Database Advisor e na documentação foi reorganizado em um formato amigável para agents e empacotado

Relação com o servidor MCP

  • O servidor MCP da Supabase permite que AI agents se conectem diretamente a projetos Supabase para criar tabelas, executar consultas, gerenciar schemas e configurar definições em linguagem natural
  • O servidor MCP dá ao agent a capacidade de realizar tarefas de banco de dados, e as melhores práticas o ensinam a fazê-las corretamente
  • Analogia: o servidor MCP é o volante, e as melhores práticas são a autoescola
  • Um agent com apenas acesso ao MCP pode executar qualquer consulta solicitada
  • Um agent com acesso ao MCP e às regras pode alertar antes de criar um índice que bloqueia tabelas, sugerir políticas de RLS antes de implantar código inseguro e estruturar consultas para evitar problemas de desempenho
  • O servidor MCP cuida da conexão e da execução; estas melhores práticas cuidam do julgamento
  • O Agent Skills avisa sobre riscos antes da execução e induz escolhas melhores
  • Ao separar capacidade de execução e critério de decisão, é possível montar um ambiente de automação seguro e confiável

Como instalar

  • Local do repositório: github.com/supabase/agent-skills
  • É possível instalar interativamente usando o pacote npm skills da Vercel
    • npx skills add supabase/agent-skills
  • Ao usar Claude Code, é possível instalar como plugin
    • /plugin marketplace add supabase/agent-skills
    • /plugin install postgres-best-practices@supabase-agent-skills

Ainda não há comentários.

Ainda não há comentários.