Agent skill

Supabase Architecture Variants

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

A skill your agent uses when choosing how to integrate Supabase into a specific stack — setting up Next.js SSR auth flows, wiring an SPA or React Native client, configuring mobile deep links, or…

MITAuto-check passedBackend & APIs

Install Supabase Architecture Variants

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill supabase-architecture-variants -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace supabase-architecture-variants --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/supabase-architecture-variants .claude/skills/supabase-architecture-variants && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
supabase-architecture-variants
GitHub stars
2.8k
Token cost
~1.9k tokens
SKILL.md length
655 words
Files
9 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when choosing how to integrate Supabase into a specific stack — setting up Next.js SSR auth flows, wiring an SPA or React Native client, configuring mobile deep links, or…

  • Works in 3 steps: Next.js SSR (App Router) → SPA (React/Vue) and Mobile (React Native) → Serverless (Edge Functions) and…
  • Choosing how to integrate Supabase into a specific stack — setting up Next.js SSR auth flows
  • SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 4 more sections
  • Calls supabase; needs NEXT_PUBLIC_SUPABASE_ANON_KEY and VITE_SUPABASE_ANON_KEY

What it does

Supabase Architecture Variants is an agent skill from jeremylongshore/tons-of-skills-marketplace. Use when choosing how to integrate Supabase into a specific stack — setting up Next.js SSR auth flows, wiring an SPA or React Native client, configuring mobile deep links, or designing multi-tenant data isolation. Covers where the client runs (browser vs server) and which key it uses (anon respects RLS, servicerole bypasses it). Trigger with phrases like "supabase next.js", "supabase SSR", "supabase react native", "supabase SPA", "supabase serverless", "supabase multi-tenant", "supabase server component"…

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `references/errors.md`, `references/examples.md` and `references/nextjs-ssr.md`). Compatibility notes: Designed for Claude Code

It sits in Backend & APIs, covering Cross-platform mobile apps, Multi-tenancy and Serverless. It works with Supabase, Next.js and React Native. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Choosing how to integrate Supabase into a specific stack — setting up Next.js SSR auth flows
  • React Native client
  • Configuring mobile deep links
  • Designing multi-tenant data isolation

Example prompts

  • “supabase next.js”
  • “supabase SSR”
  • “supabase react native”
  • “/supabase-architecture-variants”

Requirements

  • A credential in NEXT_PUBLIC_SUPABASE_ANON_KEY
  • A credential in VITE_SUPABASE_ANON_KEY
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(supabase:*), Bash(npx:*), Grep

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Next.js SSR (App Router)
  2. SPA (React/Vue) and Mobile (React Native)
  3. Serverless (Edge Functions) and Multi-Tenant

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash(supabase:*)
    • Bash(npx:*)
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • supabase

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • supabase.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • NEXT_PUBLIC_SUPABASE_ANON_KEY
    • VITE_SUPABASE_ANON_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Supabase Architecture Variants loads about 1.9k tokens when it runs, and up to ~7.8k if it reads all its reference files. Until then it costs about 150 tokens; SKILL.md has 655 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~150
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 655 words, ~1,903 tokens.

Download SKILL.mdSave it as .claude/skills/supabase-architecture-variants/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
supabase-architecture-variants
description
Use when choosing how to integrate Supabase into a specific stack — setting up Next.js SSR auth flows, wiring an SPA or React Native client, configuring mobile deep links, or designing multi-tenant data isolation. Covers where the client runs (browser vs server) and which key it uses (anon respects RLS, service_role bypasses it). Trigger with phrases like "supabase next.js", "supabase SSR", "supabase react native", "supabase SPA", "supabase serverless", "supabase multi-tenant", "supabase server component", "supabase architecture", "supabase service_role server".
allowed-tools
Read, Write, Edit, Bash(supabase:*), Bash(npx:*), Grep
compatibility
Designed for Claude Code
version
1.54.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, supabase, architecture, nextjs, ssr, spa, mobile, multi-tenant, serverless

Supabase Architecture Variants

Overview

Every Supabase createClient configuration turns on two questions: where the client runs (browser vs server) and which key it uses (anon respects RLS; service_role bypasses it). This skill supplies production-ready patterns for five architectures — Next.js SSR, SPA, Mobile, Serverless Edge Functions, and Multi-tenant isolation.

Prerequisites

  • @supabase/supabase-js v2+ installed
  • @supabase/ssr package for Next.js SSR (v0.5+)
  • Supabase project with URL, anon key, and service_role key
  • TypeScript project with generated database types (supabase gen types typescript)
  • For mobile: React Native with Expo or bare workflow

Instructions

Pick the architecture that matches the target stack, then follow the linked walkthrough for the full, copy-ready client setup.

ArchitectureClient(s)KeySession storage
Next.js SSRServer (cookies) + browser + adminanon in-request, service_role server-onlyHTTP cookies
SPA (React/Vue)Single browser clientanon onlylocalStorage
Mobile (React Native)Single native clientanon onlyAsyncStorage
Serverless (Edge Functions)Per-request clientanon (forwarded JWT) or service_rolenone (stateless)
Multi-tenantAny of the aboveanon + RLS, or schema-per-tenantper host pattern
Step 1 — Next.js SSR (App Router)

Next.js App Router needs two separate clients: a server client that reads/writes auth cookies via @supabase/ssr, and a browser client for client components. A third service_role admin client is used only in Server Actions/Route Handlers and must never reach the browser. The browser client is the minimal skeleton:

typescript
// lib/supabase/client.ts
'use client'
import { createBrowserClient } from '@supabase/ssr'
import type { Database } from '../database.types'

export function createSupabaseBrowser() {
  return createBrowserClient<Database>(
    process.env.NEXT_PUBLIC_SUPABASE_URL!,
    process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!  // anon key only — respects RLS
  )
}

Full walkthrough — server client, admin client, middleware session refresh, server component usage, Server Actions, and the OAuth callback route: Next.js SSR patterns.

Step 2 — SPA (React/Vue) and Mobile (React Native)

SPAs and mobile apps both use a single browser/native client with the anon key; all authorization is enforced by RLS and the service_role key is never bundled. They differ only in session storage (localStorage for SPA, AsyncStorage for mobile) and OAuth handling (URL detection for SPA, deep links for mobile). Minimal SPA skeleton:

typescript
// src/lib/supabase.ts
import { createClient } from '@supabase/supabase-js'
import type { Database } from './database.types'

export const supabase = createClient<Database>(
  import.meta.env.VITE_SUPABASE_URL,
  import.meta.env.VITE_SUPABASE_ANON_KEY,
  { auth: { autoRefreshToken: true, persistSession: true, detectSessionInUrl: true } }
)

Full walkthrough — SPA singleton + auth-state listener, React Query hooks, React Native AsyncStorage client, mobile OAuth with deep links, and Expo app.json config: SPA and mobile patterns.

Step 3 — Serverless (Edge Functions) and Multi-Tenant

Edge Functions create a per-request client from the forwarded JWT (stateless, no session persistence), escalating to service_role only for privileged operations. Multi-tenant isolation is either RLS-based (a tenant_members lookup gates every row) or schema-per-tenant.

Full walkthrough — Edge Function per-request clients, admin escalation, RLS multi-tenant isolation, and tenant-scoped SDK queries: serverless and multi-tenant patterns.

Show full SKILL.md (268 more words)Show less

Output

  • Next.js SSR setup with server client (cookies-based auth), browser client, and middleware
  • Server Actions using admin client with service_role for privileged operations
  • SPA pattern with singleton client, React Query integration, and auth state listener
  • React Native setup with AsyncStorage, deep link OAuth, and in-app browser
  • Edge Function patterns for per-request auth and admin escalation
  • Multi-tenant RLS isolation with tenant_members lookup and scoped queries
  • Decision matrix for choosing the right architecture per stack

Error Handling

IssueCauseSolution
AuthSessionMissingError in Server ComponentCookies not passed to Supabase clientUse createServerClient from @supabase/ssr with cookie handlers
OAuth redirect fails in React NativeMissing deep link schemeAdd scheme to app.json and configure Supabase redirect URL
service_role key in client bundleWrong env var prefix (NEXT_PUBLIC_)Remove NEXT_PUBLIC_ prefix; only server code should access it
Multi-tenant data leakMissing RLS policy or missing tenant_id filterVerify RLS is enabled and policies check tenant_members
Edge Function auth.getUser() returns nullMissing Authorization headerForward user's JWT from the client call
Session not persisting on mobileAsyncStorage not configuredPass AsyncStorage in auth config; ensure package is installed

Examples

Verify tenant isolation by impersonating a JWT and confirming RLS scopes the result:

sql
-- Test that RLS properly isolates tenants
SET request.jwt.claims = '{"sub": "user-uuid-1"}';

-- Should only return projects for user-uuid-1's tenant
SELECT * FROM public.projects;

More runnable examples — the Next.js OAuth callback route and further end-to-end flows: Next.js SSR patterns and examples.

Resources

Next Steps

After wiring the client for your architecture, review supabase-known-pitfalls for common mistakes and anti-patterns to avoid, then generate database types with supabase gen types typescript and enable RLS on every table before shipping.

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (references) in skills/.curated/supabase-architecture-variants of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/errors.md
  • references/examples.md
  • references/nextjs-ssr.md
  • references/serverless-and-multi-tenant.md
  • references/spa-and-mobile.md
  • references/variant-a-monolith-(simple).md
  • references/variant-b-service-layer-(moderate).md
  • references/variant-c-microservice-(complex).md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Supabase Architecture Variants next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Supabase Architecture Variants compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Supabase Architecture Variants this skilljeremylongshore/tons-of-skills-marketplace2.8k—~1.9kAutomated safety check: PassMIT
Authaiskillstore/marketplace433—~1.6kAutomated safety check: PassNone
Amplify Workflowawslabs/agent-plugins916—~3.2kAutomated safety check: PassApache-2.0
AWS Amplifyaws/agent-toolkit-for-aws2.8k—~3.9kAutomated safety check: PassApache-2.0
Clerkgeekskai/blog1033 repos~1.5kAutomated safety check: PassMIT
Supabase Development and Debuggingsupabase/agent-skills2.7k3 repos~3.6kAutomated safety check: PassMIT

Similar skills

  • Auth

    aiskillstore/marketplace

    Authentication and access control skill for Next.js 15 + Supabase applications.

    433 GitHub stars~1.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Amplify Workflow

    awslabs/agent-plugins

    Official

    Build and deploy full-stack web and mobile apps with AWS Amplify Gen2 (TypeScript code-first).

    916 GitHub stars~3.2k tokensUpdated yesterday
    MobileAuto-check passed
  • AWS Amplify

    aws/agent-toolkit-for-aws

    Official

    Build and deploy full-stack web and mobile apps with AWS Amplify Gen2 (TypeScript code-first).

    2.8k GitHub stars~3.9k tokensUpdated yesterday
    MobileAuto-check passed
  • Clerk

    geekskai/blog

    Clerk authentication router. An agent skill from geekskai/blog.

    103 GitHub starsUsed in 3 repos~1.5k tokens
    Backend & APIsAuto-check passed
  • Official

    General Supabase skill for database, auth, Edge Functions, Realtime and storage work, plus client libraries, migrations, security audits, debugging and reading logs.

    2.7k GitHub starsUsed in 3 repos~3.6k tokens
    Backend & APIsAuto-check passed
  • Supabase

    curvenote/curvenote

    A skill your agent uses when doing ANY task involving Supabase.

    170 GitHub starsUsed in 5 repos~2.2k tokens
    Backend & APIsAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Questions about Supabase Architecture Variants

What does Supabase Architecture Variants do?

A skill your agent uses when choosing how to integrate Supabase into a specific stack — setting up Next.js SSR auth flows, wiring an SPA or React Native client, configuring mobile deep links, or…. Supabase Architecture Variants is an agent skill from jeremylongshore/tons-of-skills-marketplace.js SSR auth flows, wiring an SPA or React Native client, configuring mobile deep links, or designing multi-tenant data isolation.

When should I use Supabase Architecture Variants?

Supabase Architecture Variants fits situations like: choosing how to integrate Supabase into a specific stack — setting up Next.js SSR auth flows; React Native client; configuring mobile deep links; designing multi-tenant data isolation.

How do I install Supabase Architecture Variants in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill supabase-architecture-variants -a claude-code`. Or copy the skill folder (skills/.curated/supabase-architecture-variants in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/supabase-architecture-variants in your project. Claude Code loads it when a task matches its description.

How do I install Supabase Architecture Variants in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill supabase-architecture-variants -a codex`. Or copy the skill folder (skills/.curated/supabase-architecture-variants in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/supabase-architecture-variants in your project. Codex loads it when a task matches its description.

Can I use Supabase Architecture Variants in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill supabase-architecture-variants -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/supabase-architecture-variants, .gemini/skills/supabase-architecture-variants, .github/skills/supabase-architecture-variants and .opencode/skills/supabase-architecture-variants in your project.

What does Supabase Architecture Variants need to run?

Going by SKILL.md and its folder, Supabase Architecture Variants needs the command-line tools its instructions call (supabase) and credentials named NEXT_PUBLIC_SUPABASE_ANON_KEY and VITE_SUPABASE_ANON_KEY. Our summary lists: A credential in NEXT_PUBLIC_SUPABASE_ANON_KEY; A credential in VITE_SUPABASE_ANON_KEY. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(supabase:*), Bash(npx:*), Grep. Compatibility (from SKILL.md): Designed for Claude Code.

Does Supabase Architecture Variants access the network?

SKILL.md names 1 domain. As links in the text: supabase.com. This is read from the text; nothing was executed.

Is Supabase Architecture Variants safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Supabase Architecture Variants use?

Supabase Architecture Variants is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Supabase Architecture Variants use?

About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.9k tokens, read only when the agent opens those files.

What are the alternatives to Supabase Architecture Variants?

Skills that share tags, products or a category with Supabase Architecture Variants: Auth (aiskillstore/marketplace, 433 stars), Amplify Workflow (awslabs/agent-plugins, 916 stars), AWS Amplify (aws/agent-toolkit-for-aws, 2.8k stars) and Clerk (geekskai/blog, 103 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Supabase Architecture Variants?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.