Awesome-omni-skill relational-database-web-cloudbase
Use when building frontend Web apps that talk to CloudBase Relational Database via @cloudbase/js-sdk – provides the canonical init pattern so you can then use Supabase-style queries from the browser.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/frontend/relational-database-web-cloudbase" ~/.claude/skills/diegosouzapw-awesome-omni-skill-relational-database-web-cloudbase && rm -rf "$T"
manifest:
skills/frontend/relational-database-web-cloudbase/SKILL.mdsource content
When to use this skill
Use this skill whenever you need to access CloudBase Relational Database from a browser app (React, Vue, vanilla JS) using
@cloudbase/js-sdk.
Use it when you need to:
- Initialize CloudBase Relational Database on the frontend
- Replace an existing Supabase client with CloudBase Relational Database
- Share a single
client across your Web appdb
Do NOT use this skill for:
- Backend/Node access to CloudBase Relational Database (use
→relation-database-skill
)node-sdk/quickstart.md - MCP/agent database management (use
→relation-database-skill
)mcp-tools/mcp-guide.md - Auth flows (use the Web/Node/Auth skills instead)
How to use this skill (for a coding agent)
- Confirm environment
- Ask the user for:
– CloudBase environment IDenv
- Ask the user for:
- Follow the initialization pattern in this file exactly
- Only change values like
, never the object shape.env
- Only change values like
- After initialization, use Supabase knowledge for queries
- Treat
as a Supabase client – method names and patterns are identical.db
- Treat
- Avoid re-initializing CloudBase
- Create a single shared
client and reuse it across components.db
- Create a single shared
Installation
npm install @cloudbase/js-sdk
Initialization pattern (canonical)
import cloudbase from "@cloudbase/js-sdk"; const app = cloudbase.init({ env: "your-env-id", // CloudBase environment ID }); const auth = app.auth(); // Handle user authentication separately (Web Auth skill) const db = app.rdb(); // Use db exactly like a Supabase client
Rules:
- Do not invent new properties on the
options.cloudbase.init - Always call
to get the database client;app.rdb()
is not the DB client.app
Scenario 1: Replace Supabase client in a React app
// lib/db.js (shared database client) import cloudbase from "@cloudbase/js-sdk"; const app = cloudbase.init({ env: "your-env-id", }); export const db = app.rdb();
// hooks/usePosts.js import { useEffect, useState } from "react"; import { db } from "../lib/db"; export function usePosts() { const [posts, setPosts] = useState([]); useEffect(() => { async function fetchPosts() { const { data } = await db.from("posts").select("*"); setPosts(data || []); } fetchPosts(); }, []); return { posts }; }
Scenario 2: Basic query pattern (Supabase-style)
// Fetch latest posts const { data, error } = await db .from("posts") .select("*") .order("created_at", { ascending: false }); if (error) { console.error("Failed to load posts", error.message); }
Scenario 3: Insert / update / delete rows
// Insert await db.from("posts").insert({ title: "Hello" }); // Update await db.from("posts").update({ title: "Updated" }).eq("id", 1); // Delete await db.from("posts").delete().eq("id", 1);
Key principle: CloudBase Relational Database = Supabase API
- After you have
, use Supabase documentation and patterns for all queries.db = app.rdb() - This skill only standardizes Web initialization and client sharing.
- Do not duplicate Supabase docs into this skill; rely on the model's built-in Supabase knowledge for query shapes and options.