wechat-miniprogram

Develops and reviews WeChat Mini Programs covering WXML, Skyline, subpackages, and CI release.

22|Updated Sep 10, 2026
One-click install
npx skills add https://github.com/Lynricsy/HyperSkills --skill wechat-miniprogram-lynricsy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wechat-miniprogram
Source: https://github.com/Lynricsy/HyperSkills/tree/main/skills/wechat-miniprogram
Command: npx skills add https://github.com/Lynricsy/HyperSkills --skill wechat-miniprogram-lynricsy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires miniprogram-api-typings, miniprogram-simulate, miniprogram-ci, glass-easel, and includes references (resource) components.

What problem does it solve? WeChat Mini Program development is full of silent failure modes: setData updates that stutter because of Shadow-tree size rather than payload size, native components whose event handlers never fire, misplaced lazyCodeLoading config that is silently ignored, and CI uploads that fail on robot numbers or key formats. This Skill encodes the platform's actual rules, version gates, and cost model so code is written and reviewed correctly the first time. ## Core Features & Use Cases - Performance diagnosis: Applies the platform-documented update cost model (Shadow-tree node count first, payload size second) to fix stuttering lists, scroll jank, and background-page updates, with measurement via setUpdatePerformanceListener. - Configuration and code review: Catches illegal subpackage nesting, tabBar placement, Skyline/glass-easel prerequisites, native-component event binding and CSS limits, and privacy/authorization flow errors, each tied to the base library version it holds from. - Release pipeline: Builds a miniprogram-ci upload workflow with correct robot numbering, key handling, packNpm, and subpackage size gates, plus miniprogram-simulate unit testing. - Use Case: A feed page stutters past 200 rows and the team plans to diff setData payloads; the Skill rejects that plan, identifies the single 7000-node tree as the real cost, and prescribes splitting rows into self-updating components. ## Quick Start Review my WeChat Mini Program's app.json and feed page for configuration errors and performance problems, listing each finding with its trigger, impact, and fix.

Frequently Asked Questions about wechat-miniprogram

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why is my WeChat Mini Program setData slow on long lists?

The dominant cost is the node count of the Shadow tree belonging to the component that calls the update, not the payload size. Split the page into per-row components that update themselves; payload diffing only addresses the second-order term.

How do I fix WeChat Mini Program native component events not firing?

Native components like map, video, and canvas accept only the bindeventname form; bind:eventname, catch, and capture bindings silently never fire. Also add bindrendererror with a fallback, since same-layer rendering can fail at runtime.

Does Skyline work with the default WeChat Mini Program setup?

No. Skyline requires the glass-easel component framework and navigationStyle custom on every Skyline page, and it has no page-level scrolling, so scrolling must move into scroll-view. glass-easel itself supports the WebView renderer from base library 3.8.12.

Why does miniprogram-ci upload fail with authentication errors?

Common causes are passing a key path to privateKey (which expects key contents; use privateKeyPath for paths), an invalid type value, or an IP allowlist blocking a hosted CI runner's rotating egress IP. Robot numbers must also be integers from 1 to 30.

What are the WeChat Mini Program subpackage size limits?

The main package and each individual subpackage are capped at 2 MB, and the whole mini program at 30 MB (20 MB for service-provider-developed ones). tabBar pages must live in the main package, and subpackage roots cannot nest.

Can I use uni-app or Taro to build a WeChat Mini Program?

Yes; both compile to mp-weixin and all native rules still apply to the generated output. Watch uni-app conditional compilation: an unrecognized platform name silently drops #ifdef blocks and keeps #ifndef blocks, shipping the wrong branch.