supabase
Ajuda seu agente a realizar qualquer tarefa que envolva o Supabase. Ele é a ferramenta principal para interagir com o Supabase. Útil para desenvolvedores que usam essa plataforma.
O que ela faz
Supabase é uma plataforma que ajuda a criar aplicativos web e móveis. Esta ferramenta pode te auxiliar com tarefas relacionadas a ele, como configurar bancos de dados, gerenciar usuários ou criar funções.
Quando usar
- ✓Preciso configurar meu banco de dados no Supabase.
- ✓Quero entender como gerenciar o login e logout de usuários.
- ✓Tenho dúvidas sobre como expor tabelas para a API.
Exemplo do que pedir para a IA
“Como configuro o RLS para minha tabela de usuários no Supabase?”
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
A ferramenta consulta a documentação oficial do Supabase e informações sobre mudanças recentes para te dar as melhores instruções. Ela verifica se há atualizações importantes ou alterações que possam afetar sua tarefa.
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 supabaseOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/supabase/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.
Supabase
Quando Usar
Use ao realizar QUALQUER tarefa envolvendo Supabase. Gatilhos: produtos Supabase (Banco de Dados, Autenticação, Funções de Borda, Tempo Real, Armazenamento, Vetores, Cronômetro, Filas); bibliotecas cliente e integrações SSR (supabase-js, @supabase/ssr) em Next.js, React, SvelteKit, Astro, Remix; problemas de autenticação (login, logout,...
Princípios Fundamentais
1. O Supabase muda frequentemente — verifique o changelog e a documentação atual antes de implementar. Não confie em dados de treinamento para recursos do Supabase. Assinaturas de funções, configurações do config.toml e convenções de API mudam entre as versões.
Primeiro, busque https://supabase.com/changelog.md (um índice de resumo leve — não um pull pesado), procure por tags breaking-change relevantes para sua tarefa e siga a página vinculada para quaisquer que se apliquem. Em seguida, procure o tópico relevante usando os métodos de acesso à documentação abaixo.
2. Verifique seu trabalho. Após implementar qualquer correção, execute uma consulta de teste para confirmar que a mudança funciona. Uma correção sem verificação está incompleta.
3. Recupere-se de erros, não entre em loop. Se uma abordagem falhar após 2-3 tentativas, pare e reconsidere. Tente um método diferente, verifique a documentação, inspecione o erro com mais cuidado e revise os logs relevantes quando disponíveis. Problemas do Supabase nem sempre são resolvidos tentando o mesmo comando novamente, e a resposta nem sempre está nos logs, mas os logs geralmente valem a pena verificar antes de prosseguir.
4. Expondo tabelas à API de Dados: Dependendo das configurações da API de Dados do usuário, novas tabelas podem não ser expostas automaticamente via API de Dados (REST). Se for o caso, as funções anon e authenticated precisarão ter acesso explicitamente concedido.
Observe que isso é separado do RLS, que controla quais linhas são visíveis uma vez que uma tabela é acessível, não se a tabela é acessível ou não.
Quando um usuário relata que uma tabela criada por SQL está inesperadamente inacessível, verifique suas configurações da API de Dados e se as funções tiveram acesso concedido via GRANT SQL explícito. Ao conceder acesso público (anon/authenticated), sempre ative o RLS também. Veja Expondo uma Tabela à API de Dados para o fluxo de trabalho completo de configuração.
5. RLS em esquemas expostos.
Ative o RLS em todas as tabelas em qualquer esquema exposto, que inclui public por padrão. Isso é crítico no Supabase porque tabelas em esquemas expostos podem ser alcançadas através da API de Dados quando as funções anon/authenticated têm acesso (veja Expondo uma Tabela à API de Dados). Para esquemas privados, prefira RLS como defesa em profundidade. Após ativar o RLS, crie políticas que correspondam ao modelo de acesso real em vez de definir todas as tabelas para o mesmo padrão auth.uid().
6. Checklist de segurança. Ao trabalhar em qualquer tarefa do Supabase que toque em autenticação, RLS, views, armazenamento ou dados do usuário, passe por este checklist. Estas são armadilhas de segurança específicas do Supabase que criam vulnerabilidades silenciosamente:
Segurança de autenticação e sessão
- Nunca use claims
user_metadataem decisões de autorização baseadas em JWT. No Supabase,raw_user_meta_dataé editável pelo usuário e pode aparecer emauth.jwt(), portanto, é inseguro para políticas de RLS ou qualquer outra lógica de autorização. Armazene dados de autorização emraw_app_meta_data/app_metadataem vez disso. - Excluir um usuário não invalida tokens de acesso existentes. Faça logout ou revogue sessões primeiro, mantenha a expiração do JWT curta para aplicativos sensíveis e, para garantias estritas, valide
session_idcontraauth.sessionsem operações sensíveis. - Se você usar
app_metadataouauth.jwt()para autorização, lembre-se que as claims JWT nem sempre estão atualizadas até que o token do usuário seja atualizado.
- Nunca use claims
Exposição de chave de API e cliente
- Nunca exponha a chave
service_roleou secreta em clientes públicos. Prefira chaves publicáveis para código frontend. Chavesanonlegadas são apenas para compatibilidade. Em Next.js, qualquer variável de ambienteNEXT_PUBLIC_é enviada para o navegador.
- Nunca exponha a chave
RLS, views e código de banco de dados privilegiado
- Views ignoram RLS por padrão. No Postgres 15 e superior, use
CREATE VIEW ... WITH (security_invoker = true). Em versões mais antigas do Postgres, proteja suas views revogando o acesso das funçõesanoneauthenticated, ou colocando-as em um esquema não exposto.
- Views ignoram RLS por padrão. No Postgres 15 e superior, use
…
Perguntas frequentes
O que é RLS?
RLS significa Row Level Security (Segurança em Nível de Linha). É um recurso do Supabase que controla quem pode ver ou modificar quais dados no seu banco de dados.
Por que devo verificar as mudanças no Supabase?
O Supabase muda com frequência. Verificar as atualizações garante que você esteja usando as configurações e comandos mais recentes e corretos, evitando problemas.
O que devo fazer se uma tentativa falhar?
Se uma tentativa de solução não funcionar após algumas vezes, pare e tente um método diferente. Consulte a documentação, analise os erros com atenção e verifique os logs, se disponíveis.
Detalhes
Descrição original do autor
Use when doing ANY task involving Supabase.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4270
- 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
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC