Supabase Client & PostgreSQL Row Level Security (RLS)
Verified SecureCreated by Supabase•fullstack Workflow
Enforce zero-trust multi-tenant data access policies at the database layer with Supabase and RLS.
mkdir -p ~/.agents/skills/supabase-auth-row-level-security && curl -fsSL https://askills.dev/api/skills/supabase-auth-row-level-security/raw -o ~/.agents/skills/supabase-auth-row-level-security/SKILL.md
Client Trigger & Invocation Simulator
$supabase-auth-row-level-security <your task>Type `$supabase-auth-row-level-security` in the chat or invoke via natural language. Codex automatically identifies the skill from ~/.agents/skills or project .skills, mounts bundled scripts, and executes inside the workspace sandbox.
$supabase-auth-row-level-security Enable Row Level Security on a database table to ensure users can only read their own documents.
Overview & Problem Solved
When modern frontier LLMs (like Claude 3.7, GPT-4o, or deep reasoning agents) execute complex domain tasks without standard operating procedures, they frequently suffer from context drift, incorrect CLI arguments, or non-standard file hierarchies. Supabase Client & PostgreSQL Row Level Security (RLS) eliminates probabilistic guessing by supplying the Agent with an authoritative, sandboxed execution specification.
By packaging verified workflows into a structured SKILL.md manifest, this skill establishes deterministic boundaries, verifies dependencies, and executes tasks using proven engineering conventions.
Operational Impact: Without Skill vs. With Skill
Raw frontier models possess deep knowledge, but probabilistic prompting lacks rigid engineering guardrails. Packaging Supabase Client & PostgreSQL Row Level Security (RLS) into a verified SKILL.md transforms speculative model behavior into reproducible, deterministic delivery.
- Speculative CLI Flags: Model guesses experimental command arguments or deprecated API endpoints.
- Lazy Placeholder Code: Outputs
// TODO: implement error handlingor skips critical verification phases. - Directory Pollution: Generates non-standard file structures that break existing project linters and monorepo roots.
- Extraneous Context Bloat: Wastes thousands of output tokens on narrative pleasantries rather than verified deliverables.
function process() {
// TODO: Connect database here
console.log("Done");
}- Codified Workflow Stages: Follows strict step-by-step algorithms explicitly codified in SKILL.md.
- Zero-Placeholder Delivery: Every deliverable is 100% implemented, with complete error boundaries and types.
- Automatic Pre-Flight Check: Agent inspects environment dependencies (Python/Node/Docker) before modifying files.
- Self-Healing Verification: Runs automated linting, test suites, or syntax parsers before concluding the turn.
export async function execute() {
const validated = schema.parse(input);
return await auditAndPersist(validated);
}Core Capabilities & Guarantees
Follows pre-tested instructions and step-by-step algorithms, avoiding experimental or hallucinated flags.
Runs with identical behavioral fidelity across OpenAI Codex, Claude Code, Cursor IDE, and Windsurf Cascade.
Enforces workspace-scoped file mutations and shields environment secrets against accidental prompt leakage.
Automates test verification, linter checks, and syntax validation before completing any user turn.
Agent Execution Pipeline
Intent Matching & Context Ingestion
The agent scans the user request against the skill's YAML frontmatter triggers and loads the verified instructions into active working memory.
Toolchain & Dependency Validation
The runtime verifies that necessary tools, interpreters, and environment configurations exist within the workspace sandbox before proceeding.
Deterministic Execution & Delivery
The agent executes the codified SOP, runs verification checks, and outputs high-fidelity deliverables without extraneous narration.
Validated Prompt Templates
(Click to copy)“Enable Row Level Security on a database table to ensure users can only read their own documents.”
“Configure @supabase/ssr in Next.js to manage authentication tokens via secure HTTP cookies.”
“Write an RLS policy using auth.uid() that allows team members to read shared workspace projects.”
Automated Security & Audit Report
Workspace Scoped
Cannot escape workspace rootInstruction Only
Zero system subprocessesOffline Sandbox
No internet egressNone Required
Runs fully standaloneEnterprise & Production Use Cases
Frequently Asked Questions
Q: What makes Supabase Client & PostgreSQL Row Level Security (RLS) different from a standard MCP server?
MCP (Model Context Protocol) provides external protocol connections to databases or APIs. In contrast, Supabase Client & PostgreSQL Row Level Security (RLS) is a high-level operational skill (SKILL.md) that teaches AI Agents procedural intelligence, deterministic step-by-step SOPs, parameter constraints, and self-correction workflows.
Q: Is Supabase Client & PostgreSQL Row Level Security (RLS) compatible with frontier models like Claude 3.7 Sonnet, GPT-4o, and DeepSeek-R1?
Yes. The skill is packaged with standard markdown instructions (SKILL.md) and YAML frontmatter, adhering to the universal agent skill standard natively supported across Codex, Claude Code, Cursor, and Windsurf.
Q: What permissions does Supabase Client & PostgreSQL Row Level Security (RLS) require in agent mode?
Every listed skill undergoes automated static analysis scoring 98/100. It strictly adheres to workspace-scoped filesystem boundaries and does not execute untrusted remote code.
Q: Can our team customize or extend the rules in this SKILL.md?
Yes. Once installed in your project root (.skills/supabase-auth-row-level-security/SKILL.md or ~/.agents/skills/supabase-auth-row-level-security/), you can customize the instructions to include internal team guidelines, custom linters, or proprietary APIs.
SKILL.md Source Specification
---
name: "supabase-auth-row-level-security"
description: "Enforce zero-trust multi-tenant data access policies at the database layer with Supabase and RLS."
metadata:
author: "Supabase"
version: "1.0.0"
runtime_compatibility:
- "codex"
- "claude-code"
- "cursor"
- "windsurf"
triggers:
- "write postgres rls policy supabase"
- "setup @supabase/ssr nextjs"
- "auth.uid() rls rule"
permissions:
fs_read: true
fs_write: "workspace"
shell_exec: false
net_access: false
---
# Supabase Client & PostgreSQL Row Level Security (RLS)
Configures Supabase in Next.js/Vue: @supabase/ssr package, cookie storage helpers, authoring PostgreSQL Row Level Security policies (CREATE POLICY ... USING (auth.uid() = user_id)), and auth state listeners.
## When to Invoke
Invoke this skill whenever you need to:
- write postgres rls policy supabase
- setup @supabase/ssr nextjs
- auth.uid() rls rule
## Execution SOP & Rules
1. Enable RLS on table: ALTER TABLE documents ENABLE ROW LEVEL SECURITY;.
2. Create policy: CREATE POLICY 'Users view own docs' ON documents FOR SELECT USING (auth.uid() = user_id);.
3. Initialize SSR client: createServerClient(url, key, { cookies: { get, set, remove } }).
4. Verify unauthorized users receive empty result sets without leaking data even if frontend guards are bypassed.
## Verification Checklist
- Run local linting, syntax validation, and type-checks before reporting completion.
- Ensure all created or modified files adhere to workspace boundaries and avoid uncommitted secrets.
- Verify tests or build commands exit cleanly with return code 0.
Related Fullstack Skills
Manage asynchronous form submissions, pending spinners, and error state via useActionState.
Render instant client UI state updates while asynchronous server mutations are in-flight.
Execute type-safe server-side mutations directly from React components with zero boilerplate.