reis-mobile 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +30 -0
  4. package/README.md +47 -208
  5. package/THIRD_PARTY_NOTICES.md +10 -13
  6. package/agents/android-performance-engineer.md +2 -2
  7. package/agents/lead-mobile.md +5 -2
  8. package/agents/mobile-accessibility-auditor.md +63 -0
  9. package/agents/mobile-code-reviewer.md +2 -0
  10. package/agents/mobile-release-engineer.md +58 -0
  11. package/agents/mobile-staff-engineer.md +2 -2
  12. package/agents/rn-architect.md +1 -1
  13. package/commands/debug.md +1 -1
  14. package/core/registry/registry.mjs +18 -11
  15. package/package.json +24 -3
  16. package/skills/mobile-accessibility/SKILL.md +69 -0
  17. package/skills/mobile-accessibility/references/android.md +54 -0
  18. package/skills/mobile-accessibility/references/flutter.md +59 -0
  19. package/skills/mobile-accessibility/references/ios.md +50 -0
  20. package/skills/mobile-accessibility/references/react-native.md +38 -0
  21. package/skills/mobile-android/SKILL.md +29 -0
  22. package/skills/{android-agp-9-upgrade/SKILL.md → mobile-android/references/build-and-performance/agp-9-upgrade/GUIDE.md} +1 -20
  23. package/skills/{android-cli/SKILL.md → mobile-android/references/build-and-performance/android-cli/GUIDE.md} +1 -25
  24. package/skills/{android-profiler/SKILL.md → mobile-android/references/build-and-performance/android-profiler/GUIDE.md} +1 -27
  25. package/skills/{android-r8-analyzer/SKILL.md → mobile-android/references/build-and-performance/r8-analyzer/GUIDE.md} +1 -20
  26. package/skills/mobile-android/references/build-and-performance.md +12 -0
  27. package/skills/{android-display-glasses-with-jetpack-compose-glimmer/SKILL.md → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/GUIDE.md} +1 -24
  28. package/skills/{android-leanback-to-compose-tv-migration/SKILL.md → mobile-android/references/devices/leanback-to-compose-tv-migration/GUIDE.md} +1 -37
  29. package/skills/{android-wear-compose-m3/SKILL.md → mobile-android/references/devices/wear-compose-m3/GUIDE.md} +1 -25
  30. package/skills/mobile-android/references/devices.md +11 -0
  31. package/skills/{android-restore-credentials/SKILL.md → mobile-android/references/identity/restore-credentials/GUIDE.md} +1 -23
  32. package/skills/{android-verified-email/SKILL.md → mobile-android/references/identity/verified-email/GUIDE.md} +1 -28
  33. package/skills/mobile-android/references/identity.md +10 -0
  34. package/skills/{android-camerax/SKILL.md → mobile-android/references/media/camerax/GUIDE.md} +1 -30
  35. package/skills/{android-media3-cast-integration/SKILL.md → mobile-android/references/media/media3-cast-integration/GUIDE.md} +1 -24
  36. package/skills/mobile-android/references/media.md +10 -0
  37. package/skills/{android-appfunctions/SKILL.md → mobile-android/references/on-device-ai/appfunctions/GUIDE.md} +1 -24
  38. package/skills/{android-ml-kit-genai-prompt-api/SKILL.md → mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/GUIDE.md} +1 -20
  39. package/skills/mobile-android/references/on-device-ai.md +10 -0
  40. package/skills/{android-engage-sdk-integration/SKILL.md → mobile-android/references/play/engage-sdk-integration/GUIDE.md} +1 -19
  41. package/skills/{android-play-billing-library-version-upgrade/SKILL.md → mobile-android/references/play/play-billing-library-version-upgrade/GUIDE.md} +1 -22
  42. package/skills/{android-play-policy-insights/SKILL.md → mobile-android/references/play/play-policy-insights/GUIDE.md} +1 -43
  43. package/skills/mobile-android/references/play.md +11 -0
  44. package/skills/{android-adaptive/SKILL.md → mobile-android/references/ui/adaptive/GUIDE.md} +1 -25
  45. package/skills/{android-edge-to-edge/SKILL.md → mobile-android/references/ui/edge-to-edge/GUIDE.md} +1 -21
  46. package/skills/{android-migrate-xml-views-to-jetpack-compose/SKILL.md → mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/GUIDE.md} +1 -24
  47. package/skills/{android-navigation-3/SKILL.md → mobile-android/references/ui/navigation-3/GUIDE.md} +1 -37
  48. package/skills/{android-navigation-event/SKILL.md → mobile-android/references/ui/navigation-event/GUIDE.md} +1 -25
  49. package/skills/{android-styles/SKILL.md → mobile-android/references/ui/styles/GUIDE.md} +1 -21
  50. package/skills/mobile-android/references/ui.md +14 -0
  51. package/skills/mobile-architecture/SKILL.md +52 -0
  52. package/skills/mobile-architecture/references/android.md +54 -0
  53. package/skills/{flutter-app-architecture/SKILL.md → mobile-architecture/references/flutter/app-architecture.md} +1 -8
  54. package/skills/{flutter-bloc/SKILL.md → mobile-architecture/references/flutter/bloc.md} +1 -8
  55. package/skills/{flutter-change-notifier/SKILL.md → mobile-architecture/references/flutter/change-notifier.md} +1 -8
  56. package/skills/{flutter-architecture-feature-first/SKILL.md → mobile-architecture/references/flutter/feature-first.md} +1 -8
  57. package/skills/{flutter-login-usecase/SKILL.md → mobile-architecture/references/flutter/login-use-case.md} +0 -7
  58. package/skills/{flutter-managing-state/SKILL.md → mobile-architecture/references/flutter/managing-state.md} +2 -11
  59. package/skills/{flutter-provider/SKILL.md → mobile-architecture/references/flutter/provider.md} +1 -8
  60. package/skills/{flutter-apply-architecture-best-practices/SKILL.md → mobile-architecture/references/flutter/recommended-architecture.md} +2 -11
  61. package/skills/{flutter-riverpod/SKILL.md → mobile-architecture/references/flutter/riverpod.md} +1 -8
  62. package/skills/mobile-architecture/references/flutter.md +21 -0
  63. package/skills/mobile-architecture/references/ios.md +58 -0
  64. package/skills/mobile-architecture/references/react-native.md +61 -0
  65. package/skills/mobile-code-review/SKILL.md +70 -0
  66. package/skills/{android-code-review/SKILL.md → mobile-code-review/references/android.md} +1 -8
  67. package/skills/{flutter-code-review/SKILL.md → mobile-code-review/references/flutter/pr-review.md} +1 -8
  68. package/skills/{flutter-project-audit/SKILL.md → mobile-code-review/references/flutter/project-audit.md} +0 -7
  69. package/skills/{flutter-dart-run-static-analysis/SKILL.md → mobile-code-review/references/flutter/static-analysis.md} +2 -11
  70. package/skills/{flutter-widget-review/SKILL.md → mobile-code-review/references/flutter/widget-review.md} +0 -7
  71. package/skills/mobile-code-review/references/flutter.md +18 -0
  72. package/skills/{ios-code-review/SKILL.md → mobile-code-review/references/ios.md} +1 -8
  73. package/skills/mobile-code-review/references/react-native.md +58 -0
  74. package/skills/mobile-debug/SKILL.md +51 -0
  75. package/skills/mobile-debug/references/android/anr.md +59 -0
  76. package/skills/{android-gradle-build-debug/SKILL.md → mobile-debug/references/android/gradle-build.md} +0 -8
  77. package/skills/mobile-debug/references/android/memory-leaks.md +43 -0
  78. package/skills/mobile-debug/references/android.md +32 -0
  79. package/skills/mobile-debug/references/deep-links.md +60 -0
  80. package/skills/{flutter-build-debug/SKILL.md → mobile-debug/references/flutter/build.md} +5 -13
  81. package/skills/{flutter-errors/SKILL.md → mobile-debug/references/flutter/errors.md} +1 -8
  82. package/skills/{flutter-fix-layout-issues/SKILL.md → mobile-debug/references/flutter/layout-issues.md} +2 -11
  83. package/skills/{flutter-dart-resolve-package-conflicts/SKILL.md → mobile-debug/references/flutter/package-conflicts.md} +2 -11
  84. package/skills/{flutter-dart-fix-runtime-errors/SKILL.md → mobile-debug/references/flutter/runtime-errors.md} +2 -11
  85. package/skills/mobile-debug/references/flutter.md +23 -0
  86. package/skills/{ios-cocoapods-debug/SKILL.md → mobile-debug/references/ios/cocoapods.md} +1 -9
  87. package/skills/{ios-xcode-build-debug/SKILL.md → mobile-debug/references/ios/xcode-build.md} +0 -8
  88. package/skills/mobile-debug/references/ios.md +23 -0
  89. package/skills/mobile-debug/references/react-native.md +43 -0
  90. package/skills/mobile-flutter/SKILL.md +30 -0
  91. package/skills/{flutter-improving-accessibility/SKILL.md → mobile-flutter/references/accessibility-i18n/accessibility.md} +2 -11
  92. package/skills/{flutter-setup-localization/SKILL.md → mobile-flutter/references/accessibility-i18n/localization.md} +2 -11
  93. package/skills/mobile-flutter/references/accessibility-i18n.md +8 -0
  94. package/skills/{flutter-dart-3-updates/SKILL.md → mobile-flutter/references/dart/dart-3.md} +1 -8
  95. package/skills/{flutter-effective-dart/SKILL.md → mobile-flutter/references/dart/effective-dart.md} +1 -8
  96. package/skills/{flutter-dart-use-pattern-matching/SKILL.md → mobile-flutter/references/dart/pattern-matching/GUIDE.md} +2 -18
  97. package/skills/mobile-flutter/references/dart.md +9 -0
  98. package/skills/{flutter-caching-data/SKILL.md → mobile-flutter/references/data/caching.md} +2 -11
  99. package/skills/{flutter-working-with-databases/SKILL.md → mobile-flutter/references/data/databases.md} +2 -11
  100. package/skills/{flutter-use-http-package/SKILL.md → mobile-flutter/references/data/http.md} +2 -11
  101. package/skills/{flutter-implement-json-serialization/SKILL.md → mobile-flutter/references/data/json-serialization.md} +2 -11
  102. package/skills/mobile-flutter/references/data.md +10 -0
  103. package/skills/{flutter-interoperating-with-native-apis/SKILL.md → mobile-flutter/references/native/native-apis.md} +2 -11
  104. package/skills/{flutter-embedding-native-views/SKILL.md → mobile-flutter/references/native/native-views.md} +2 -11
  105. package/skills/{flutter-building-plugins/SKILL.md → mobile-flutter/references/native/plugins.md} +2 -11
  106. package/skills/mobile-flutter/references/native.md +9 -0
  107. package/skills/{flutter-reducing-app-size/SKILL.md → mobile-flutter/references/performance/app-size.md} +2 -11
  108. package/skills/{flutter-handling-concurrency/SKILL.md → mobile-flutter/references/performance/concurrency.md} +2 -11
  109. package/skills/mobile-flutter/references/performance.md +8 -0
  110. package/skills/{flutter-setting-up-on-macos/SKILL.md → mobile-flutter/references/setup/macos.md} +2 -11
  111. package/skills/mobile-flutter/references/setup.md +7 -0
  112. package/skills/{flutter-animating-apps/SKILL.md → mobile-flutter/references/ui/animations.md} +2 -11
  113. package/skills/{flutter-building-forms/SKILL.md → mobile-flutter/references/ui/forms.md} +2 -11
  114. package/skills/{flutter-adding-home-screen-widgets/SKILL.md → mobile-flutter/references/ui/home-screen-widgets.md} +2 -11
  115. package/skills/{flutter-building-layouts/SKILL.md → mobile-flutter/references/ui/layouts.md} +2 -11
  116. package/skills/{flutter-build-responsive-layout/SKILL.md → mobile-flutter/references/ui/responsive-layout.md} +2 -11
  117. package/skills/{flutter-setup-declarative-routing/SKILL.md → mobile-flutter/references/ui/routing.md} +2 -11
  118. package/skills/{flutter-theming-apps/SKILL.md → mobile-flutter/references/ui/theming.md} +2 -11
  119. package/skills/{flutter-add-widget-preview/SKILL.md → mobile-flutter/references/ui/widget-previews.md} +2 -11
  120. package/skills/mobile-flutter/references/ui.md +14 -0
  121. package/skills/mobile-ios/SKILL.md +25 -0
  122. package/skills/mobile-ios/references/data-networking.md +70 -0
  123. package/skills/mobile-ios/references/performance-release.md +37 -0
  124. package/skills/mobile-ios/references/platform-features.md +52 -0
  125. package/skills/mobile-ios/references/ui-navigation.md +64 -0
  126. package/skills/mobile-release/SKILL.md +70 -0
  127. package/skills/mobile-release/references/android.md +47 -0
  128. package/skills/mobile-release/references/ci-cd.md +94 -0
  129. package/skills/mobile-release/references/flutter.md +37 -0
  130. package/skills/mobile-release/references/ios.md +48 -0
  131. package/skills/mobile-release/references/react-native.md +36 -0
  132. package/skills/mobile-release/references/store-copy.md +52 -0
  133. package/skills/mobile-rn/SKILL.md +26 -0
  134. package/skills/mobile-rn/references/data-networking.md +59 -0
  135. package/skills/mobile-rn/references/performance-release.md +46 -0
  136. package/skills/mobile-rn/references/platform-features.md +40 -0
  137. package/skills/mobile-rn/references/ui-navigation.md +62 -0
  138. package/skills/mobile-security/SKILL.md +82 -0
  139. package/skills/{android-intent-security/SKILL.md → mobile-security/references/android/intent-security.md} +1 -28
  140. package/skills/mobile-security/references/android.md +37 -0
  141. package/skills/{flutter-secure-token-store/SKILL.md → mobile-security/references/flutter/secure-token-store.md} +1 -8
  142. package/skills/mobile-security/references/flutter.md +30 -0
  143. package/skills/mobile-security/references/ios.md +27 -0
  144. package/skills/mobile-security/references/react-native.md +29 -0
  145. package/skills/mobile-security-audit/SKILL.md +0 -101
  146. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/android/build/migrate-to-built-in-kotlin.md +0 -0
  147. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/android/build/releases/agp-9-0-0-release-notes.md +0 -0
  148. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/buildconfig.md +0 -0
  149. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/ksp-kapt.md +0 -0
  150. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/paparazzi-gradle-9.md +0 -0
  151. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/recipes.md +0 -0
  152. /package/skills/{android-cli → mobile-android/references/build-and-performance/android-cli}/references/interact.md +0 -0
  153. /package/skills/{android-cli → mobile-android/references/build-and-performance/android-cli}/references/journeys.md +0 -0
  154. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/analysis_orchestrator.md +0 -0
  155. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-sql/perfetto_sql.md +0 -0
  156. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/perfetto_trace_analysis.md +0 -0
  157. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/guiding_principles.md +0 -0
  158. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/hints/domain_hints_template.md +0 -0
  159. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_cpu.md +0 -0
  160. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_graphics.md +0 -0
  161. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_io.md +0 -0
  162. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_ipc.md +0 -0
  163. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_memory.md +0 -0
  164. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_power.md +0 -0
  165. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/per_candidate_analysis.md +0 -0
  166. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/triage.md +0 -0
  167. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/recording_orchestrator.md +0 -0
  168. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/perfetto_trace_recording.md +0 -0
  169. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/example-configs/app_jank.pftxt +0 -0
  170. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/example-configs/cpu_profile.pftxt +0 -0
  171. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/example-configs/java_heap_dump.pftxt +0 -0
  172. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/example-configs/long_background.pftxt +0 -0
  173. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/example-configs/memory_counters.pftxt +0 -0
  174. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/example-configs/native_heap.pftxt +0 -0
  175. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/example-configs/sched_cpu.pftxt +0 -0
  176. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/trace_config_reference.md +0 -0
  177. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/references/env_setup.md +0 -0
  178. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/references/perfetto/setup.md +0 -0
  179. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/references/perfetto/sql.md +0 -0
  180. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/CONFIGURATION-ANALYZER.md +0 -0
  181. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/CONFIGURATION.md +0 -0
  182. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/KEEP-RULES-IMPACT-HIERARCHY.md +0 -0
  183. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/REDUNDANT-RULES.md +0 -0
  184. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/REFLECTION-GUIDE.md +0 -0
  185. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/REPORT_FORMAT.md +0 -0
  186. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/android/topic/performance/app-optimization/enable-app-optimization.md +0 -0
  187. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/android/training/testing/other-components/ui-automator.md +0 -0
  188. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/design/ui/ai-glasses/guides/interaction/inputs.md +0 -0
  189. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/develop/xr/jetpack-xr-sdk/access-hardware-projected-context.md +0 -0
  190. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/buttons.md +0 -0
  191. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/cards.md +0 -0
  192. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/focus.md +0 -0
  193. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/icons.md +0 -0
  194. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/text.md +0 -0
  195. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/title-chips.md +0 -0
  196. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/android/develop/xr/jetpack-xr-sdk/request-hardware-permissions.md +0 -0
  197. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/button-samples-source.md +0 -0
  198. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/button-source.md +0 -0
  199. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/card-samples-source.md +0 -0
  200. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/card-source.md +0 -0
  201. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/deptheffect-source.md +0 -0
  202. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/deptheffectlevels-source.md +0 -0
  203. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/glimmersansflextypography-source.md +0 -0
  204. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/glimmertheme-source.md +0 -0
  205. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/icon-source.md +0 -0
  206. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/iconbutton-source.md +0 -0
  207. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/iconsizes-source.md +0 -0
  208. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/list-source.md +0 -0
  209. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/listitem-source.md +0 -0
  210. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/liststate-source.md +0 -0
  211. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/material-hct-source.md +0 -0
  212. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/projectedcontext-source.md +0 -0
  213. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/stack-source.md +0 -0
  214. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/stackitemscope-source.md +0 -0
  215. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/stackstate-source.md +0 -0
  216. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/surface-source.md +0 -0
  217. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/titlechip-samples-source.md +0 -0
  218. /package/skills/{android-display-glasses-with-jetpack-compose-glimmer → mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer}/references/titlechip-source.md +0 -0
  219. /package/skills/{android-leanback-to-compose-tv-migration → mobile-android/references/devices/leanback-to-compose-tv-migration}/references/android/training/tv/get-started/navigation.md +0 -0
  220. /package/skills/{android-leanback-to-compose-tv-migration → mobile-android/references/devices/leanback-to-compose-tv-migration}/references/android/training/tv/playback/compose/browse.md +0 -0
  221. /package/skills/{android-leanback-to-compose-tv-migration → mobile-android/references/devices/leanback-to-compose-tv-migration}/references/android/training/tv/playback/compose/index.md +0 -0
  222. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/android/training/wearables/compose/migrate-to-material3.md +0 -0
  223. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/AmbientModeSample.kt.md +0 -0
  224. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/AmbientModeSample.kt.md.txt +0 -0
  225. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/CurvedWorldSample.kt.md +0 -0
  226. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/CurvedWorldSample.kt.md.txt +0 -0
  227. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/ExpandableSample.kt.md +0 -0
  228. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/ExpandableSample.kt.md.txt +0 -0
  229. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/HierarchicalFocusSample.kt.md +0 -0
  230. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/HierarchicalFocusSample.kt.md.txt +0 -0
  231. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/PagerSamples.kt.md +0 -0
  232. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/PagerSamples.kt.md.txt +0 -0
  233. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/RotarySamples.kt.md +0 -0
  234. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/RotarySamples.kt.md.txt +0 -0
  235. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/ScalingLazyColumnSample.kt.md +0 -0
  236. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/ScalingLazyColumnSample.kt.md.txt +0 -0
  237. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/SwipeToDismissBoxSample.kt.md +0 -0
  238. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/SwipeToDismissBoxSample.kt.md.txt +0 -0
  239. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/SwipeToRevealSample.kt.md +0 -0
  240. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/SwipeToRevealSample.kt.md.txt +0 -0
  241. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/TransformingLazyColumnSample.kt.md +0 -0
  242. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/TransformingLazyColumnSample.kt.md.txt +0 -0
  243. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/AlertDialogSample.kt.md +0 -0
  244. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/AlertDialogSample.kt.md.txt +0 -0
  245. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/AnimatedTextSample.kt.md +0 -0
  246. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/AnimatedTextSample.kt.md.txt +0 -0
  247. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ButtonGroupSample.kt.md +0 -0
  248. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ButtonGroupSample.kt.md.txt +0 -0
  249. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ButtonSample.kt.md +0 -0
  250. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ButtonSample.kt.md.txt +0 -0
  251. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CardSample.kt.md +0 -0
  252. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CardSample.kt.md.txt +0 -0
  253. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CheckboxButtonSample.kt.md +0 -0
  254. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CheckboxButtonSample.kt.md.txt +0 -0
  255. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ConfirmationDialogSample.kt.md +0 -0
  256. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ConfirmationDialogSample.kt.md.txt +0 -0
  257. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CurvedTextSamples.kt.md +0 -0
  258. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CurvedTextSamples.kt.md.txt +0 -0
  259. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/DatePickerSample.kt.md +0 -0
  260. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/DatePickerSample.kt.md.txt +0 -0
  261. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/DynamicColorSchemeSample.kt.md +0 -0
  262. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/DynamicColorSchemeSample.kt.md.txt +0 -0
  263. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/EdgeButtonSample.kt.md +0 -0
  264. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/EdgeButtonSample.kt.md.txt +0 -0
  265. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/FadingExpandingLabelSample.kt.md +0 -0
  266. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/FadingExpandingLabelSample.kt.md.txt +0 -0
  267. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/IconButtonSample.kt.md +0 -0
  268. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/IconButtonSample.kt.md.txt +0 -0
  269. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/IconToggleButtonSample.kt.md +0 -0
  270. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/IconToggleButtonSample.kt.md.txt +0 -0
  271. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/LevelIndicatorSample.kt.md +0 -0
  272. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/LevelIndicatorSample.kt.md.txt +0 -0
  273. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/LinearProgressIndicatorSample.kt.md +0 -0
  274. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/LinearProgressIndicatorSample.kt.md.txt +0 -0
  275. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ListHeaderSample.kt.md +0 -0
  276. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ListHeaderSample.kt.md.txt +0 -0
  277. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/OneHandedGestureSamples.kt.md +0 -0
  278. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/OneHandedGestureSamples.kt.md.txt +0 -0
  279. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/OpenOnPhoneDialogSample.kt.md +0 -0
  280. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/OpenOnPhoneDialogSample.kt.md.txt +0 -0
  281. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PageIndicatorSample.kt.md +0 -0
  282. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PageIndicatorSample.kt.md.txt +0 -0
  283. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PagerScaffoldSample.kt.md +0 -0
  284. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PagerScaffoldSample.kt.md.txt +0 -0
  285. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PickerGroupSample.kt.md +0 -0
  286. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PickerGroupSample.kt.md.txt +0 -0
  287. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PickerSample.kt.md +0 -0
  288. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PickerSample.kt.md.txt +0 -0
  289. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PlaceholderSample.kt.md +0 -0
  290. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PlaceholderSample.kt.md.txt +0 -0
  291. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ProgressIndicatorSample.kt.md +0 -0
  292. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ProgressIndicatorSample.kt.md.txt +0 -0
  293. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/RadioButtonSample.kt.md +0 -0
  294. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/RadioButtonSample.kt.md.txt +0 -0
  295. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScaffoldSample.kt.md +0 -0
  296. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScaffoldSample.kt.md.txt +0 -0
  297. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScrollAwaySample.kt.md +0 -0
  298. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScrollAwaySample.kt.md.txt +0 -0
  299. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScrollIndicatorSample.kt.md +0 -0
  300. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScrollIndicatorSample.kt.md.txt +0 -0
  301. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SliderSample.kt.md +0 -0
  302. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SliderSample.kt.md.txt +0 -0
  303. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/StepperSample.kt.md +0 -0
  304. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/StepperSample.kt.md.txt +0 -0
  305. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SurfaceTransformationSample.kt.md +0 -0
  306. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SurfaceTransformationSample.kt.md.txt +0 -0
  307. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwipeToDismissBoxSample.kt.md +0 -0
  308. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwipeToDismissBoxSample.kt.md.txt +0 -0
  309. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwipeToRevealSample.kt.md +0 -0
  310. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwipeToRevealSample.kt.md.txt +0 -0
  311. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwitchButtonSample.kt.md +0 -0
  312. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwitchButtonSample.kt.md.txt +0 -0
  313. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TextButtonSample.kt.md +0 -0
  314. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TextButtonSample.kt.md.txt +0 -0
  315. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TextToggleButtonSample.kt.md +0 -0
  316. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TextToggleButtonSample.kt.md.txt +0 -0
  317. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TimePickerSample.kt.md +0 -0
  318. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TimePickerSample.kt.md.txt +0 -0
  319. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TimeTextSample.kt.md +0 -0
  320. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TimeTextSample.kt.md.txt +0 -0
  321. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformationSpecSample.kt.md +0 -0
  322. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformationSpecSample.kt.md.txt +0 -0
  323. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformingLazyColumnNotificationsSample.kt.md +0 -0
  324. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformingLazyColumnNotificationsSample.kt.md.txt +0 -0
  325. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformingLazyColumnSample.kt.md +0 -0
  326. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformingLazyColumnSample.kt.md.txt +0 -0
  327. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/navigation3/SwipeDismissableSceneStrategySample.kt.md +0 -0
  328. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/navigation3/SwipeDismissableSceneStrategySample.kt.md.txt +0 -0
  329. /package/skills/{android-restore-credentials → mobile-android/references/identity/restore-credentials}/references/android/guide/topics/manifest/application-element.md +0 -0
  330. /package/skills/{android-restore-credentials → mobile-android/references/identity/restore-credentials}/references/android/identity/passkeys/create-passkeys.md +0 -0
  331. /package/skills/{android-restore-credentials → mobile-android/references/identity/restore-credentials}/references/android/identity/passkeys/sign-in-with-passkeys.md +0 -0
  332. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/credential-manager/index.md +0 -0
  333. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/digital-credentials/credential-verifier.md +0 -0
  334. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/digital-credentials/email-verification-implementation.md +0 -0
  335. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/digital-credentials/email-verification.md +0 -0
  336. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/digital-credentials/index.md +0 -0
  337. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/passkeys/create-passkeys.md +0 -0
  338. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/sign-in/credential-manager-webview.md +0 -0
  339. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/camera1-to-camerax.md +0 -0
  340. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/camera2-to-camerax.md +0 -0
  341. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/expert-blueprints.md +0 -0
  342. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/foldables.md +0 -0
  343. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/immutability.md +0 -0
  344. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/low-light.md +0 -0
  345. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/mlkit-spatial.md +0 -0
  346. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/modern-apis.md +0 -0
  347. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/testing.md +0 -0
  348. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/thermals.md +0 -0
  349. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/wear-os.md +0 -0
  350. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/xr.md +0 -0
  351. /package/skills/{android-media3-cast-integration → mobile-android/references/media/media3-cast-integration}/references/android/media/media3/cast/create-castplayer.md +0 -0
  352. /package/skills/{android-media3-cast-integration → mobile-android/references/media/media3-cast-integration}/references/android/media/media3/cast/customize-castoptions.md +0 -0
  353. /package/skills/{android-media3-cast-integration → mobile-android/references/media/media3-cast-integration}/references/android/media/media3/cast/index.md +0 -0
  354. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/adb-interaction-testing.md +0 -0
  355. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/context.md +0 -0
  356. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/feature-discovery-analysis.md +0 -0
  357. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/implementation-configuration.md +0 -0
  358. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/kdoc-refinement-optimization.md +0 -0
  359. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/migrate-to-service-entry-point.md +0 -0
  360. /package/skills/{android-ml-kit-genai-prompt-api → mobile-android/references/on-device-ai/ml-kit-genai-prompt-api}/references/get-started.md +0 -0
  361. /package/skills/{android-ml-kit-genai-prompt-api → mobile-android/references/on-device-ai/ml-kit-genai-prompt-api}/references/prefix-caching.md +0 -0
  362. /package/skills/{android-ml-kit-genai-prompt-api → mobile-android/references/on-device-ai/ml-kit-genai-prompt-api}/references/prompt-design.md +0 -0
  363. /package/skills/{android-ml-kit-genai-prompt-api → mobile-android/references/on-device-ai/ml-kit-genai-prompt-api}/references/prompt-optimization.md +0 -0
  364. /package/skills/{android-ml-kit-genai-prompt-api → mobile-android/references/on-device-ai/ml-kit-genai-prompt-api}/references/structured-output.md +0 -0
  365. /package/skills/{android-ml-kit-genai-prompt-api → mobile-android/references/on-device-ai/ml-kit-genai-prompt-api}/references/system-instructions.md +0 -0
  366. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/faq.md +0 -0
  367. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/food.md +0 -0
  368. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/healthandfitness.md +0 -0
  369. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/listen.md +0 -0
  370. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/otherverticals.md +0 -0
  371. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/read.md +0 -0
  372. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/shopping.md +0 -0
  373. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/social.md +0 -0
  374. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/travel.md +0 -0
  375. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/tv/continue-watching/index.md +0 -0
  376. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/tv/entitlements.md +0 -0
  377. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/tv/getting-started.md +0 -0
  378. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/tv/recommendations.md +0 -0
  379. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/watch.md +0 -0
  380. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/clusters.md +0 -0
  381. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/common.md +0 -0
  382. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/patterns.md +0 -0
  383. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/requests.md +0 -0
  384. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/food.md +0 -0
  385. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/listen.md +0 -0
  386. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/other.md +0 -0
  387. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/read.md +0 -0
  388. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/shopping.md +0 -0
  389. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/social.md +0 -0
  390. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/travel.md +0 -0
  391. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/tv.md +0 -0
  392. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/watch.md +0 -0
  393. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/troubleshooting.md +0 -0
  394. /package/skills/{android-play-billing-library-version-upgrade → mobile-android/references/play/play-billing-library-version-upgrade}/references/android/google/play/billing/release-notes.md +0 -0
  395. /package/skills/{android-play-billing-library-version-upgrade → mobile-android/references/play/play-billing-library-version-upgrade}/references/migration-logic.md +0 -0
  396. /package/skills/{android-play-billing-library-version-upgrade → mobile-android/references/play/play-billing-library-version-upgrade}/references/version-checklist.md +0 -0
  397. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/common_mandates.md +0 -0
  398. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/compliance_report_template.md +0 -0
  399. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/critic.md +0 -0
  400. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/goal_data_safety.md +0 -0
  401. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/goal_permissions_and_apis.md +0 -0
  402. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/goal_user_account.md +0 -0
  403. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/policies.json +0 -0
  404. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/scanner_config.json +0 -0
  405. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/generate_report.py +0 -0
  406. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/orchestrator.py +0 -0
  407. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/play_store_scraper.py +0 -0
  408. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/scanner.py +0 -0
  409. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/template_engine.py +0 -0
  410. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/flexbox/container-behavior.md +0 -0
  411. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/flexbox/get-started.md +0 -0
  412. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/flexbox/index.md +0 -0
  413. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/flexbox/item-behavior.md +0 -0
  414. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/grid/container-properties.md +0 -0
  415. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/grid/get-started.md +0 -0
  416. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/grid/index.md +0 -0
  417. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/grid/item-properties.md +0 -0
  418. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/mediaquery/index.md +0 -0
  419. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/tooling/debug.md +0 -0
  420. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +0 -0
  421. /package/skills/{android-migrate-xml-views-to-jetpack-compose → mobile-android/references/ui/migrate-xml-views-to-jetpack-compose}/references/analysis-of-the-project-and-layout.md +0 -0
  422. /package/skills/{android-migrate-xml-views-to-jetpack-compose → mobile-android/references/ui/migrate-xml-views-to-jetpack-compose}/references/android/develop/ui/compose/designsystems/migrate-xml-theme-to-compose.md +0 -0
  423. /package/skills/{android-migrate-xml-views-to-jetpack-compose → mobile-android/references/ui/migrate-xml-views-to-jetpack-compose}/references/android/develop/ui/compose/migrate/interoperability-apis/compose-in-views.md +0 -0
  424. /package/skills/{android-migrate-xml-views-to-jetpack-compose → mobile-android/references/ui/migrate-xml-views-to-jetpack-compose}/references/android/develop/ui/compose/migrate/interoperability-apis/views-in-compose.md +0 -0
  425. /package/skills/{android-migrate-xml-views-to-jetpack-compose → mobile-android/references/ui/migrate-xml-views-to-jetpack-compose}/references/android/develop/ui/compose/setup-compose-dependencies-and-compiler.md +0 -0
  426. /package/skills/{android-migrate-xml-views-to-jetpack-compose → mobile-android/references/ui/migrate-xml-views-to-jetpack-compose}/references/identify-optimal-xml-candidate.md +0 -0
  427. /package/skills/{android-migrate-xml-views-to-jetpack-compose → mobile-android/references/ui/migrate-xml-views-to-jetpack-compose}/references/xml-layout-migration.md +0 -0
  428. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/index.md +0 -0
  429. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/migration-guide.md +0 -0
  430. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/animations.md +0 -0
  431. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/basic.md +0 -0
  432. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/basicdsl.md +0 -0
  433. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/basicsaveable.md +0 -0
  434. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/bottomsheet.md +0 -0
  435. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/common-ui.md +0 -0
  436. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/conditional-transitions.md +0 -0
  437. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/conditional.md +0 -0
  438. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/deeplinks-custommatcher.md +0 -0
  439. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/deeplinks-staticuri.md +0 -0
  440. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/deeplinks-syntheticbackstack.md +0 -0
  441. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/dialog.md +0 -0
  442. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/lifecycle-owner.md +0 -0
  443. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +0 -0
  444. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/material-supportingpane.md +0 -0
  445. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/modular-hilt.md +0 -0
  446. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/modular-koin.md +0 -0
  447. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/multiple-backstacks.md +0 -0
  448. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/passingarguments.md +0 -0
  449. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/results-event.md +0 -0
  450. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/results-state.md +0 -0
  451. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/scenes-listdetail.md +0 -0
  452. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/scenes-twopane.md +0 -0
  453. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/type-safe-destinations.md +0 -0
  454. /package/skills/{android-navigation-event → mobile-android/references/ui/navigation-event}/references/android/guide/navigation/navigation-event/dispatcher.md +0 -0
  455. /package/skills/{android-navigation-event → mobile-android/references/ui/navigation-event}/references/android/guide/navigation/navigation-event/handle-back.md +0 -0
  456. /package/skills/{android-navigation-event → mobile-android/references/ui/navigation-event}/references/android/guide/navigation/navigation-event/index.md +0 -0
  457. /package/skills/{android-navigation-event → mobile-android/references/ui/navigation-event}/references/android/guide/navigation/navigation-event/setup.md +0 -0
  458. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/designsystems/custom.md +0 -0
  459. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/styles/fundamentals.md +0 -0
  460. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/styles/state-animations.md +0 -0
  461. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/styles/styles-vs-modifiers.md +0 -0
  462. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/styles/theming.md +0 -0
  463. /package/skills/{flutter-dart-use-pattern-matching → mobile-flutter/references/dart/pattern-matching}/examples/json_patterns.dart +0 -0
@@ -1,28 +1,4 @@
1
- ---
2
- name: android-navigation-event
3
- description: Intercept back gestures and run Predictive Back animations using the
4
- NavigationEvent (androidx.navigationevent) library in Compose Android. Handles Activity
5
- setup, parent-child dispatcher scoping in `ViewPagers` or tabs, Compose `NavigationBackHandler`,
6
- and migration from legacy `BackHandler` on SDK 36+.
7
- license: Apache-2.0
8
- source: https://github.com/android/skills
9
- routing: manual
10
- stacks: [android]
11
- metadata:
12
- author: Google LLC
13
- last-updated: '2026-09-01'
14
- keywords:
15
- - Android
16
- - Navigation Event
17
- - Jetpack Compose
18
- - Back Navigation
19
- - Dispatcher
20
- - Guidelines
21
- - Troubleshooting
22
- - ComponentActivity
23
- - Dialog
24
- - ViewPager
25
- ---
1
+ > Adapted from the `navigation-event` skill in [android/skills](https://github.com/android/skills) (Apache-2.0). See `THIRD_PARTY_NOTICES.md`.
26
2
 
27
3
  ## Common guidelines
28
4
 
@@ -1,24 +1,4 @@
1
- ---
2
- name: android-styles
3
- description: Use this skill to integrate the Jetpack Compose Styles API into an Android
4
- project. This skill guides you through upgrading dependencies, setting up component
5
- themes, making custom components styleable, and migrating existing layout properties
6
- to use unified styles. Migrate custom design system components, replace hard coded
7
- parameters with Style attributes, and use Modifier.styleable for interaction states.
8
- license: Apache-2.0
9
- source: https://github.com/android/skills
10
- routing: manual
11
- stacks: [android]
12
- metadata:
13
- author: Google LLC
14
- last-updated: '2026-09-08'
15
- keywords:
16
- - Jetpack Compose
17
- - Styles
18
- - Theming with Styles
19
- - Migrate to Styles
20
- - Modifier.styleable
21
- ---
1
+ > Adapted from the `styles` skill in [android/skills](https://github.com/android/skills) (Apache-2.0). See `THIRD_PARTY_NOTICES.md`.
22
2
 
23
3
  ## Limitations
24
4
 
@@ -0,0 +1,14 @@
1
+ # Android: UI and navigation
2
+
3
+ Jetpack Compose, adaptive layouts, edge-to-edge, styles, XML-to-Compose migration and Navigation 3.
4
+
5
+ | Guide | What it covers |
6
+ |---|---|
7
+ | [adaptive](ui/adaptive/GUIDE.md) | Instructions to make or update an app's UI so that it adapts to different Android devices including phones, tablets, foldables, laptops, desktop, TV, Auto and XR. |
8
+ | [edge-to-edge](ui/edge-to-edge/GUIDE.md) | Use this skill to migrate your Jetpack Compose app to add adaptive edge-to-edge support and troubleshoot common issues. |
9
+ | [styles](ui/styles/GUIDE.md) | Use this skill to integrate the Jetpack Compose Styles API into an Android project. |
10
+ | [migrate-xml-views-to-jetpack-compose](ui/migrate-xml-views-to-jetpack-compose/GUIDE.md) | Provides a structured workflow for migrating an Android XML View to Jetpack Compose. |
11
+ | [navigation-3](ui/navigation-3/GUIDE.md) | Learn how to install and migrate to Jetpack Navigation 3, and how to implement features and patterns such as deep links, multiple backstacks, scenes (dialogs, bottom sheets, list-detail, two-pane, supporting pane), conditional navigation (such as logged-in navigation versus anonymous), returning results from flows, integration with Hilt, ViewModel, Kotlin, and view interoperability. |
12
+ | [navigation-event](ui/navigation-event/GUIDE.md) | Intercept back gestures and run Predictive Back animations using the NavigationEvent (androidx.navigationevent) library in Compose Android. |
13
+
14
+ Each guide lives in its own folder with its references and scripts. Relative paths in a guide — and `<repo_root>` where a guide uses it — refer to that guide's folder.
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: mobile-architecture
3
+ description: Designs and reviews the architecture of mobile apps on every stack — layers (UI, domain, data), unidirectional data flow, state ownership and state management, feature-first modularization, dependency injection, navigation, offline data and use cases — for Flutter (BLoC, Riverpod, Provider, ChangeNotifier), native Android (ViewModel, Hilt, Gradle modules), native iOS (SwiftUI and UIKit, Observation, Swift packages, actors) and React Native (server vs client state, React Navigation, Expo Router, native modules). Use when structuring a new app or feature, choosing or implementing state management, refactoring to layers or modules, or when the user asks where code should live, even if they only mention one class or screen.
4
+ intents: [architecture]
5
+ stacks: ["*"]
6
+ ---
7
+
8
+ # Mobile Architecture
9
+
10
+ What makes a mobile codebase keep up with its team, and how each stack expresses it. This file holds the principles; each platform's patterns, libraries and structure live in its reference.
11
+
12
+ ## 1. Pick the reference
13
+
14
+ | Project | Read |
15
+ |---|---|
16
+ | Flutter | [references/flutter.md](references/flutter.md) — structure guides and one guide per state management library |
17
+ | Native Android (Kotlin), or the Android side of Kotlin Multiplatform | [references/android.md](references/android.md) |
18
+ | Native iOS (Swift) | [references/ios.md](references/ios.md) |
19
+ | React Native or Expo | [references/react-native.md](references/react-native.md) |
20
+
21
+ ## 2. Map before judging
22
+
23
+ Read the entry point, navigation setup, dependency wiring, module or package graph and two or three representative features before proposing changes. A coherent structure that differs from the references is not a finding; inconsistency and coupling are.
24
+
25
+ ## 3. Principles on every stack
26
+
27
+ - **Layers with one direction of dependency.** UI renders state and sends events; logic (view models, blocs, stores, use cases) decides; data (repositories and data sources) fetches and stores. UI never calls HTTP clients, databases or platform SDKs directly.
28
+ - **Unidirectional data flow.** State flows down to the UI; events flow up. The UI does not mutate shared state in place.
29
+ - **Single source of truth.** Each piece of data has one owner — usually a repository — that the rest of the app observes. Duplicated copies drift.
30
+ - **State ownership.** Screen state lives with the screen's logic and survives configuration changes where the platform requires it; app-wide state (session, settings) has one explicit owner; server data lives in a cache or repository, not copied into global stores.
31
+ - **Impossible states unrepresentable.** Model loading, content and error as one sealed or discriminated state instead of independent flags.
32
+ - **Feature boundaries.** Organize by feature once there are several; features depend on shared core code, not on each other's internals.
33
+ - **Dependencies injected.** Construct dependencies at a composition root (DI container or initializers) and pass them in; no service locators reached from deep inside features.
34
+ - **Offline and errors by design.** Decide what works offline, how writes sync and how failures reach the user before building screens.
35
+ - **Testability as a check.** If business logic cannot be tested without a device, it is in the wrong layer.
36
+
37
+ ## 4. Proportion
38
+
39
+ Match the structure to the app and team. A domain layer, a DI framework or a multi-module build pays off with size and team count; adding them to a small app is also a finding. Propose incremental steps with the files involved, highest impact and lowest risk first.
40
+
41
+ ## Output
42
+
43
+ ```markdown
44
+ ## Architecture Overview
45
+ ## Architecture Issues
46
+ ## Coupling Problems
47
+ ## Refactoring Suggestions
48
+ ## Recommended Architecture
49
+ ## Action Plan
50
+ ```
51
+
52
+ Cite `path:line` for every finding.
@@ -0,0 +1,54 @@
1
+ # Android architecture
2
+
3
+ Follows Google's guide to app architecture. Adapt to the project instead of forcing a rewrite.
4
+
5
+ ## Layers
6
+
7
+ - **UI layer:** Composables (or Views) render a `UiState` exposed by a `ViewModel` as `StateFlow`; user events call `ViewModel` functions. Composables stay stateless where possible and receive state and callbacks as parameters (state hoisting).
8
+ - **Domain layer (optional):** use cases for business logic that is reused by several `ViewModel`s or complex enough to test alone. Name them by action (`GetUserOrdersUseCase`) with one public `operator fun invoke`.
9
+ - **Data layer:** repositories are the single source of truth, expose `Flow` or suspend functions, and hide data sources (Retrofit/Ktor services, Room DAOs, DataStore). Offline-first apps read from the database and sync from the network into it.
10
+
11
+ ```kotlin
12
+ @HiltViewModel
13
+ class OrdersViewModel @Inject constructor(repository: OrdersRepository) : ViewModel() {
14
+ val uiState: StateFlow<OrdersUiState> = repository.observeOrders()
15
+ .map<List<Order>, OrdersUiState> { OrdersUiState.Content(it) }
16
+ .catch { emit(OrdersUiState.Error) }
17
+ .stateIn(viewModelScope, SharingStarted.WhileSubscribed(5_000), OrdersUiState.Loading)
18
+ }
19
+ ```
20
+
21
+ The names are illustrative; use the project's conventions.
22
+
23
+ ## State
24
+
25
+ - `ViewModel` survives configuration changes; `SavedStateHandle` keeps what must survive process death (ids, form input).
26
+ - Collect state in the UI with lifecycle awareness (`collectAsStateWithLifecycle` in Compose, `repeatOnLifecycle` in Views).
27
+ - One-off events (navigation, messages) are modeled as state the UI consumes, or handled by the UI directly, not replayed on rotation.
28
+
29
+ ## Modularization
30
+
31
+ ```text
32
+ :app application, navigation graph, DI wiring
33
+ :feature:<name> screens and ViewModels of one feature
34
+ :core:data, :core:domain repositories, use cases
35
+ :core:ui, :core:designsystem shared UI and theme
36
+ :core:testing fakes and test utilities
37
+ ```
38
+
39
+ - Feature modules do not depend on each other; they communicate through navigation and `:core` contracts.
40
+ - Prefer `implementation` over `api` dependencies to keep modules decoupled and builds incremental.
41
+ - Share build logic with convention plugins and versions with the version catalog.
42
+ - Split into modules when build time, ownership or boundaries need it, not by default in a small app.
43
+
44
+ ## Dependency injection and navigation
45
+
46
+ - Hilt (or Koin) at the composition root; constructor injection everywhere else. Dispatchers are injected so tests can control them.
47
+ - Navigation: Navigation Compose, or Navigation 3 for new Compose apps (see `mobile-android` → UI). Pass ids between destinations, not objects.
48
+
49
+ ## Problems to look for
50
+
51
+ - Activities, Fragments or Composables calling DAOs, Retrofit services or `SharedPreferences`.
52
+ - `ViewModel`s holding `Context`, Views or Activity references.
53
+ - Several classes owning the same data, or UI state split into contradictory fields.
54
+ - A single `:app` module in a large codebase, or circular and `api`-leaking module dependencies.
@@ -1,11 +1,4 @@
1
- ---
2
- name: flutter-app-architecture
3
- description: Provides best practices for Flutter app architecture, including layered architecture, data flow, state management patterns, and extensibility guidelines.
4
- intents: [architecture]
5
- stacks: [flutter]
6
- source: https://github.com/evanca/flutter-ai-rules
7
- license: MIT
8
- ---
1
+ > Adapted from the `flutter-app-architecture` skill in [evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules) (MIT). See `THIRD_PARTY_NOTICES.md`.
9
2
 
10
3
  # Flutter App Architecture Skill
11
4
 
@@ -1,11 +1,4 @@
1
- ---
2
- name: flutter-bloc
3
- description: Implements Flutter state management using the bloc library (Bloc and Cubit). Use when creating new features, screens, or state management logic with bloc/cubit, modeling state, wiring Flutter widgets to blocs, or writing bloc/cubit unit tests.
4
- routing: manual
5
- stacks: [flutter]
6
- source: https://github.com/evanca/flutter-ai-rules
7
- license: MIT
8
- ---
1
+ > Adapted from the `bloc` skill in [evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules) (MIT). See `THIRD_PARTY_NOTICES.md`.
9
2
 
10
3
  # Bloc Skill
11
4
 
@@ -1,11 +1,4 @@
1
- ---
2
- name: flutter-change-notifier
3
- description: Implements state management with ChangeNotifier and Provider in Flutter. Use when setting up ChangeNotifier models, providing them to the widget tree, consuming state with Consumer or Provider.of, or optimizing rebuilds.
4
- routing: manual
5
- stacks: [flutter]
6
- source: https://github.com/evanca/flutter-ai-rules
7
- license: MIT
8
- ---
1
+ > Adapted from the `flutter-change-notifier` skill in [evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules) (MIT). See `THIRD_PARTY_NOTICES.md`.
9
2
 
10
3
  # Flutter ChangeNotifier Skill
11
4
 
@@ -1,11 +1,4 @@
1
- ---
2
- name: flutter-architecture-feature-first
3
- description: Structures Flutter apps using layered architecture (UI / Logic / Data) with feature-first file organization. Use when creating new features, designing the project structure, adding repositories/services/view models (or cubits/providers/notifiers), or wiring dependency injection. State management agnostic.
4
- intents: [architecture]
5
- stacks: [flutter]
6
- source: https://github.com/evanca/flutter-ai-rules
7
- license: MIT
8
- ---
1
+ > Adapted from the `architecture-feature-first` skill in [evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules) (MIT). See `THIRD_PARTY_NOTICES.md`.
9
2
 
10
3
  # Flutter Architecture — Feature-First Skill
11
4
 
@@ -1,10 +1,3 @@
1
- ---
2
- name: flutter-login-usecase
3
- description: "Implements a Flutter login use case that authenticates through an injected repository and persists the access token through an injected storage abstraction. Use when building or reviewing the login flow of a Flutter app with layered architecture."
4
- routing: manual
5
- stacks: [flutter]
6
- ---
7
-
8
1
  # flutter-login-usecase
9
2
 
10
3
  ## Description
@@ -1,14 +1,5 @@
1
- ---
2
- name: flutter-managing-state
3
- description: Manages application and ephemeral state in a Flutter app. Use when sharing data between widgets or handling complex UI state transitions.
4
- metadata:
5
- model: models/gemini-3.1-pro-preview
6
- last_modified: Thu, 12 Mar 2026 22:18:06 GMT
7
- intents: [architecture]
8
- stacks: [flutter]
9
- source: https://github.com/flutter/skills
10
- license: BSD-3-Clause
11
- ---
1
+ > Adapted from the `flutter-managing-state` skill in [flutter/skills](https://github.com/flutter/skills) (BSD-3-Clause). See `THIRD_PARTY_NOTICES.md`.
2
+
12
3
  # Managing State in Flutter
13
4
 
14
5
  ## Contents
@@ -1,11 +1,4 @@
1
- ---
2
- name: flutter-provider
3
- description: Uses the Provider package for dependency injection and state management in Flutter. Use when setting up providers, consuming state, optimizing rebuilds, using ProxyProvider, or migrating from deprecated providers.
4
- routing: manual
5
- stacks: [flutter]
6
- source: https://github.com/evanca/flutter-ai-rules
7
- license: MIT
8
- ---
1
+ > Adapted from the `provider` skill in [evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules) (MIT). See `THIRD_PARTY_NOTICES.md`.
9
2
 
10
3
  # Provider Skill
11
4
 
@@ -1,14 +1,5 @@
1
- ---
2
- name: flutter-apply-architecture-best-practices
3
- description: Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.
4
- metadata:
5
- model: models/gemini-3.1-pro-preview
6
- last_modified: Tue, 21 Apr 2026 20:11:20 GMT
7
- intents: [architecture]
8
- stacks: [flutter]
9
- source: https://github.com/flutter/skills
10
- license: BSD-3-Clause
11
- ---
1
+ > Adapted from the `flutter-apply-architecture-best-practices` skill in [flutter/skills](https://github.com/flutter/skills) (BSD-3-Clause). See `THIRD_PARTY_NOTICES.md`.
2
+
12
3
  # Architecting Flutter Applications
13
4
 
14
5
  ## Contents
@@ -1,11 +1,4 @@
1
- ---
2
- name: flutter-riverpod
3
- description: Uses Riverpod for state management in Flutter/Dart. Use when setting up providers, combining requests, managing state disposal, passing arguments, performing side effects, testing providers, or applying Riverpod best practices.
4
- routing: manual
5
- stacks: [flutter]
6
- source: https://github.com/evanca/flutter-ai-rules
7
- license: MIT
8
- ---
1
+ > Adapted from the `riverpod` skill in [evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules) (MIT). See `THIRD_PARTY_NOTICES.md`.
9
2
 
10
3
  # Riverpod Skill
11
4
 
@@ -0,0 +1,21 @@
1
+ # Flutter architecture
2
+
3
+ Start with the structure guides, then the guide for the state management the project uses. Do not introduce a second state management approach without a reason the user agrees with.
4
+
5
+ | Guide | What it covers |
6
+ |---|---|
7
+ | [app-architecture](flutter/app-architecture.md) | Provides best practices for Flutter app architecture, including layered architecture, data flow, state management patterns, and extensibility guidelines. |
8
+ | [feature-first](flutter/feature-first.md) | Structures Flutter apps using layered architecture (UI / Logic / Data) with feature-first file organization. |
9
+ | [recommended-architecture](flutter/recommended-architecture.md) | Architects a Flutter application using the recommended layered approach (UI, Logic, Data). |
10
+ | [managing-state](flutter/managing-state.md) | Manages application and ephemeral state in a Flutter app. |
11
+ | [bloc](flutter/bloc.md) | Implements Flutter state management using the bloc library (Bloc and Cubit). |
12
+ | [riverpod](flutter/riverpod.md) | Uses Riverpod for state management in Flutter/Dart. |
13
+ | [provider](flutter/provider.md) | Uses the Provider package for dependency injection and state management in Flutter. |
14
+ | [change-notifier](flutter/change-notifier.md) | Implements state management with ChangeNotifier and Provider in Flutter. |
15
+ | [login-use-case](flutter/login-use-case.md) | Implements a Flutter login use case that authenticates through an injected repository and persists the access token through an injected storage abstraction. |
16
+
17
+ ## Deciding
18
+
19
+ - Detect the state management in `pubspec.yaml` (`flutter_bloc`, `flutter_riverpod`/`riverpod`, `provider`) and in `lib/` before recommending one.
20
+ - Layers: UI (widgets) → logic (blocs, notifiers, view models) → data (repositories, data sources). Widgets do not call HTTP clients, databases or plugins directly.
21
+ - Feature-first folders scale better than folders by technical type once the app has several features.
@@ -0,0 +1,58 @@
1
+ # iOS architecture
2
+
3
+ Adapt to what the project uses — SwiftUI or UIKit, MVVM or another pattern — instead of forcing a rewrite. Check the deployment target before recommending APIs such as `@Observable` (iOS 17) or SwiftData (iOS 17).
4
+
5
+ ## Layers
6
+
7
+ - **Presentation:** SwiftUI views stay declarative and render state from an observable model; UIKit view controllers stay thin and delegate to a view model or presenter.
8
+ - **Domain / services:** business rules in plain Swift types behind protocols, testable without UI.
9
+ - **Data:** API clients, persistence (SwiftData, Core Data, files, Keychain) and caching behind repository-like types. Views never call `URLSession` or `UserDefaults` directly.
10
+
11
+ ```swift
12
+ @MainActor
13
+ @Observable
14
+ final class OrdersModel {
15
+ private(set) var state: LoadState<[Order]> = .loading
16
+ private let repository: OrdersRepository
17
+
18
+ init(repository: OrdersRepository) { self.repository = repository }
19
+
20
+ func load() async {
21
+ do { state = .loaded(try await repository.orders()) }
22
+ catch { state = .failed(error) }
23
+ }
24
+ }
25
+ ```
26
+
27
+ The names are illustrative. Before iOS 17, the same model is an `ObservableObject` with `@Published` properties.
28
+
29
+ ## State ownership
30
+
31
+ - The view that creates a model owns it: `@State` with `@Observable`, or `@StateObject` with `ObservableObject`. Views that receive it do not recreate it (`@ObservedObject`, `@Bindable` or a plain property).
32
+ - App-wide dependencies are injected at the root (initializers or the SwiftUI environment), not reached through singletons.
33
+ - Navigation state lives in one place per flow: a `NavigationStack` path in a model, or a coordinator in UIKit.
34
+
35
+ ## Concurrency boundaries
36
+
37
+ - UI-facing types are `@MainActor`.
38
+ - Shared mutable state lives in an `actor` or is confined to one isolation domain.
39
+ - Types crossing isolation boundaries are `Sendable`; compiler warnings about isolation are architecture findings, not noise.
40
+
41
+ ## Modularization
42
+
43
+ ```text
44
+ App/ app target: composition root, navigation, app lifecycle
45
+ Packages/
46
+ Core/ networking, persistence, design system, shared models
47
+ Features/<Name>/ views and models of one feature
48
+ ```
49
+
50
+ - Local Swift packages make boundaries explicit and build incrementally; features depend on `Core`, not on each other.
51
+ - Split when build time, ownership or boundaries need it; a small app does not need a package per screen.
52
+
53
+ ## Problems to look for
54
+
55
+ - Massive view controllers or views mixing networking, persistence and layout.
56
+ - Singletons used as shared mutable state across features.
57
+ - Models recreated by views that do not own them; navigation state scattered across views.
58
+ - `DispatchQueue.main.async` sprinkled to silence threading warnings instead of actor isolation.
@@ -0,0 +1,61 @@
1
+ # React Native architecture
2
+
3
+ Adapt to what the project uses — Expo or bare React Native, React Navigation or Expo Router, its state libraries — instead of forcing a rewrite. Check the versions in `package.json` before recommending APIs.
4
+
5
+ ## Structure
6
+
7
+ ```text
8
+ src/
9
+ app/ or navigation/ routes (Expo Router) or navigators, providers
10
+ features/<name>/
11
+ screens/ screen components
12
+ components/ feature components
13
+ hooks/ feature logic exposed as hooks
14
+ api/ requests and response mapping
15
+ shared/ design system, API client, utilities, types
16
+ ```
17
+
18
+ Features depend on `shared`; they do not import each other's internals.
19
+
20
+ ## State: decide by kind
21
+
22
+ | Kind | Where it lives |
23
+ |---|---|
24
+ | Server state (data from APIs) | A server-state cache: TanStack Query or RTK Query — caching, refetching, retries and invalidation included |
25
+ | Screen state (inputs, toggles) | `useState`/`useReducer` in the screen or a feature hook |
26
+ | App-wide client state (session, preferences) | A small store (Zustand, Redux Toolkit) or context with a narrow value |
27
+ | Navigation state | The router; pass ids in params, not objects |
28
+ | Persisted state | MMKV or AsyncStorage for preferences, SQLite for relational data, the Keychain/Keystore for secrets |
29
+
30
+ Copying server data into a global store and synchronizing it by hand is the most common source of stale data.
31
+
32
+ ## Logic in hooks, UI in components
33
+
34
+ ```tsx
35
+ export function useOrders() {
36
+ return useQuery({ queryKey: ['orders'], queryFn: api.orders.list });
37
+ }
38
+
39
+ export function OrdersScreen() {
40
+ const { data, isPending, isError, refetch } = useOrders();
41
+ if (isPending) return <Loading />;
42
+ if (isError) return <ErrorState onRetry={refetch} />;
43
+ return <OrderList orders={data} />;
44
+ }
45
+ ```
46
+
47
+ The names are illustrative. Components render and delegate; data access and rules live in hooks and plain TypeScript modules that can be tested without rendering.
48
+
49
+ ## Boundaries
50
+
51
+ - **API layer:** one typed client; responses validated or mapped at the boundary (for example with zod) instead of `as` casts in screens.
52
+ - **Platform differences:** `.ios.tsx`/`.android.tsx` files or a small platform module, not `Platform.OS` checks spread across screens.
53
+ - **Native code:** behind a typed module interface (Turbo Modules or Expo Modules), wrapped once. Check whether the app runs on the New Architecture before choosing a native module approach.
54
+ - **Configuration:** environment values through the build (app config, EAS environment variables); secrets stay on the backend.
55
+
56
+ ## Problems to look for
57
+
58
+ - `fetch`/`axios` calls and business rules inside components and effects.
59
+ - One large context re-rendering the whole app on any change, or deep prop drilling.
60
+ - Large objects or callbacks passed through navigation params.
61
+ - `strict` TypeScript disabled in a codebase that relies on types.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: mobile-code-review
3
+ description: Reviews mobile code for the bugs that reach production on every stack — Flutter and Dart (pull request checklist, widget lifecycle and rebuilds, project health, static analysis), native Android (Kotlin, coroutines, Jetpack Compose, lifecycle), native iOS (Swift concurrency, SwiftUI, retain cycles) and React Native (hooks, re-renders, platform code, Expo) — with file:line evidence and a structured report. Use whenever the user asks for a code review, PR or merge request review, project audit or quality check of a mobile app, or runs /reis-mobile:review, even if they only point at a diff or a folder.
4
+ intents: [review, performance]
5
+ stacks: ["*"]
6
+ ---
7
+
8
+ # Mobile Code Review
9
+
10
+ One review process for every mobile stack. This file holds how to review and what always matters; each platform's checklist lives in its reference.
11
+
12
+ ## 1. Pick the checklists
13
+
14
+ Detect the stack first, then apply the platform checklist to the files in scope:
15
+
16
+ | Project | Read |
17
+ |---|---|
18
+ | Flutter / Dart | [references/flutter.md](references/flutter.md), which orders the Flutter checklists in `references/flutter/` |
19
+ | Native Android (Kotlin/Java), or the Android side of Kotlin Multiplatform | [references/android.md](references/android.md) |
20
+ | Native iOS (Swift/Objective-C) | [references/ios.md](references/ios.md) |
21
+ | React Native or Expo | [references/react-native.md](references/react-native.md) |
22
+
23
+ In a cross-platform app, native code in `android/`, `ios/` or native modules gets the native checklist too. Security findings follow `mobile-security` when it is loaded.
24
+
25
+ ## 2. Scope
26
+
27
+ - **Changes (diff or pull request):** review what changed, reading the whole file when the hunk is not enough to understand it. New untracked files are not in the diff; read them.
28
+ - **Whole project:** start at the entry points (app startup, navigation, dependency setup), then the data layer, authentication and the most complex screens.
29
+
30
+ ## 3. Evidence before findings
31
+
32
+ - Open the code and confirm every suspicion. A finding without evidence at `file:line` does not go in the report.
33
+ - Do not invent APIs, versions or lint rules. Check the lock files and build files (`pubspec.lock`, version catalog, `Package.resolved`, `package.json`) before claiming something is missing, deprecated or unavailable.
34
+ - Do not report style that a configured linter already enforces.
35
+ - When the project deliberately does something differently and it is coherent, say so instead of flagging it.
36
+
37
+ ## 4. What always matters, on any stack
38
+
39
+ - **Lifecycle:** async work that outlives its screen; listeners, subscriptions, timers and controllers never released.
40
+ - **Threading:** I/O or heavy parsing on the main/UI thread; UI updated off it.
41
+ - **State:** impossible states that can be represented; loading and error handled; state lost on rotation, backgrounding or process death.
42
+ - **Network:** timeouts, retries without backoff, offline handling, unvalidated responses.
43
+ - **Credentials:** tokens in insecure storage, secrets in code or the bundle, sensitive data in logs.
44
+ - **Platform:** permissions requested without handling denial; manifest, `Info.plist`, entitlements or config changes that affect store publishing.
45
+ - **Tests:** new logic without tests when the project already has a suite.
46
+
47
+ ## 5. Severity
48
+
49
+ Rank by real impact on users: crash or data loss, credential leak, store rejection, then noticeable degradation, then maintainability. Say why each finding matters, not only what rule it breaks.
50
+
51
+ ## Report
52
+
53
+ Unless an agent defines its own format, answer with:
54
+
55
+ ```markdown
56
+ ## Summary
57
+ Stack, scope (diff or project), verdict: approve | approve-with-changes | request-changes.
58
+
59
+ ## Critical
60
+ ## Bugs
61
+ ## Architecture
62
+ ## Security
63
+ ## Performance
64
+ ## Maintainability
65
+
66
+ ## Suggested changes
67
+ Prioritized list. For each item: file:line, problem, why it matters, fix.
68
+ ```
69
+
70
+ Write "No findings." in a section with nothing to report.
@@ -1,10 +1,3 @@
1
- ---
2
- name: android-code-review
3
- description: Reviews native Android code in Kotlin and Java for the bugs that reach production — lifecycle and Context leaks, coroutine scope, dispatcher and cancellation mistakes, Flow collection outside the lifecycle, Jetpack Compose state, recomposition and side effects, state lost on configuration change or process death, main-thread I/O, WorkManager and permission handling, and exported components. Use when reviewing Kotlin or Java files in an Android app or module, Activities, Fragments, ViewModels, Composables, repositories or Gradle modules, or when the user asks for an Android code review or PR review.
4
- intents: [review, performance]
5
- stacks: [android, kotlin-multiplatform]
6
- ---
7
-
8
1
  # Android Code Review
9
2
 
10
3
  Apply to Kotlin and Java sources under `src/main` (and `androidMain` in KMP). Items are ordered by impact: the first sections cause crashes, leaks or lost user data. Before flagging an API as missing or deprecated, check the library versions in the version catalog or build files.
@@ -41,7 +34,7 @@ Apply to Kotlin and Java sources under `src/main` (and `androidMain` in KMP). It
41
34
 
42
35
  ## 5. Platform
43
36
 
44
- - [ ] **Exported components.** `android:exported="true"` on activities, services, receivers or providers without a permission, that act on the incoming `Intent` without validating it. Details in `mobile-security-audit`.
37
+ - [ ] **Exported components.** `android:exported="true"` on activities, services, receivers or providers without a permission, that act on the incoming `Intent` without validating it. Details in `mobile-security`.
45
38
  - [ ] **Runtime permissions.** Features used without checking the permission, or denial ("don't ask again") not handled.
46
39
  - [ ] **Background work.** Long work started from an Activity or a plain `Service` that the system will stop; persistent or deferrable work belongs in `WorkManager`. Starting foreground services and exact alarms have restrictions that depend on `targetSdk`; check it before reviewing.
47
40
  - [ ] **`PendingIntent` mutability.** Flags must include `FLAG_IMMUTABLE` or `FLAG_MUTABLE` explicitly on apps targeting Android 12 or higher.
@@ -1,11 +1,4 @@
1
- ---
2
- name: flutter-code-review
3
- description: Performs thorough code reviews for Flutter/Dart pull requests and merge requests. Use when asked to review a PR, MR, branch, or a set of changed files. Follows a structured checklist covering correctness, security, style, testing, and documentation.
4
- intents: [review]
5
- stacks: [flutter]
6
- source: https://github.com/evanca/flutter-ai-rules
7
- license: MIT
8
- ---
1
+ > Adapted from the `code-review` skill in [evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules) (MIT). See `THIRD_PARTY_NOTICES.md`.
9
2
 
10
3
  # Code Review Skill
11
4
 
@@ -1,10 +1,3 @@
1
- ---
2
- name: flutter-project-audit
3
- description: Audits the health of a Flutter project as a whole — pubspec constraints and lock file, analysis_options and lints, SDK and platform configuration (minSdk, iOS deployment target), flavors and environments, generated code, folder structure and test setup. Use when reviewing or auditing a Flutter app or plugin, before a release, or when the user asks whether a Flutter project is well configured.
4
- intents: [review, architecture, dependency]
5
- stacks: [flutter]
6
- ---
7
-
8
1
  # Flutter Project Audit
9
2
 
10
3
  Project health checklist. Every item must be confirmed by reading the cited file; do not report what you could not verify.
@@ -1,14 +1,5 @@
1
- ---
2
- name: flutter-dart-run-static-analysis
3
- description: Execute `dart analyze` to identify warnings and errors, and use `dart fix --apply` to automatically resolve mechanical lint issues. Use during development to ensure code quality and before committing changes.
4
- metadata:
5
- model: models/gemini-3.1-pro-preview
6
- last_modified: Fri, 24 Apr 2026 15:09:34 GMT
7
- intents: [review]
8
- stacks: [flutter]
9
- source: https://github.com/dart-lang/skills
10
- license: BSD-3-Clause
11
- ---
1
+ > Adapted from the `dart-run-static-analysis` skill in [dart-lang/skills](https://github.com/dart-lang/skills) (BSD-3-Clause). See `THIRD_PARTY_NOTICES.md`.
2
+
12
3
  # Analyzing and Fixing Dart Code
13
4
 
14
5
  ## Contents
@@ -1,10 +1,3 @@
1
- ---
2
- name: flutter-widget-review
3
- description: Reviews Flutter widget code for lifecycle bugs, BuildContext misuse across async gaps, missing dispose, side effects in build, unnecessary rebuilds, list and image performance, layout overflow risks and accessibility. Use when reviewing Dart files under lib/ that contain widgets, screens or pages, or when the user asks to review Flutter UI code.
4
- intents: [review, performance]
5
- stacks: [flutter]
6
- ---
7
-
8
1
  # Flutter Widget Review
9
2
 
10
3
  Apply to Dart files with widgets (`StatelessWidget`, `StatefulWidget`, `ConsumerWidget`, `HookWidget`...). Items are ordered by impact: the first ones cause crashes or visible bugs.
@@ -0,0 +1,18 @@
1
+ # Reviewing Flutter and Dart code
2
+
3
+ Apply the checklists in this order; stop early for a small diff that only touches widgets.
4
+
5
+ | Step | Checklist | When |
6
+ |---|---|---|
7
+ | 1 | [flutter/static-analysis.md](flutter/static-analysis.md) — `dart analyze`, `dart fix` | Always, when the Dart SDK is available; report the analyzer output before manual findings |
8
+ | 2 | [flutter/pr-review.md](flutter/pr-review.md) — pull request checklist: correctness, security, style, tests, docs | Reviewing a diff, branch or pull request |
9
+ | 3 | [flutter/widget-review.md](flutter/widget-review.md) — lifecycle, `BuildContext` across async gaps, dispose, rebuilds, lists, layout, accessibility | Files with widgets, screens or pages; performance reviews |
10
+ | 4 | [flutter/project-audit.md](flutter/project-audit.md) — `pubspec.yaml`, lints, native configuration, flavors, structure, CI | Auditing a whole project, or a diff that touches `pubspec.yaml`, `android/`, `ios/` or CI |
11
+
12
+ ## Flutter-specific notes
13
+
14
+ - Dart style and idioms: the Effective Dart and Dart 3 guides in the `mobile-flutter` skill (`references/dart.md`).
15
+ - Follow the project's state management (BLoC/Cubit, Riverpod, Provider) instead of suggesting another one.
16
+ - Check the Flutter and Dart versions in `pubspec.lock` before recommending newer APIs (`MediaQuery.sizeOf`, Dart 3 patterns).
17
+ - Generated files (`*.g.dart`, `*.freezed.dart`, `*.mocks.dart`) are reviewed through their source annotations, not line by line.
18
+ - Native code under `android/` and `ios/` follows [android.md](android.md) and [ios.md](ios.md).