Pular para o conteúdo
Skillpedia
Diversos48 mil · #4270

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/supabase/SKILL.md

Mensagem pronta para colar

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

Ou 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.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.

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_metadata em decisões de autorização baseadas em JWT. No Supabase, raw_user_meta_data é editável pelo usuário e pode aparecer em auth.jwt(), portanto, é inseguro para políticas de RLS ou qualquer outra lógica de autorização. Armazene dados de autorização em raw_app_meta_data / app_metadata em 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_id contra auth.sessions em operações sensíveis.
    • Se você usar app_metadata ou auth.jwt() para autorização, lembre-se que as claims JWT nem sempre estão atualizadas até que o token do usuário seja atualizado.
  • Exposição de chave de API e cliente

    • Nunca exponha a chave service_role ou secreta em clientes públicos. Prefira chaves publicáveis para código frontend. Chaves anon legadas são apenas para compatibilidade. Em Next.js, qualquer variável de ambiente NEXT_PUBLIC_ é enviada para o navegador.
  • 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ções anon e authenticated, ou colocando-as em um esquema não exposto.

…

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.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas