Use whenever the project is a Zepp OS watchface, watch face, clock face, or dial rather than a regular Mini Program app - configuring appType "watchface" and module.watchface.path in app.json, the WatchFace() entry (one render surface, no pages, no router), drawing the current time / date / seconds, building a digital or analog clock that redraws on tick, adding complications (heart rate, battery, weather), AOD / Always-On Display, edit mode so users can customize widgets, the lockscreen flag, or choosing Watchface Maker (no-code) vs a coded watchface project. Use even when the user says just "clock face", "dial", or "lockscreen" - watchface is a distinct appType, not a regular app. Do not use for normal pages-with-navigation apps (zepp-os-fundamentals + zepp-os-navigation-lifecycle).
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Use whenever the project is a Zepp OS watchface, watch face, clock face, or dial rather than a regular Mini Program app - configuring appType "watchface" and module.watchface.path in app.json, the WatchFace() entry (one render surface, no pages, no router), drawing the current time / date / seconds, building a digital or analog clock that redraws on tick, adding complications (heart rate, battery, weather), AOD / Always-On Display, edit mode so users can customize widgets, the lockscreen flag, or choosing Watchface Maker (no-code) vs a coded watchface project. Use even when the user says just "clock face", "dial", or "lockscreen" - watchface is a distinct appType, not a regular app. Do not use for normal pages-with-navigation apps (zepp-os-fundamentals + zepp-os-navigation-lifecycle).
Zepp OS Watchface
Context: Watchface (a distinct appType, not a Mini Program app).
API_LEVEL: 1.0+ (legacy hm* globals on 1.0; @zos/* on 2.0+).
Prereq: project structure & app.json — see zepp-os-fundamentals. Widgets — see zepp-os-ui. Data — see zepp-os-sensors.
Overview
A watchface is not an app: appType is "watchface", there are no pages, and the entry is WatchFace({ … }) (one render surface, not Page/App navigation). Two ways to make one: the visual Watchface Maker (no code) or a coded project via Zeus CLI (this skill).
app.json — the watchface module
{"app":{"appType":"watchface",/* … */},"targets":{"gtr-3-pro":{"module":{"watchface":{"path":"watchface/gtr-3-pro/index",// the WatchFace() entry"main":1,// this is the primary/preview face"editable":1,// user can customize widgets in edit mode"lockscreen":1// usable as lock screen}},"platforms":[{"st":"r"}],"designWidth":480}}}
Use module.watchface (not module.page). appType must be "watchface".