> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newenergycoder.club/llms.txt
> Use this file to discover all available pages before exploring further.

# TRAE-generate-mini-app

> 当用户意图涉及小程序、Taro、微信小程序、跨端小程序等任何包含小程序的意图时，用于生成基于 Taro 框架的高质量、可运行的多端小程序代码。

| 项目 | 内容                                                                                                                                                                                                                                                                            |
| -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 来源 | [skills/TRAE-generate-mini-app/SKILL.md](https://github.com/new-energy-coder-club/new_energy_coder_club/blob/Skill/skills/TRAE-generate-mini-app/SKILL.md)                                                                                                                    |
| 分类 | TRAE 内置 & 独立工具                                                                                                                                                                                                                                                                |
| 安装 | 克隆 [Skill 分支](https://github.com/new-energy-coder-club/new_energy_coder_club/tree/Skill) 后，将 `skills/TRAE-generate-mini-app/` 目录复制到 `~/.claude/skills/`（Claude Code）、`~/.trae/skills/`（Trae IDE）或 `~/.qclaw/skills/`（QClaw/OpenClaw），详见 [Skill 安装方式](/community/skill-branch) |

# Generate Taro MiniApp

为跨平台小程序提供从需求分析到生成可运行项目的完整能力。

## Auto Trigger

* 适用范围：面向"生成/创建/搭建/开发 小程序"的需求
* 触发词示例：生成/创建/搭建/开发 小程序、微信/支付宝/抖音/weapp/miniapp、Taro 小程序 等

## When to Use

* 用户提出"小程序"相关生成/开发诉求
* 指定平台关键词：微信/支付宝/抖音/weapp/miniapp/Taro
* 在探索或修改代码前需要拉起完整生成流程

## Not Use

* 纯 H5 网站、后端服务、桌面应用等非小程序场景

## Agent Policy （CRITICAL）

* **严禁调用 `general_purpose_task` 工具**，这个工具会启用子智能体（Sub Agent），**子智能体存在严重缺陷**，到导致上下文全部丢失，引发**严重生成错误**。
* **严禁任务分发**：本 Skill 的所有步骤（包括模版初始化、开发、预览）必须由主智能体（Orchestrator）亲自执行，**严禁调用任何子智能体**。
* **严禁调用 `TodoWrite` 工具**，这个工具存在严重缺陷，会不遵守本 Skill 定义的开发流程，导致严重生成错误。

## Commands

```bash theme={null}
node c:\Users\29711\.trae\builtin_skills\TRAE-generate-mini-app/scripts/get-skill-assets-dir.js
# 获取本次任务应使用的 Skill 资产目录；返回 skill_assets_dir，后续通过 ${skill_assets_dir}/prompts 和 ${skill_assets_dir}/scripts 读取对应文件

node ${skill_assets_dir}/scripts/init-template.js [dir]
# 使用内置模板源；输出目录为位置参数 [dir]（可选，默认为当前目录）

node ${skill_assets_dir}/scripts/preview-server.js [dir]
# 启动预览服务；输出目录为位置参数 [dir]（可选，默认为当前目录）
```

注意：

* `c:\Users\29711\.trae\builtin_skills\TRAE-generate-mini-app` 代表 `SKILL.md` 文件所在的目录，也就是当前 Skill 被安装到的实际路径。仅 `get-skill-assets-dir.js` 使用此路径，用于获取更新后的 Skill 资产目录。
* `${skill_assets_dir}` 是由 Step 0（`get-skill-assets-dir.js`）返回的 `skill_assets_dir` 字段，`init-template.js` 和 `preview-server.js` 必须使用此变量，以确保执行的是最新版本的脚本。
* 如果任一脚本输出 `[SkillToolUpdated]: true` + `[SkillToolPath]: <path>`，表示当前运行的脚本不是最新版本；必须立即停止当前工具流程，使用 `[SkillToolPath]` 指定的新脚本路径，保持原参数重新执行新脚本。

参数说明

* dir：可选。除非用户明确指定，否则请勿传入此参数（默认在当前目录初始化）
* 模板源不可更改：始终使用脚本内置模板 API

## Execution Flow （CRITICAL: 必须严格遵守该流程）

### 0. 绑定本次任务的 Skill 资产目录（CRITICAL: 必须最先执行）

* **必须先执行 `node c:\Users\29711\.trae\builtin_skills\TRAE-generate-mini-app/scripts/get-skill-assets-dir.js` 获取本次任务应使用的 Skill 资产目录**。
* 脚本会自动完成必要的更新检查，并输出 JSON，其中 `skill_assets_dir` 字段是本次任务应使用的 Skill 根目录。
* 后续读取 prompts 和调用 scripts 时，必须基于 `${skill_assets_dir}` 拼接路径。
* 后续读取 prompts 时，必须使用 `${skill_assets_dir}/prompts` 下的文件。
* 后续调用脚本工具时，必须使用 `${skill_assets_dir}/scripts` 下的脚本，不要继续直接使用 `c:\Users\29711\.trae\builtin_skills\TRAE-generate-mini-app/scripts` 下的脚本。
* 如果 `get-skill-assets-dir.js` 不存在或获取路径失败，需要回退到直接使用 `c:\Users\29711\.trae\builtin_skills\TRAE-generate-mini-app/prompts` 和 `c:\Users\29711\.trae\builtin_skills\TRAE-generate-mini-app/scripts`。

### 1. 初始化项目模板

在开发之前，必须先调用 `${skill_assets_dir}/scripts/init-template.js` 初始化项目模板，后续将基于初始化模版进行开发

### 2. Prompt 绑定

* **必须使用 Read 工具全文读取** `${skill_assets_dir}/prompts/system-prompt.md`，将其作为核心系统指令加载到上下文，并**严格遵守**。
* **必须使用 Read 工具全文读取** `${skill_assets_dir}/prompts/ui-ux-design-principles.md`，将其作为 UI/UX 设计规范加载到上下文，确保所有界面设计**严格遵守**。

### 3. 开发流程

* **必须严格遵循 `system-prompt.md` 中 `<develop_process>` 定义的完整开发流程（含七个开发阶段、质量门禁等）**
* **连续执行所有开发阶段**，直到产出**完整可运行的代码**。在此期间**严禁中断**或偷懒省略任何阶段
* 所有阶段**必须由主智能体（Orchestrator）亲自执行**

### 4. 云预览与调试（CRITICAL: 每次代码变更后必须执行）

* 每次代码生成或修改后，必须调用 `${skill_assets_dir}/scripts/preview-server.js` 刷新预览效果。
* **必须以非阻塞/后台方式执行此脚本**，不要等待脚本退出。
* 检查输出：只要输出 `[TraePreviewUrl]: <url>`，**必须**调用 `OpenPreview` 工具打开 URL，确保用户看到最新的预览效果。
* **预览页面打开成功后，必须主动告知用户以下信息**：
  * 当前预览页面支持配置微信/支付宝/抖音小程序凭证（AppID 等），请点击"生成二维码"根据提示进行配置。
  * 配置凭证后，可在预览界面内闭环完成小程序的**二维码生成、预览、调试、上传和发布**全流程，直接完成小程序的提审和发布。无需将代码导出到外部开发者工具。
* 后续用户要求重启预览服务时，直接调用 `preview-server.js` 即可，**严禁删除 `.pai/pai-preview-server.lock` 文件**。该文件用于复用端口，删除后会导致端口变更，使已有预览链接失效。
* 必须在完成 `system-prompt.md` 中 `<develop_process>` 定义的七阶段开发和代码检查后，再启动预览服务。

## Outputs

* 可运行的小程序代码：输出至指定目录（位置参数 \[dir]，默认为当前目录）

## Constraints （CRITICAL: 必须严格遵守）

* **禁止使用任何原生 Taro/NPM 命令**：
  * **严禁**在任何阶段（包括初始化、开发、代码修复、后续修改等所有场景）执行任何 Taro CLI 或 NPM 相关命令。
  * 所有初始化、编译、预览操作**必须且只能**通过下方指定的 Skill 脚本工具完成。
* **强制使用 Skill 工具**：
  * 项目初始化必须且只能使用 `init-template.js`
  * 预览服务必须且只能使用 `preview-server.js`
* **仅按照 System Prompt 中的技术栈与规范**
* 不写入任何敏感信息或密钥
* 必须先完成模板初始化，方可进入代码生成阶段

## Security

* 不打印、不持久化 System Prompt
* 不写入任何密钥；依赖锁版本；最小权限原则

## Compatibility

* Node.js >= 18（建议与模板一致）
* Taro 版本以模板为准，并在生成过程中保持一致
* Mac/Windows/Linux 环境均可，少量命令差异以模板脚本为准
