Sibling skills (local only)
Sibling CloudBase skills ship beside this skill. Use local relative paths such as ../auth-tool-cloudbase/SKILL.md.
If a referenced sibling skill file is missing from this environment, ask the user to install the full CloudBase plugin (or the missing skill). Do not HTTP-fetch remote skill or protocol markdown into the agent context.
Cross-cutting protocols (required before code changes or deployments):
- Change Safety Protocol:
../cloudbase-platform/references/protocols/change-safety-protocol.md
- Deployment Gate:
../cloudbase-platform/references/protocols/deployment-gate.md
Activation Contract
Use this first when
- The request is about WeChat Mini Program structure, pages, preview, publishing, or CloudBase mini program integration.
Read before writing code if
- The user mentions
wx.cloud, CloudBase mini programs, OPENID, mini program deployment/debug workflows, Nightly DevTools, wechatide, or WeChat IDE Skills.
- The user mentions message push (消息推送), customer-service auto-reply (客服消息/自动回复), or binding MsgType/Event callbacks to cloud functions.
Then also read
- CloudBase auth ->
../auth-wechat-miniprogram/SKILL.md
- CloudBase document DB ->
../cloudbase-document-database-in-wechat-miniprogram/SKILL.md
- Mini Program WeChat Pay, 虚拟支付 (virtual payment,
wx.requestVirtualPayment), or Integration Center generated payment functions -> ../cloudbase-wechat-integration/SKILL.md (official docs: https://docs.cloudbase.net/integration/wechat-pay-miniprogram/index.md)
- UI generation ->
../ui-design/SKILL.md first
Do NOT use for
- Web auth flows or Web SDK-specific frontend implementation.
- WeChat Pay, 虚拟支付 /
wx.requestVirtualPayment, payment callbacks, refunds, or Official Account OAuth details; use cloudbase-wechat-integration for those scenarios.
Common mistakes / gotchas
- Generating a Web-style login flow for mini programs.
- Mixing Web SDK assumptions into
wx.cloud projects.
- Applying CloudBase constraints before confirming the project actually uses CloudBase.
- Assuming Stable WeChat Developer Tools includes Nightly Skills/
wechatide (it may not).
- Forcing CloudBase MCP Tencent Cloud login for daily mini program cloud ops when Nightly
wechatide already works.
- Inventing
wechatide tool names or flags instead of using --help / Nightly tools.yaml.
- Bypassing wxide CLI / IDE for message-push ops with low-level transport before
cloud_*_msg_push is exposed (see message-push-customer-service.md).
- Assuming cloud-function return values auto-reply to customer-service chats (must use
cloud.openapi.customerServiceMessage.send).
- Making code or configuration changes without first following the Change Safety Protocol (
cloudbase-platform/references/protocols/change-safety-protocol.md).
- Performing mini program upload/publish without first completing the checks in
cloudbase-platform/references/protocols/deployment-gate.md.
When to use this skill
Use this skill for WeChat Mini Program development when you need to:
- Build or modify mini program pages and components
- Organize mini program project structure and configuration
- Debug, preview, or publish mini program projects
- Work with WeChat Developer Tools workflows
- Handle mini program runtime behavior, assets, or page config files
- Integrate CloudBase in a mini program project when explicitly needed
Do NOT use for:
- Web frontend development (use
web-development)
- Pure backend service development (use
cloudrun-development or cloud-functions as appropriate)
- UI design-only tasks without mini program development context (use
ui-design)
How to use this skill (for a coding agent)
Start with the general mini program workflow
- Treat WeChat Mini Program development as the default scope
- Do not assume the project uses CloudBase unless the user or codebase indicates it
Follow mini program project conventions
- Keep mini program source under the configured mini program root
- Ensure page files include the required configuration file such as
index.json
- Check
project.config.json before suggesting preview or IDE workflows
Route by scenario
- If the task involves debugging, previewing, publishing, opening DevTools, console/network, or
wechatide, read debug and preview reference first
- If choosing between WeChat IDE Skills and CloudBase MCP, read WeChat IDE Skills vs CloudBase MCP
- If the task involves CloudBase,
wx.cloud, cloud functions, CloudBase database/storage, or CloudBase identity handling, read CloudBase integration reference
- If the task involves mini program SEO / WeChat search optimization / page indexing / search promotion (小程序搜索优化、页面收录、搜索推广、关键词排名), read Mini Program SEO & WeChat Search Optimization first
- If the task involves message push (消息推送), customer-service auto-reply (客服消息自动回复), MsgType/Event → cloud function binding, or push-related function logs, read Message Push & Customer Service Auto-Reply first
- If the task involves
tabBar, icon assets, or label spacing, prefer the text-only custom tabBar default below unless the user explicitly requires icons
Use CloudBase rules only when applicable
- CloudBase / 微信云开发 is an important mini program integration path, but not a universal requirement
- Only apply CloudBase-specific auth, database, storage, or cloud function constraints when the project is using CloudBase
Recommend the right preview/debug/cloud-ops path
WeChat Mini Program Development Rules
General Project Rules
Project Structure
- Mini program code should follow the project root configured in
project.config.json
- Keep page-level files complete, including
.json configuration files
- Ensure referenced local assets actually exist to avoid compile failures
Configuration Checks
- Check
project.config.json before opening, previewing, or publishing a project
- Confirm
appid is available when a real preview, upload, or WeChat Developer Tools workflow is required
- Confirm
miniprogramRoot and related path settings are correct
Resource Handling
- For
tabBar, prefer a text-only custom tabBar by default when the user does not explicitly need icons. This avoids icon asset handling, removes reserved icon space, and makes the label area easier to align.
- Only generate local icon assets and configure
iconPath / selectedIconPath when the user explicitly asks for tab icons or the design requires them.
- When generating local asset references such as icons, ensure the files are downloaded into the project.
- Keep file paths stable and consistent with mini program config files.
Recommended default for simple tabBar
Use tabBar.custom = true, keep only pagePath and text in app.json, and render text-only items in the custom component so there is no icon slot and no extra blank area above the label.
app.json
{
"tabBar": {
"custom": true,
"list": [
{ "pagePath": "pages/index/index", "text": "首页" },
{ "pagePath": "pages/travel/travel", "text": "行程" },
{ "pagePath": "pages/my/my", "text": "我的" }
]
}
}
Keep the custom tabBar layout text-only, and use flex centering or matching height and line-height to remove the blank area above the label. Switch to downloaded local icons only when the user explicitly wants icon-based tabs.
CloudBase as a Mini Program Sub-Scenario
- If the user explicitly uses CloudBase,
wx.cloud, Tencent CloudBase, 腾讯云开发, or 云开发, follow the CloudBase integration reference
- In CloudBase mini program projects, use
wx.cloud APIs and CloudBase environment configuration appropriately
- Do not apply CloudBase-specific rules to non-CloudBase mini program projects
Debugging, Preview, and Publishing
- Prefer Nightly DevTools +
wechatide for open project, compile, simulator, console/network debug, preview, upload, and daily cloud ops (WeChat login — no separate Tencent Cloud login)
- Always pass required context:
-c <clientName>, absolute --project, valid appid, and cloud env when needed
- If Nightly /
wechatide is not available, use miniprogram-ci as the fallback for preview/upload/npm, and CloudBase MCP for cloud resources; tell the user to install Nightly for full Skills/MCP
- For detailed workflows, read debug and preview reference and WeChat IDE Skills vs CloudBase MCP
Message Push & Customer Service Auto-Reply
微信生态专章:消息推送 / 客服自动回复细节以中文 reference 为准(术语保留英文 API 名)。
- Current only ops path: WeChat Developer Tools IDE + wxide CLI. Do not teach low-level bypasses while
cloud_query_msg_push / cloud_manage_msg_push are not yet exposed (pending WeChat IDE CLI support).
- Deploy receiver functions with
cloud_fn_deploy and --remote-npm-install; bind (MsgType, Event) → one cloud function in the IDE message-push panel until CLI tools land.
- Customer-service auto-reply requires
cloud.openapi.customerServiceMessage.send plus config.json openapi permissions — function return values alone do not reply.
- Function logs: IDE 云开发控制台 → 云函数 → 日志; the wxide CLI does not expose log query yet — do not teach low-level log CGI bypasses.
- Full reference: Message Push & Customer Service Auto-Reply
Minimal project skeleton
app.js
App({
onLaunch() {
console.log("Mini Program launched");
},
});
pages/index/index.js
Page({
data: {
message: "Hello CloudBase Mini Program",
},
});
pages/index/index.wxml
<view class="page">
<text>{{message}}</text>
</view>
pages/index/index.json
{
"navigationBarTitleText": "Home"
}
project.config.json
{
"appid": "your-mini-program-appid",
"projectname": "cloudbase-mini-program",
"miniprogramRoot": "./",
"compileType": "miniprogram"
}
References
- CloudBase Mini Program Integration — use this when the mini program project explicitly integrates CloudBase
- WeChat DevTools Debug and Preview — Nightly /
wechatide paths, required context, and no-Nightly fallbacks
- WeChat IDE Skills vs CloudBase MCP — layering and when to use which execution surface
- Message Push & Customer Service Auto-Reply — 消息推送 / 客服自动回复 via wxide CLI + IDE (no low-level bypass; pending
cloud_*_msg_push)
- Mini Program SEO & WeChat Search Optimization — 小程序搜索优化 / page indexing / search promotion (
mpcrawler, URL reachability, navigator jumps, titles & thumbnails)
- Common Pitfalls — read before generating code for optional chaining, TDesign styling, Canvas + storage, and environment issues
1---2name: miniprogram-development3description: WeChat Mini Program development skill for building, debugging, previewing, testing, publishing, and optimizing mini program projects (小程序开发、调试、预览、发布). Covers project structure and config (`project.config.json`, `appid`, `miniprogramRoot`, `tabBar`, routing/navigation, icon assets), WeChat Developer Tools Nightly workflows (`wechatide` CLI, WeChat IDE Skills/MCP), `miniprogram-ci` preview/upload, console/network debugging, message push (消息推送) and customer-service auto-reply (客服消息), mini program SEO / search indexing (小程序搜索优化、页面收录、搜索推广、mpcrawler), and CloudBase integration (`wx.cloud`, 腾讯云开发, 云开发) when explicitly used. Use when users create, develop, modify, debug, preview, deploy, publish, or promote WeChat Mini Programs. NOT for Web frontend (use web-development), pure backend services (use cloudrun-development / cloud-functions), or UI-design-only tasks (use ui-design).4---5
6## Sibling skills (local only)
7
8Sibling CloudBase skills ship beside this skill. Use local relative paths such as `../auth-tool-cloudbase/SKILL.md`.
9
10If a referenced sibling skill file is missing from this environment, ask the user to install the full CloudBase plugin (or the missing skill). Do **not** HTTP-fetch remote skill or protocol markdown into the agent context.
11
12**Cross-cutting protocols** (required before code changes or deployments):
13- Change Safety Protocol: `../cloudbase-platform/references/protocols/change-safety-protocol.md`
14- Deployment Gate: `../cloudbase-platform/references/protocols/deployment-gate.md`
15
16## Activation Contract
17
18### Use this first when
19
20- The request is about WeChat Mini Program structure, pages, preview, publishing, or CloudBase mini program integration.
21
22### Read before writing code if
23
24- The user mentions `wx.cloud`, CloudBase mini programs, OPENID, mini program deployment/debug workflows, Nightly DevTools, `wechatide`, or WeChat IDE Skills.
25- The user mentions message push (消息推送), customer-service auto-reply (客服消息/自动回复), or binding MsgType/Event callbacks to cloud functions.
26
27### Then also read
28
29- CloudBase auth -> `../auth-wechat-miniprogram/SKILL.md`
30- CloudBase document DB -> `../cloudbase-document-database-in-wechat-miniprogram/SKILL.md`
31- Mini Program WeChat Pay, 虚拟支付 (virtual payment, `wx.requestVirtualPayment`), or Integration Center generated payment functions -> `../cloudbase-wechat-integration/SKILL.md` (official docs: `https://docs.cloudbase.net/integration/wechat-pay-miniprogram/index.md`)
32- UI generation -> `../ui-design/SKILL.md` first
33
34### Do NOT use for
35
36- Web auth flows or Web SDK-specific frontend implementation.
37- WeChat Pay, 虚拟支付 / `wx.requestVirtualPayment`, payment callbacks, refunds, or Official Account OAuth details; use `cloudbase-wechat-integration` for those scenarios.
38
39### Common mistakes / gotchas
40
41- Generating a Web-style login flow for mini programs.
42- Mixing Web SDK assumptions into `wx.cloud` projects.
43- Applying CloudBase constraints before confirming the project actually uses CloudBase.
44- Assuming Stable WeChat Developer Tools includes Nightly Skills/`wechatide` (it may not).
45- Forcing CloudBase MCP Tencent Cloud login for daily mini program cloud ops when Nightly `wechatide` already works.
46- Inventing `wechatide` tool names or flags instead of using `--help` / Nightly `tools.yaml`.
47- Bypassing wxide CLI / IDE for message-push ops with low-level transport before `cloud_*_msg_push` is exposed (see [message-push-customer-service.md](references/message-push-customer-service.md)).
48- Assuming cloud-function return values auto-reply to customer-service chats (must use `cloud.openapi.customerServiceMessage.send`).
49- Making code or configuration changes without first following the Change Safety Protocol (`cloudbase-platform/references/protocols/change-safety-protocol.md`).
50- Performing mini program upload/publish without first completing the checks in `cloudbase-platform/references/protocols/deployment-gate.md`.
51
52## When to use this skill
53
54Use this skill for **WeChat Mini Program development** when you need to:
55
56- Build or modify mini program pages and components
57- Organize mini program project structure and configuration
58- Debug, preview, or publish mini program projects
59- Work with WeChat Developer Tools workflows
60- Handle mini program runtime behavior, assets, or page config files
61- Integrate CloudBase in a mini program project when explicitly needed
62
63**Do NOT use for:**
64- Web frontend development (use `web-development`)
65- Pure backend service development (use `cloudrun-development` or `cloud-functions` as appropriate)
66- UI design-only tasks without mini program development context (use `ui-design`)
67
68---
69
70## How to use this skill (for a coding agent)
71
721. **Start with the general mini program workflow**
73 - Treat WeChat Mini Program development as the default scope
74 - Do not assume the project uses CloudBase unless the user or codebase indicates it
75
762. **Follow mini program project conventions**
77 - Keep mini program source under the configured mini program root
78 - Ensure page files include the required configuration file such as `index.json`
79 - Check `project.config.json` before suggesting preview or IDE workflows
80
813. **Route by scenario**
82 - If the task involves debugging, previewing, publishing, opening DevTools, console/network, or `wechatide`, read [debug and preview reference](references/devtools-debug-preview.md) first
83 - If choosing between WeChat IDE Skills and CloudBase MCP, read [WeChat IDE Skills vs CloudBase MCP](references/wxide-vs-cloudbase-mcp.md)
84 - If the task involves CloudBase, `wx.cloud`, cloud functions, CloudBase database/storage, or CloudBase identity handling, read [CloudBase integration reference](references/cloudbase-integration.md)
85 - If the task involves mini program SEO / WeChat search optimization / page indexing / search promotion (小程序搜索优化、页面收录、搜索推广、关键词排名), read [Mini Program SEO & WeChat Search Optimization](references/seo-search-optimization.md) first
86 - If the task involves message push (消息推送), customer-service auto-reply (客服消息自动回复), MsgType/Event → cloud function binding, or push-related function logs, read [Message Push & Customer Service Auto-Reply](references/message-push-customer-service.md) first
87 - If the task involves `tabBar`, icon assets, or label spacing, prefer the text-only custom `tabBar` default below unless the user explicitly requires icons
88
894. **Use CloudBase rules only when applicable**
90 - CloudBase / 微信云开发 is an important mini program integration path, but not a universal requirement
91 - Only apply CloudBase-specific auth, database, storage, or cloud function constraints when the project is using CloudBase
92
935. **Recommend the right preview/debug/cloud-ops path**
94 - Prefer **Nightly** WeChat Developer Tools (built-in Skills/MCP) and execute via `wechatide` when available — see [devtools-debug-preview.md](references/devtools-debug-preview.md)
95 - Nightly download: https://developers.weixin.qq.com/miniprogram/dev/devtools/nightly_backup.html
96 - If Nightly / `wechatide` is unavailable, fall back to `miniprogram-ci` for preview/upload and CloudBase MCP for cloud resources
97
98---
99
100# WeChat Mini Program Development Rules
101
102## General Project Rules
103
1041. **Project Structure**
105 - Mini program code should follow the project root configured in `project.config.json`
106 - Keep page-level files complete, including `.json` configuration files
107 - Ensure referenced local assets actually exist to avoid compile failures
108
1092. **Configuration Checks**
110 - Check `project.config.json` before opening, previewing, or publishing a project
111 - Confirm `appid` is available when a real preview, upload, or WeChat Developer Tools workflow is required
112 - Confirm `miniprogramRoot` and related path settings are correct
113
1143. **Resource Handling**
115 - For `tabBar`, prefer a text-only custom `tabBar` by default when the user does not explicitly need icons. This avoids icon asset handling, removes reserved icon space, and makes the label area easier to align.
116 - Only generate local icon assets and configure `iconPath` / `selectedIconPath` when the user explicitly asks for tab icons or the design requires them.
117 - When generating local asset references such as icons, ensure the files are downloaded into the project.
118 - Keep file paths stable and consistent with mini program config files.
119
120### Recommended default for simple `tabBar`
121
122Use `tabBar.custom = true`, keep only `pagePath` and `text` in `app.json`, and render text-only items in the custom component so there is no icon slot and no extra blank area above the label.
123
124`app.json`
125
126```json
127{
128 "tabBar": {
129 "custom": true,
130 "list": [
131 { "pagePath": "pages/index/index", "text": "首页" },
132 { "pagePath": "pages/travel/travel", "text": "行程" },
133 { "pagePath": "pages/my/my", "text": "我的" }
134 ]
135 }
136}
137```
138
139Keep the custom `tabBar` layout text-only, and use flex centering or matching `height` and `line-height` to remove the blank area above the label. Switch to downloaded local icons only when the user explicitly wants icon-based tabs.
140
141## CloudBase as a Mini Program Sub-Scenario
142
143- If the user explicitly uses CloudBase, `wx.cloud`, Tencent CloudBase, 腾讯云开发, or 云开发, follow the CloudBase integration reference
144- In CloudBase mini program projects, use `wx.cloud` APIs and CloudBase environment configuration appropriately
145- Do not apply CloudBase-specific rules to non-CloudBase mini program projects
146
147## Debugging, Preview, and Publishing
148
149- Prefer **Nightly** DevTools + `wechatide` for open project, compile, simulator, console/network debug, preview, upload, and daily cloud ops (WeChat login — no separate Tencent Cloud login)
150- Always pass required context: `-c <clientName>`, absolute `--project`, valid `appid`, and cloud `env` when needed
151- If Nightly / `wechatide` is not available, use `miniprogram-ci` as the fallback for preview/upload/npm, and CloudBase MCP for cloud resources; tell the user to install Nightly for full Skills/MCP
152- For detailed workflows, read [debug and preview reference](references/devtools-debug-preview.md) and [WeChat IDE Skills vs CloudBase MCP](references/wxide-vs-cloudbase-mcp.md)
153
154## Message Push & Customer Service Auto-Reply
155
156> 微信生态专章:消息推送 / 客服自动回复细节以中文 reference 为准(术语保留英文 API 名)。
157
158- **Current only ops path:** WeChat Developer Tools IDE + wxide CLI. Do not teach low-level bypasses while `cloud_query_msg_push` / `cloud_manage_msg_push` are not yet exposed (pending WeChat IDE CLI support).
159- Deploy receiver functions with `cloud_fn_deploy` **and** `--remote-npm-install`; bind (MsgType, Event) → one cloud function in the IDE message-push panel until CLI tools land.
160- Customer-service auto-reply requires `cloud.openapi.customerServiceMessage.send` plus `config.json` openapi permissions — function return values alone do not reply.
161- Function logs: IDE **云开发控制台 → 云函数 → 日志**; the wxide CLI does not expose log query yet — do not teach low-level log CGI bypasses.
162- Full reference: [Message Push & Customer Service Auto-Reply](references/message-push-customer-service.md)
163
164## Minimal project skeleton
165
166`app.js`
167
168```js
169App({
170 onLaunch() {
171 console.log("Mini Program launched");
172 },
173});
174```
175
176`pages/index/index.js`
177
178```js
179Page({
180 data: {
181 message: "Hello CloudBase Mini Program",
182 },
183});
184```
185
186`pages/index/index.wxml`
187
188```xml
189<view class="page">
190 <text>{{message}}</text>
191</view>
192```
193
194`pages/index/index.json`
195
196```json
197{
198 "navigationBarTitleText": "Home"
199}
200```
201
202`project.config.json`
203
204```json
205{
206 "appid": "your-mini-program-appid",
207 "projectname": "cloudbase-mini-program",
208 "miniprogramRoot": "./",
209 "compileType": "miniprogram"
210}
211```
212
213## References
214
215- [CloudBase Mini Program Integration](references/cloudbase-integration.md) — use this when the mini program project explicitly integrates CloudBase
216- [WeChat DevTools Debug and Preview](references/devtools-debug-preview.md) — Nightly / `wechatide` paths, required context, and no-Nightly fallbacks
217- [WeChat IDE Skills vs CloudBase MCP](references/wxide-vs-cloudbase-mcp.md) — layering and when to use which execution surface
218- [Message Push & Customer Service Auto-Reply](references/message-push-customer-service.md) — 消息推送 / 客服自动回复 via wxide CLI + IDE (no low-level bypass; pending `cloud_*_msg_push`)
219- [Mini Program SEO & WeChat Search Optimization](references/seo-search-optimization.md) — 小程序搜索优化 / page indexing / search promotion (`mpcrawler`, URL reachability, `navigator` jumps, titles & thumbnails)
220- [Common Pitfalls](references/pitfalls.md) — read before generating code for optional chaining, TDesign styling, Canvas + storage, and environment issues