关于 wearos-specialist
面向 Wear OS 应用实现、审查和调试的开发技能,提供围绕小屏交互、电量和生命周期的指导。内容涵盖 Compose、状态管理、数据层、导航与设备验证。
主要功能
- 01小屏可扫读界面指导
- 02电量与后台行为建议
- 03生命周期和状态恢复指导
- 04Compose 与数据层实现流程
- 05手表端验证与调试清单
适用场景
- 01规划 Wear OS 功能实现
- 02审查手表应用交互与电量
- 03排查生命周期或状态问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ gitdolucas/ wearos-specialist --skill wearos-specialist安装后在 Claude Code 中输入/wearos-specialist确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.markdownlint.jsoncCODE_OF_CONDUCT.mdLICENSECHANGELOG.mdCONTRIBUTING.md.editorconfigREADME.mdSECURITY.mdexamples.mdreview-checklist.mdperf-battery.md.cursor/commands/experts.md.github/PULL_REQUEST_TEMPLATE.md.github/ISSUE_TEMPLATE/bug_report.ymlconfig.ymlcontent_request.yml.github/workflows/docs.ymldocs/how-to-review.mdexamples.mdcursor-and-agents.mdhow-to-debug-on-watch.mdindex.mdperf-battery.mdreview-checklist.mddocs/patterns/haptics.mdstate.mdroom-queries.mdtimers.mddocs/templates/pr-review.mdfeature-plan.md详细介绍
Wear OS 专家
适用范围
在实现、审查或调试 Wear OS 应用时使用此技能。优化重点:
- 小屏幕上的快速浏览型 UI
- 关注电量的行为和后台限制
- 生命周期正确性(导航/返回行为、可恢复性,以及适用时的环境模式/AOD)
- 现代 Android 技术栈:Kotlin + 协程/Flow、适用于 Wear OS 的 Compose、类似 MVVM 的状态持有者、Room/DataStore、Navigation,以及手表专属界面(Tile/Complication)
操作原则(Wear OS)
- 优先考虑易于浏览:清晰显示主要指标/操作;移除次要 UI。
- 扩大点击目标:优先使用少量大按钮,而不是密集排列的控件。
- 尽量减少每帧的工作量:避免在主线程上进行繁重计算/IO。
- 节约电量:后台任务、传感器、计时器和触觉反馈都必须经过审慎设计,并确保生命周期安全。
- 状态可预测:保持唯一事实来源;在重要场景下,进程终止后应能正确恢复。
默认实现工作流(技术栈优先)
除非有充分理由不这样做,否则添加或更改功能时请遵循以下步骤:
-
UI(Compose 屏幕)
- 尽可能让 UI 保持无状态;传入状态和事件回调。
- 让主要操作最醒目、最容易触及。
- 避免“花哨”的手势;要考虑到用户手上有汗、身体在移动的情况。
-
状态持有者(ViewModel / 状态容器)
- 负责业务规则和验证;协调临时效果(snack/触觉反馈)。
- 使用协程;不要阻塞 UI。
- 暴露不可变的 UI 状态(
data class)和事件方法。
-
数据层(Room / DataStore)
- 关系型/历史数据使用 Room;偏好设置和小型键值配置使用 DataStore。
- 优先使用简单高效的查询;适当时通过 Flow 向 UI 推送数据。
-
导航
- 明确指定路由;避免脆弱的字符串类型参数。
- 确保返回行为符合手表使用习惯(避免过深的导航栈)。
-
验证
- 制定简短的手表端测试计划:关键流程、快速连续点击、中断、后台运行/返回行为。
可穿戴设备 UX 快速检查清单
- 从当前屏幕出发,点按一次即可触达主要操作。
- 所有操作都能用一根拇指完成(无需精准操作)。
- 默认设置合理(不要强迫用户在执行核心操作前完成设置)。
- “参考/历史”信息应起辅助作用,而非喧宾夺主。
- 避免阻塞式流程;仅对破坏性操作进行确认。
性能和重组经验法则
- 对于非简单的派生值,使用
remember/derivedStateOf保存。 - 避免在高频 UI 路径中每次重组都分配新的列表/对象。
- 优先使用从数据层流向 UI 的
Flow/StateFlow,而不是手动轮询。 - 计时器更新应保持低频(例如每秒一次),并在不需要时停止。
- 在可组合项中使用格式化程序/解析器时要谨慎;应缓存它们。
调试工作流(以手表为先)
当设备上的表现“很奇怪”时:
- 在手表上复现(而非模拟器),并记录:
- 屏幕、操作顺序、手表状态(AOD 开/关)、省电模式、连接状态
- 在以下位置添加临时日志:
- 导航参数
- 数据读取/写入(Room/DataStore/网络)
- 传感器/计时器的启动/停止及生命周期回调
- 检查以下问题:
- 主线程 IO
- 状态被错误地重新创建(缺少持久化/恢复)
- 离开屏幕后,协程/计时器/传感器监听器仍在持续运行
输出模板
实现计划模板
使用此格式提出工作方案:
## Summary
- What user-facing behavior changes (1–3 bullets)
## Files to touch
- `...`
## Data/state changes
- UI state:
- Events:
- Persistence (Room/DataStore):
- Background work (if any):
## Wear OS constraints check
- Glanceability:
- Tap targets:
- Battery/background:
- Lifecycle/restore:
## Test plan
- On-watch manual checks (key flows + edge cases):
审查模板(PR 风格)
## Correctness
- [ ] State transitions are correct under rapid taps / interruptions
- [ ] Data reads/writes are correct and resilient (restart, process death)
## Wear OS UX
- [ ] Primary action is largest and easiest to hit
- [ ] No dense UI / tiny tap targets
- [ ] No blocking flows during primary usage
## Performance/battery
- [ ] No IO on main thread
- [ ] Timers/sensors stop when leaving screen
- [ ] Recomposition hotspots avoided (no per-frame allocations)
## Data layer
- [ ] Room/DataStore usage fits the problem (history vs settings)
- [ ] Queries are minimal and efficient (only load what UI needs)
补充参考资料(深入一层)
- 审查清单:review-checklist.md
- 性能/电量说明:perf-battery.md
- 示例:examples.md
评论
支持 Markdown