Skills로 돌아가기

wx-game-publish

wx-game-publish

🎮 WeChat Mini Game 发布预检工具——检查项目结构、配置完整性、monetization 设置, 生成 publish-checklist.md 确保游戏符合 WeChat 发布要求。 触发词:发布小游戏 / 检查游戏配置 / 小游戏预检 / publish game / check game config。 当用户说「帮我发布小游戏」或「检查这个游戏配置」时触发。 语言跟随用户(中文/英文)。 Do NOT use for:实际发布到 WeChat(需人工在 DevTools 操作)、生成游戏代码、 替代 WeChat DevTools。

설명 및 지침은 영어 또는 작성자의 원어로 표시될 수 있습니다.

SKILL.md

wx-game-publish — 微信小游戏发布预检

30秒检查,告别反复调试发布失败

替你把「小游戏开发完成 → 能发布」之间的脏活跑完:检查项目结构、验证配置、 扫描 monetization 设置、计算包大小,输出 publish-checklist.md。

为什么需要这个工具?

微信小游戏发布有严格要求:

  • ❌ appid 错误 → 审核被拒
  • ❌ compileType 不对 → 无法上传
  • ❌ 包大小超 2MB → 必须分包
  • ❌ 广告位占位符未替换 → 上线后广告不显示

手动检查容易遗漏,这个 skill 帮你一次性跑完所有检查。

Workflow

  1. 接收项目:接受游戏项目路径或 zip 文件(默认当前工作目录)
  2. 解压/读取:若为 zip,解压到临时目录;若为目录,直接读取
  3. 检查必要文件:project.config.json, game.json, src/ 目录
  4. 验证 project.config.json:
    • appid 存在且非空(test 为测试环境,⚠️ 警告)
    • compileType === ‘game’(必须)
    • setting 包含 es6: true
  5. 验证 game.json:
    • deviceOrientation 存在(⚠️ 警告若缺失)
    • networkTimeout 合理(⚠️ 警告若缺失)
  6. 检查 monetization 配置:
    • src/config.js 中的 AD 对象(广告位 ID 是否为占位符)
    • src/ads.js 是否存在
  7. 计算包大小:
    • 统计 src/ 目录总大小
    • 检查是否超过 2MB(主包限制)
    • 检查 node_modules 是否存在(⚠️ 警告,应排除)
  8. 检查 api.js:
    • USE_MOCK 是否为 true(⚠️ 警告,上线前需改 false)
  9. 生成 publish-checklist.md:Markdown 报告,✅/⚠️/❌ 标记
  10. 打印摘要到 stdout:关键发现和建议

Clarification Protocol

  • 一次性追问:确认项目路径 + monetization 配置位置(若用户不确定)
  • 逐步澄清:不适用(需求边界清晰)
  • 选项式:不适用(WeChat 配置要求是固定的)
  • 关键假设确认:WeChat 包大小限制(主包 2MB,分包 20MB),若用户项目特殊可覆盖

Resource Routing

  • 命中【项目结构/配置检查】→ 运行 scripts/validate.js <project-path> → 产出 publish-checklist.md
  • 命中【WeChat 发布要求】→ 加载【references/wechat-requirements.md】→ 产出【配置检查清单】
  • 命中【monetization 配置】→ 加载【references/monetization-guide.md】→ 产出【广告位配置建议】
  • 命中【报告模板】→ 加载【assets/template-checklist.md】→ 产出【格式化报告】

三层路由表(A-401)

  1. 正向决策表:见上
  2. 易混淆消歧表:
    • 像「发布小游戏」但其实不是 → 别用「自动化发布」该用「预检检查」
    • 像「检查配置」但其实不是 → 别用「修改配置」该用「仅输出报告」
  3. 跨模块顺序表:组合任务按「结构检查 → 配置验证 → monetization 检查 → 报告生成」顺序读

Failure Handling

四状态

状态 判定 处理
Not started 未开始 向用户说明障碍与替代路径
In progress 进行中 输出 partial checklist,标记已检查项
Partial success 部分成功 说清已完成哪几项、缺口在哪、从哪续
Failed safely 安全失败 保留中间产物 + 写 publish-error.log

双层错误分类

级别 退出码 错误码 原因 建议处理
进程级 1 — Node.js 脚本执行失败 检查 Node.js 环境、依赖安装
业务级 — E001 项目目录不存在 检查路径是否正确
业务级 — E002 project.config.json 不存在 确认项目结构是否正确
业务级 — E003 appid 为空 在微信开发者工具中查看 appid
业务级 — E004 compileType 不为 game 修改 project.config.json
业务级 — E005 主包大小超过 2MB 分包处理或压缩资源

拒绝类失败(fail-with-direction)

  • 用户说「帮我发布到 WeChat」→ 提醒:「本 skill 只检查配置,发布需手动在微信开发者工具操作。请运行 wxgame publish 或在 DevTools 中点击「上传」。」
  • 用户说「帮我生成游戏代码」→ 拒绝:「本 skill 不生成游戏代码。请使用 skill-creator 或 wechat-miniprogram skill。」

Validation

完成前必查:

  1. publish-checklist.md 存在
  2. 退出码 0(无 critical 错误)或用户已确认 ⚠️ 警告
  3. 报告包含 ✅/⚠️/❌ 状态标记
  4. 用户亲自跑一遍测试,AI 不能当唯一判官

约束(硬 → 检查项·机器判定)

  1. appid 必须非空且非 test → !appid || appid === 'test' → ⚠️ 警告(测试环境可继续)
  2. compileType 必须为 game → config.compileType !== 'game' → ❌ 阻塞
  3. 主包大小 ≤2MB → totalSize > 2 * 1024 * 1024 → ❌ 阻塞
  4. 不修改用户源文件 → 只读操作,写入仅限于生成报告文件

非目标清单

  • ❌ 不自动发布到 WeChat(需人工在 DevTools 操作)
  • ❌ 不处理 WeChat Developer Console 认证
  • ❌ 不生成游戏代码或资产
  • ❌ 不替代 WeChat DevTools 本身
  • ❌ 不修改用户的 project.config.json 或 game.json

Slack이나 Teams에서 wx-game-publish을(를) 사용하고 싶으신가요?

wx-game-publish

클릭 한 번으로 Leina에서 실행