From cloudbase
Queries, creates, updates, and deletes CloudBase document database data from browser apps using @cloudbase/js-sdk. Supports complex queries, pagination, aggregation, realtime subscriptions, and geolocation queries.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cloudbase:no-sql-web-sdkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
If this environment only installed the current skill, start from the CloudBase main entry and use the published `cloudbase/references/...` paths for sibling skills.
If this environment only installed the current skill, start from the CloudBase main entry and use the published cloudbase/references/... paths for sibling skills.
https://cnb.cool/tencent/cloud/cloudbase/cloudbase-skills/-/git/raw/main/skills/cloudbase/SKILL.mdhttps://cnb.cool/tencent/cloud/cloudbase/cloudbase-skills/-/git/raw/main/skills/cloudbase/references/no-sql-web-sdk/SKILL.mdKeep local references/... paths for files that ship with the current skill directory. When this file points to a sibling skill such as auth-tool or web-development, use the standalone fallback URL shown next to that reference.
@cloudbase/js-sdk.app.database(), db.collection(), .where(), .watch(), pagination, aggregation, or geolocation queries in a Web frontend.../auth-web/SKILL.md (standalone fallback: https://cnb.cool/tencent/cloud/cloudbase/cloudbase-skills/-/git/raw/main/skills/cloudbase/references/auth-web/SKILL.md)../web-development/SKILL.md (standalone fallback: https://cnb.cool/tencent/cloud/cloudbase/cloudbase-skills/-/git/raw/main/skills/cloudbase/references/web-development/SKILL.md)../no-sql-wx-mp-sdk/SKILL.md (standalone fallback: https://cnb.cool/tencent/cloud/cloudbase/cloudbase-skills/-/git/raw/main/skills/cloudbase/references/no-sql-wx-mp-sdk/SKILL.md)wx.cloud.database().When to write SDK code (use this skill):
db.collection().add(), .get(), .update()index.js already has cloudbase.init())When to use MCP tools instead:
writeNoSqlDatabaseContent, managePermissions, etc.Key distinction: If the user says "使用 JS SDK 执行 XX 操作" (use JS SDK to perform XX operation) or "修改代码" (modify code), write SDK code in the project files. Do not use MCP database write tools for app-level data operations.
wx.cloud.database() or Node SDK patterns in browser code.CUSTOM security rule to take effect immediately after you call managePermissions(updateResourcePermission). The backend caches rule evaluators for 2–5 minutes; first writes after a rule change may silently fail or be rejected with DATABASE_PERMISSION_DENIED even when the expression is correct. Either (a) wait a few minutes and retry the same write before assuming the rule is wrong, or (b) verify the rule is live by reading result.code / result.message on every write and by doing a get() round-trip on the just-written _id; do not treat a resolved promise as success. See security-rules.md → "Propagation And Verification" for the full pattern.db.collection(...).add(...). In the CloudBase Web SDK, the created document ID is exposed at top-level result._id, not result.id, result.data.id, or result.insertedId.READONLY. A validated pattern is a CUSTOM rule that reads role from user_roles by auth.uid and combines it with doc.authorId == auth.uid, while frontend writes can stay on .doc(id).update() / .doc(id).remove().app / db instance.This skill covers browser-side document database usage via @cloudbase/js-sdk.
Use it for:
watch()import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({
env: "your-env-id"
});
const db = app.database();
const _ = db.command;
Important rules:
./crud-operations.md./complex-queries.md./pagination.md./aggregation.md./realtime.md./geolocation.md./security-rules.mdStart from the auth model
Keep browser code browser-native
app.database() and collection references.Respect security rules
READONLY can be enough.CUSTOM rule. A validated CMS pattern is get('database.user_roles.' + auth.uid).role == 'admin' || doc.authorId == auth.uid..doc(id).update() / .doc(id).remove()._id == auth.uid. In this CMS pattern, user_roles keyed by uid is acceptable.Return user-friendly errors
updated / deleted or surfaced code / message.Persist IDs from create operations correctly
.add(...), the newly created document ID is result._id.result.id, result.data, or other driver-specific fields.const result = await db.collection("todos")
.where({ completed: false })
.get();
const result = await db.collection("posts").add({
title: "New article",
content: "...",
createdAt: new Date()
});
const articleId = result._id;
const result = await db.collection("posts")
.orderBy("createdAt", "desc")
.skip(20)
.limit(10)
.get();
const result = await db.collection("users")
.field({ name: true, email: true, _id: false })
.get();
try {
const result = await db.collection("todos").get();
console.log(result.data);
} catch (error) {
console.error("Database error:", error);
}
When the SDK returns an operation result, check error indicators and translate them into readable application behavior.
npx claudepluginhub tencentcloudbase/cloudbase-mcp --plugin cloudbaseInitializes CloudBase Relational Database from browser JavaScript SDK and provides Supabase-style query patterns for frontend apps.
Performs CRUD operations on Firestore documents with typed data, collection hierarchy exploration, and structured querying.
Manages Firestore CRUD, queries, batch writes, indexes, security rules, and migrations. Use for safe production document operations, troubleshooting, and emulator validation.