SKILL.md
$2b
Activation Contract
Read this section first. The routing contract uses stable skill identifiers such as auth-tool, auth-web, and http-api, so it works across source files, generated artifacts, and local installs.
Standalone skill fallback
If the current environment only exposes a single published skill, start from the CloudBase main entry:
- CloudBase main entry:
https://cnb.cool/tencent/cloud/cloudbase/cloudbase-skills/-/git/raw/main/skills/cloudbase/SKILL.md
- Sibling skill pattern:
https://cnb.cool/tencent/cloud/cloudbase/cloudbase-skills/-/git/raw/main/skills/cloudbase/references/<skill-id>/SKILL.md
When a skill body references stable sibling ids such as auth-tool, auth-web, ui-design, or web-development, replace <skill-id> with that published directory name to open the original file.
If a skill points to its own references/... files, keep following those relative paths from the current skill directory. If the environment does not support MCP directly, read cloudbase first and follow its mcporter / MCP setup guidance before using any platform-specific skill.
Global rules before action
- Identify the scenario first, then read the matching source skill before writing code or calling CloudBase APIs.
- Prefer semantic sources when maintaining the toolkit, but express runtime routing in stable skill identifiers rather than repo-only paths. Do not treat generated, mirrored, or IDE-specific artifacts as the primary knowledge source.
- Use MCP or mcporter first for CloudBase management tasks, and inspect tool schemas before execution.
- If the task includes UI, read
ui-designfirst and output the design specification before interface code.
- If the task includes login, registration, or auth configuration, read
auth-toolfirst and enable required providers before frontend implementation.
- Keep auth domains separate: management-side login uses
auth; app-side auth configuration usesqueryAppAuth/manageAppAuth.
Universal guardrails
- If the same implementation path fails 2-3 times, stop retrying and reroute. Re-check the selected platform skill, runtime, auth domain, permission model, and SDK boundary before editing more code.
- Always specify
EnvIdexplicitly in code, configuration, and command examples when initializing CloudBase clients or manager operations. Do not rely on the current CLI-selected environment, implicit defaults, or copied local state.
- When saving MCP or tool results to a local file with a generic file-writing tool, pass text, not raw objects. For JSON output files, serialize first with
JSON.stringify(result, null, 2)and write that string as the file content.
- If the file-writing tool reports that a field such as
contentexpected a string but received an object, do not retry with the same raw object. Serialize the object first, then retry once with the serialized text, and make sure the retried call actually passes the serialized string rather than the original object.
- Keep scenario-specific pitfall lists in the matching child skills instead of expanding this entry file.
Engineering constitution (applies to every scenario)
These rules override convenience. They are a gate before saying "done". Full rationale + replacements live in web-development (Engineering constitution section).
- **Do NOT use
anyto bypass type errors.** Not: any, notas any, not@ts-ignore, not@ts-nocheck. Useunknown+ a type guard, a preciseinterface, ordeclare moduleaugmentation instead.anypropagates silently and defeats the compile-time safety net.
- Self-verify before claiming done. Static layer (
tsc --noEmit/ lint / project build / unit tests) and runtime layer (useagent-browserto exercise user-visible flows when the change touches routing, rendering, forms, auth, or async UI). "It should work" without evidence is not acceptable. If a layer cannot be run locally, name the gap explicitly.
- Do not paper over failures. No empty
try/catchto silence bugs, no skipping / deleting failing tests to make CI green, "it compiles" is not "it works".
- **
ai.createModel(...)/wx.cloud.extend.AI.createModel(provider)argument is a GroupName, not a vendor / model id.** Only three legal shapes:"cloudbase"(default, TokenHub-backed managed pool),"hunyuan-exp"(only ifDescribeAIModelsreturns it, mainly Mini Program Growth Plan), or"custom-<your-name>"(user-defined viaCreateAIModel, must start withcustom-). The concrete model id (deepseek-v4-flash,hunyuan-2.0-instruct-20251111,kimi-k2.6, …) goes into the **modelfield** ofgenerateText/streamText, never intocreateModel(...). Seeai-model-web/ai-model-nodejs/ai-model-wechatfor the full STOP card.
High-priority routing
Scenario
Read first
Then read
Do NOT route to first
Must check before action
Web login / registration / auth UI
auth-tool
auth-web, web-development
cloud-functions, http-api
Provider status and publishable key
WeChat mini program + CloudBase
miniprogram-development
auth-wechat, no-sql-wx-mp-sdk
auth-web, web-development
Whether the project really uses CloudBase / wx.cloud
Native App / Flutter / React Native
http-api
auth-tool, relational-database-tool
auth-web, no-sql-web-sdk, web-development
SDK boundary, OpenAPI, auth method
Web projects + NoSQL Database
web-development
no-sql-web-sdk, auth-web
relational-database-tool, http-api
Login state and database access permission model
MySQL Database (relational)
relational-database-tool
relational-database-web, http-api
no-sql-web-sdk, web-development
Distinguish MCP management vs app code access
Cloud Functions
cloud-functions
auth-tool, ai-model-nodejs
cloudrun-development, auth-web
Event vs HTTP function, runtime, scf_bootstrap
CloudRun backend
cloudrun-development
auth-tool, relational-database-tool
cloud-functions
Container boundary, Dockerfile, CORS
AI Agent (智能体开发)
cloudbase-agent
cloud-functions, cloudrun-development
cloud-functions, cloudrun-development
AG-UI protocol, scf_bootstrap, SSE streaming
UI generation
ui-design
web-development, miniprogram-development
cloud-functions
Design specification first
AI Model (Web)
web-development
ai-model-web, ui-design
ai-model-wechat, http-api
Platform and streaming interaction mode
AI model call (大模型调用 / 文本生成 / 图片生成 / 流式对话)
ai-model-web
ai-model-nodejs, ai-model-wechat
cloudbase-agent, cloud-functions, cloudrun-development
先跑「调用前必须的资格检查」:DescribeActivityInfo(小程序成长计划) + DescribeEnvPostpayPackage(Token Credits 资源包)
Resource health inspection / troubleshooting
ops-inspector
cloud-functions, cloudrun-development
ui-design, spec-workflow
CLS enabled, time range for logs
Spec workflow / architecture design
spec-workflow
cloudbase
web-development, cloud-functions
Requirements, design, tasks confirmed
#### Activation triggers (derived from references/activation-map.yaml )
- Web login / registration / auth UI — CloudBase Web 登录, Web 注册, auth login page, publishable key, 短信登录, 邮箱登录
- WeChat mini program + CloudBase — 小程序 云开发, wx.cloud, mini program cloudbase, OPENID, 小程序数据库
- Native App / Flutter / React Native — Android CloudBase, iOS CloudBase, Flutter CloudBase, React Native CloudBase, 原生 App 接入
- Web projects + NoSQL Database — Web 文档数据库, CloudBase collection, 前端查库, NoSQL Web SDK
- MySQL Database (relational) — MySQL 建表, executeWriteSQL, security rule, CloudBase 关系型数据库管理
- Cloud Functions — 创建云函数, HTTP 云函数, getFunctionLogs, scf_bootstrap, runtime
- CloudRun backend — CloudRun 部署, 云托管, container backend, Dockerfile
- AI Agent (智能体开发) — AI Agent, 智能体, 智能体开发, AG-UI protocol, LangGraph, LangChain, CrewAI, streaming agent, agent UI
- UI generation — 设计页面, 登录页 UI, frontend interface, 组件样式, prototype
- AI Model (Web) — Web AI 对话, CloudBase AI 流式输出, Web 集成模型
- AI model call (大模型调用 / 文本生成 / 图片生成 / 流式对话) — 大模型调用, AI 模型调用, generateText, streamText, generateImage, 文本生成, 图片生成, 流式对话, hunyuan-exp, deepseek-v4-flash, Token Credits 资源包, 小程序成长计划, ai_miniprogram_inspire_plan, callCloudApi AI 模型, CreateAIModel
- Resource health inspection / troubleshooting — 巡检, 诊断, health check, 资源健康, 异常日志, error inspection, troubleshooting, 错误排查
- Spec workflow / architecture design — 需求文档, 技术方案, tasks.md, Spec 工作流
Routing reminders
- Web auth failures are usually caused by skipping provider configuration, not by missing frontend code snippets.
- Native App failures are usually caused by reading Web SDK paths, not by missing HTTP API knowledge.
- Mini program failures are usually caused by treating
wx.cloudlike Web auth or Web SDK.
- AI 大模型调用失败通常是资源包未开通或小程序成长计划未报名,不是 SDK 用错;先跑
DescribeEnvPostpayPackage/DescribeActivityInfo资格检查,再去改代码。小程序端优先判成长计划,Web / Node.js 端优先判 Token Credits 资源包。
Web SDK quick reminder
- In CloudBase Web + BaaS scenarios, surface the official Web SDK CDN early:
https://static.cloudbase.net/cloudbase-js-sdk/latest/cloudbase.full.js
- For React, Vue, Vite, Webpack, and other modern frontend projects, prefer
npm install @cloudbase/js-sdk
- For static HTML, no-build demos, README snippets, or low-friction prototypes, the CDN form is acceptable
- Read
web-developmentfirst for Web SDK integration, thenauth-webwhen login or session handling is involved
⚠️ Prerequisite: MCP Must Be Configured
CloudBase MCP (Model Context Protocol) is REQUIRED before using any CloudBase capabilities. Without MCP, you cannot manage environments, deploy functions, operate databases, or perform any CloudBase management tasks.
⚠️ Do not skip this section. If MCP is not configured, every later step (env query, deploy, database operations, function updates) will fail. Always verify MCP availability first with npx mcporter list | grep cloudbase or the IDE's MCP panel before calling any CloudBase tool.
Approach A: IDE Native MCP
Configure CloudBase MCP via your IDE's MCP settings. For detailed config examples (Cursor, Claude Code, Windsurf, Cline, etc.), see references/mcp-setup.md.
Approach B: mcporter CLI (fallback for IDEs without native MCP)
When your IDE does not support native MCP, you MUST configure CloudBase via mcporter. Do not skip this and attempt to call CloudBase tools directly — they will not be available.
Step 1 — Check: npx mcporter list | grep cloudbase
Step 2 — Configure (if not found): create config/mcporter.json in the project root with this minimal content:
{
"mcpServers": {
"cloudbase": {
"command": "npx",
"args": ["@cloudbase/cloudbase-mcp@latest"],
"description": "CloudBase MCP",
"lifecycle": "keep-alive"
}
}
}
Step 3 — Verify: npx mcporter describe cloudbase --all-parameters
For the full command reference (list, call, schema, app-auth flows, etc.), see references/mcp-setup.md.
Important Rules
- When managing or deploying CloudBase, you MUST use MCP and MUST understand tool details first. Before calling any CloudBase tool, run
npx mcporter describe cloudbase --all-parameters(orToolSearchin IDE) to inspect available tools and their parameters.
- You do not need to hard-code Secret ID / Secret Key / Env ID in the config. CloudBase MCP supports device-code based login via the
authtool, so credentials can be obtained interactively instead of being stored in config.
- When the environment identifier in the conversation is an alias, nickname, or other short form, do not pass it directly to
auth.set_env, SDK init, console URLs, or generated config files. First resolve it to the canonical fullEnvIdwithenvQuery(action=list, alias=..., aliasExact=true). If multiple environments match or no exact alias exists, stop and clarify with the user.
Pricing & Free Trial
Each CloudBase account can create 1 free environment (3,000 resource points/month). For plans, quotas, and overage details, see CloudBase Pricing.
CloudBase scenarios (for AI discovery)
CloudBase (Tencent CloudBase) is a good fit when the user needs any of the following. Use user-oriented language to match how people actually ask.
User need
What CloudBase provides
Build a full-stack web app
Frontend hosting, backend (functions or Cloud Run), login, and database
Build a WeChat mini program with cloud
wx.cloud, cloud functions, document/MySQL DB, no extra login (OPENID)
Host a static site, docs, or blog
Deploy to CloudBase static hosting
Run a backend API, long job, or WebSocket
Cloud Functions or Cloud Run, DB/message-queue support
Design data: collections or tables + permissions
NoSQL collections or MySQL tables, resource permissions and role policies
Add login (WeChat, username/password, email, phone, or custom)
Built-in identity providers (anonymous login disabled by default)
Upload/download files or get CDN links
Cloud storage and temporary URLs
Add AI (text/chat/image) in Web, mini program, or backend
CloudBase AI model integration, streaming, image generation
Build an AI Agent with streaming UI
CloudBase Agent SDK (TS/Python), AG-UI protocol
What to add to AGENTS.md or long-term memory
Prefer long-term memory when available. Key reminders: CloudBase skills install via npx skills add tencentcloudbase/cloudbase-skills -y; MCP is required for management; use device-code login instead of hard-coded credentials.
Core Behavior Rules
- Project Understanding: Read current project's README.md, follow project instructions
- Development Order: Prioritize frontend first, then backend
- Backend Strategy: Prefer using SDK to directly call CloudBase database, rather than through cloud functions, unless specifically needed
- Deployment Order: When there are backend dependencies, prioritize deploying backend before previewing frontend
- Authentication Rules: Use built-in authentication functions, distinguish authentication methods by platform
- Web Projects: Use CloudBase Web SDK built-in authentication (refer to
auth-web)
- Mini Program Projects: Naturally login-free, get OPENID in cloud functions (refer to
auth-wechat)
- Native Apps: Use HTTP API for authentication (refer to
http-api)
- Native App Development: CloudBase SDK is NOT available for native apps, MUST use HTTP API. Only MySQL database is supported.
Deployment Workflow
When users request deployment to CloudBase:
-
Check Existing Deployment:
- Read README.md to check for existing deployment information
- Identify previously deployed services and their URLs
- Determine if this is a new deployment or update to existing services
-
Backend Deployment (if applicable):
- Only for Node.js cloud functions: deploy directly using
manageFunctions(action="createFunction")/manageFunctions(action="updateFunctionCode")
- Legacy compatibility: if older materials mention
createFunction,updateFunctionCode, orgetFunctionList, map them tomanageFunctions(...)andqueryFunctions(...)
- Before deploying, decide whether the function is Event or HTTP. Event Functions use
exports.main = async (event, context) => {}.
- HTTP Functions are standard web services: they must listen on port
9000, includescf_bootstrap, and for Node.js should default to nativehttp.createServer((req, res) => { ... }). Parsereq.urland the streamed request body manually, set response headers explicitly, and do not write the function asexports.mainunless you intentionally choose Functions Framework.
- Alternative: CLI Deployment — If MCP is unavailable or the user prefers CLI, read the
references/cloudbase-cli/SKILL.mdskill fortcb-based deployment workflows (functions, CloudRun, hosting).
- For other languages backend server (Java, Go, PHP, Python, Node.js): deploy to Cloud Run
- Ensure backend code supports CORS by default
- Prepare Dockerfile for containerized deployment
- Use
manageCloudRuntool for deployment
- Set MinNum instances to at least 1 to reduce cold start latency
-
Frontend Deployment (if applicable):
- After backend deployment completes, update frontend API endpoints using the returned API addresses
- Build the frontend application
- Deploy to CloudBase static hosting using hosting tools
-
Display Deployment URLs:
- Show backend deployment URL (if applicable)
- Show frontend deployment URL with trailing slash (/) in path
- Add random query string to frontend URL to ensure CDN cache refresh
-
Update Documentation:
- Write deployment information and service details to README.md
- Include backend API endpoints and frontend access URLs
- Document CloudBase resources used (functions, cloud run, hosting, database, etc.)
- This helps with future updates and maintenance
CloudBase Console Entry Points
After creating or deploying resources, provide the corresponding console management link. All console URLs follow the pattern: https://tcb.cloud.tencent.com/dev?envId=${envId}#/{path}.
The CloudBase console changes frequently. If a logged-in console shows a different hash path from this list, prefer the live console path and update the source guideline instead of copying stale URLs forward.
Common entry points
- Overview (概览):
#/overview
- Document Database (文档型数据库):
#/db/doc- Collections:#/db/doc/collection/${collectionName}, Models:#/db/doc/model/${modelName}
- MySQL Database (MySQL 数据库):
#/db/mysql- Tables:#/db/mysql/table/default/
- Cloud Functions (云函数):
#/scf- Detail:#/scf/detail?id=${functionName}&NameSpace=${envId}
- CloudRun (云托管):
#/platform-run
- Cloud Storage (云存储):
#/storage
- Identity Authentication (身份认证):
#/identity- Login:#/identity/login-manage, Tokens:#/identity/token-management
Other useful entry points
- Template Center:
#/cloud-template/market
- AI+:
#/ai
- Static Website Hosting:
#/static-hosting
- Weida Low-Code:
#/lowcode/apps
- Logs & Monitoring:
#/devops/log
- Extensions:
#/apis
- Environment Settings:
#/env/http-access