agentleFS
ohad6kohad6k/VibeRaven/skills/vercel-supabase-launch-check/SKILL.md

vercel-supabase-launch-check

Skill64 starsChanged 11 days agoMITView on GitHub

Use when an AI-built app on Vercel and Supabase (Lovable, Bolt, v0, Cursor or Claude Code output) is about to launch or be handed to a client, or when the user asks whether Supabase tables are missing RLS, whether a policy lets everyone read or write, whether a service role or secret key leaked into client code or a NEXT_PUBLIC_ variable, why env vars differ in production, or why a Stripe webhook fails after deploy. Runs the free local VibeRaven repo check, with no login and no database credentials. Not a live database or penetration test, and not for other stacks.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If viberaven_check_readiness is in your tool list (the local VibeRaven MCP server), you can call it on the project root instead.

    line 18
  2. Very specific:

    Fix one gap at a time: Prefer the printed fix, or preview a safe recipe with npx -y viberaven@1.7.6 fix --gap <id> --dry-run before …

    line 20
  3. Distinctive:

    Re-check once per batch of fixes,: not after every edit, and report what changed.

    line 21
  4. Distinctive:

    Do not tell the user the app is secure, or that a clear result means it is safe.

    line 46
  5. Distinctive:

    Do not run destructive SQL, drop policies, or disable RLS to make an error go away.

    line 47
  6. Distinctive:

    Do not paste, print or upload secrets.

    line 48
  7. Very specific:

    Do not connect to the live database yourself or ask for database credentials.

    line 49
  8. Distinctive:

    Do not use this for stacks other than Vercel + Supabase, or for one local build error.

    line 50

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Vercel + Supabase launch check

Checked against published CLI 1.7.6 on 2026-11-02 using disposable synthetic fixtures and dry-run previews. This verifies repository behavior, not a live provider.

A first pass over the repository before real users arrive. VibeRaven reads the project files on this machine (migrations, client code, env files, webhook routes) and lists launch gaps, each with the file that caused it and a fix. It is advice, not a gate: the user decides when to ship.

Phases

  1. Run the check in the project root:
    npx -y viberaven@1.7.6 check
    If viberaven_check_readiness is in your tool list (the local VibeRaven MCP server), you can call it on the project root instead. The hosted server at https://viberaven.dev/mcp does not check the repository. The command exits 1 when it finds blockers. That is a result, not a crash.
  2. Read the findings from the terminal and from .viberaven/agent-tasklist.md. Explain the top one or two in plain words: what is exposed, to whom, and in which file.
  3. Fix one gap at a time. Prefer the printed fix, or preview a safe recipe with npx -y viberaven@1.7.6 fix --gap <id> --dry-run before applying it. Show the user the diff.
  4. Re-check once per batch of fixes, not after every edit, and report what changed.
  5. Say what the check cannot see. Policies or settings changed only in the Supabase or Vercel dashboard are invisible to a repo check. For Vercel and Supabase evidence, run npx -y viberaven@1.7.6 audit --vercel-supabase. For CI, --strict turns the verdict into an exit code, but only if the user wants that.
  6. Compare with the live project, only if the user already connected the official Supabase MCP server. Do not ask for credentials and do not set it up for this. Use read-only tools, and prefer a connection with read_only=true:
    • get_advisors with type security, for what Supabase itself flags on the live database.
    • list_tables, to see which live tables have RLS on.
    • execute_sql with this select only, to list live policies that let everyone through:
      select tablename, policyname, cmd, qual, with_check
      from pg_policies
      where schemaname = 'public'
        and (qual = 'true' or with_check = 'true');
    Then tell the user where the repo and the live project disagree: a table the migrations protect but the live database does not, or a policy someone changed in the dashboard. Read qual, not the policy name: a policy called "Owners can update their agents" with using (true) lets anyone update every row.

What it looks for

  • Supabase tables created without RLS in migrations, and policies that allow everyone to read or write
  • Data API grants: tables the client uses without a grant, once the repo opts into Supabase's new grants behavior, and grants on tables without RLS
  • Security definer functions that anyone holding the anon key can call
  • A service role or secret key in client code or under NEXT_PUBLIC_ / VITE_
  • Env vars that differ between local, preview and production
  • Stripe webhook routes that skip the signature check

Do not

  • Do not tell the user the app is secure, or that a clear result means it is safe. It means the repo checks found nothing.
  • Do not run destructive SQL, drop policies, or disable RLS to make an error go away.
  • Do not paste, print or upload secrets. Refer to keys by variable name and file.
  • Do not connect to the live database yourself or ask for database credentials. VibeRaven never needs them. The live comparison in step 6 uses only a Supabase MCP connection the user already made, with read-only tools.
  • Do not use this for stacks other than Vercel + Supabase, or for one local build error.

More: https://viberaven.dev/guides and https://viberaven.dev/llms.txt

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.