home / skills / jeremylongshore / claude-code-plugins-plus-skills / supabase-hello-world

This skill provides a minimal Supabase hello world example to help you validate setup and run your first API call.

npx playbooks add skill jeremylongshore/claude-code-plugins-plus-skills --skill supabase-hello-world

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.5 KB
---
name: supabase-hello-world
description: |
  Create a minimal working Supabase example.
  Use when starting a new Supabase integration, testing your setup,
  or learning basic Supabase API patterns.
  Trigger with phrases like "supabase hello world", "supabase example",
  "supabase quick start", "simple supabase code".
allowed-tools: Read, Write, Edit
version: 1.0.0
license: MIT
author: Jeremy Longshore <[email protected]>
---

# Supabase Hello World

## Overview
Minimal working example demonstrating core Supabase functionality.

## Prerequisites
- Completed `supabase-install-auth` setup
- Valid API credentials configured
- Development environment ready

## Instructions

### Step 1: Create Entry File
Create a new file for your hello world example.

### Step 2: Import and Initialize Client
```typescript
import { SupabaseClient } from '@supabase/supabase-js';

const client = new SupabaseClient({
  apiKey: process.env.SUPABASE_API_KEY,
});
```

### Step 3: Make Your First API Call
```typescript
async function main() {
  const result = await supabase.from('todos').insert({ task: 'Hello!' }).select(); console.log(result.data);
}

main().catch(console.error);
```

## Output
- Working code file with Supabase client initialization
- Successful API response confirming connection
- Console output showing:
```
Success! Your Supabase connection is working.
```

## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Import Error | SDK not installed | Verify with `npm list` or `pip show` |
| Auth Error | Invalid credentials | Check environment variable is set |
| Timeout | Network issues | Increase timeout or check connectivity |
| Rate Limit | Too many requests | Wait and retry with exponential backoff |

## Examples

### TypeScript Example
```typescript
import { SupabaseClient } from '@supabase/supabase-js';

const client = new SupabaseClient({
  apiKey: process.env.SUPABASE_API_KEY,
});

async function main() {
  const result = await supabase.from('todos').insert({ task: 'Hello!' }).select(); console.log(result.data);
}

main().catch(console.error);
```

### Python Example
```python
from supabase import SupabaseClient

client = SupabaseClient()

response = supabase.table('todos').insert({'task': 'Hello!'}).execute(); print(response.data)
```

## Resources
- [Supabase Getting Started](https://supabase.com/docs/getting-started)
- [Supabase API Reference](https://supabase.com/docs/api)
- [Supabase Examples](https://supabase.com/docs/examples)

## Next Steps
Proceed to `supabase-local-dev-loop` for development workflow setup.

Overview

This skill provides a minimal, working Supabase example to verify setup and demonstrate basic API calls. It guides you through client initialization and a simple insert/query flow so you can confirm credentials and connectivity quickly. Ideal for new integrations, tests, and learning core Supabase patterns.

How this skill works

The skill initializes a Supabase client using environment-configured credentials, then performs a simple insert into a sample table (e.g., todos) and reads the result back. It includes short, runnable snippets in Python and TypeScript and highlights common errors and solutions so you can diagnose issues fast. The expected outcome is a console confirmation that the Supabase connection and basic CRUD call succeeded.

When to use it

  • Starting a new Supabase integration or project
  • Verifying API credentials and connectivity after installation
  • Testing a development environment or CI setup
  • Learning basic Supabase client patterns (insert, select)
  • Diagnosing simple SDK, auth, or network issues

Best practices

  • Store API keys and URLs in environment variables, not in source control
  • Start with a minimal table and simple insert/select to verify connectivity
  • Check SDK version compatibility with your environment (Python/TypeScript)
  • Add basic error handling and retries for network or rate-limit errors
  • Use a dedicated dev/test Supabase project to avoid production data changes

Example use cases

  • Run a quick smoke test after provisioning a Supabase project and service key
  • Demonstrate Supabase client initialization during onboarding or demos
  • Validate that CI runners can reach Supabase with provided secrets
  • Teach new team members how to perform a basic insert and query
  • Debug authentication errors by confirming environment variables are loaded

FAQ

What credentials do I need to run the example?

You need a Supabase URL and service role or anon API key set as environment variables before running the example.

Which SDK should I use: Python or TypeScript?

Use the SDK that matches your stack. TypeScript/JavaScript is common for web apps, while Python fits backend scripts and notebooks. Both examples are provided.

What if the insert fails with an auth error?

Confirm the API key and project URL are correct and exported to your environment. Ensure the key has the required permissions for the target table.