reis-mobile 0.4.0 → 0.5.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 (444) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +15 -0
  4. package/README.md +35 -204
  5. package/THIRD_PARTY_NOTICES.md +10 -13
  6. package/agents/android-performance-engineer.md +2 -2
  7. package/agents/mobile-code-reviewer.md +2 -0
  8. package/agents/rn-architect.md +1 -1
  9. package/commands/debug.md +1 -1
  10. package/core/registry/registry.mjs +18 -11
  11. package/package.json +24 -3
  12. package/skills/mobile-android/SKILL.md +29 -0
  13. package/skills/{android-agp-9-upgrade/SKILL.md → mobile-android/references/build-and-performance/agp-9-upgrade/GUIDE.md} +1 -20
  14. package/skills/{android-cli/SKILL.md → mobile-android/references/build-and-performance/android-cli/GUIDE.md} +1 -25
  15. package/skills/{android-profiler/SKILL.md → mobile-android/references/build-and-performance/android-profiler/GUIDE.md} +1 -27
  16. package/skills/{android-r8-analyzer/SKILL.md → mobile-android/references/build-and-performance/r8-analyzer/GUIDE.md} +1 -20
  17. package/skills/mobile-android/references/build-and-performance.md +12 -0
  18. 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
  19. package/skills/{android-leanback-to-compose-tv-migration/SKILL.md → mobile-android/references/devices/leanback-to-compose-tv-migration/GUIDE.md} +1 -37
  20. package/skills/{android-wear-compose-m3/SKILL.md → mobile-android/references/devices/wear-compose-m3/GUIDE.md} +1 -25
  21. package/skills/mobile-android/references/devices.md +11 -0
  22. package/skills/{android-restore-credentials/SKILL.md → mobile-android/references/identity/restore-credentials/GUIDE.md} +1 -23
  23. package/skills/{android-verified-email/SKILL.md → mobile-android/references/identity/verified-email/GUIDE.md} +1 -28
  24. package/skills/mobile-android/references/identity.md +10 -0
  25. package/skills/{android-camerax/SKILL.md → mobile-android/references/media/camerax/GUIDE.md} +1 -30
  26. package/skills/{android-media3-cast-integration/SKILL.md → mobile-android/references/media/media3-cast-integration/GUIDE.md} +1 -24
  27. package/skills/mobile-android/references/media.md +10 -0
  28. package/skills/{android-appfunctions/SKILL.md → mobile-android/references/on-device-ai/appfunctions/GUIDE.md} +1 -24
  29. 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
  30. package/skills/mobile-android/references/on-device-ai.md +10 -0
  31. package/skills/{android-engage-sdk-integration/SKILL.md → mobile-android/references/play/engage-sdk-integration/GUIDE.md} +1 -19
  32. package/skills/{android-play-billing-library-version-upgrade/SKILL.md → mobile-android/references/play/play-billing-library-version-upgrade/GUIDE.md} +1 -22
  33. package/skills/{android-play-policy-insights/SKILL.md → mobile-android/references/play/play-policy-insights/GUIDE.md} +1 -43
  34. package/skills/mobile-android/references/play.md +11 -0
  35. package/skills/{android-adaptive/SKILL.md → mobile-android/references/ui/adaptive/GUIDE.md} +1 -25
  36. package/skills/{android-edge-to-edge/SKILL.md → mobile-android/references/ui/edge-to-edge/GUIDE.md} +1 -21
  37. 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
  38. package/skills/{android-navigation-3/SKILL.md → mobile-android/references/ui/navigation-3/GUIDE.md} +1 -37
  39. package/skills/{android-navigation-event/SKILL.md → mobile-android/references/ui/navigation-event/GUIDE.md} +1 -25
  40. package/skills/{android-styles/SKILL.md → mobile-android/references/ui/styles/GUIDE.md} +1 -21
  41. package/skills/mobile-android/references/ui.md +14 -0
  42. package/skills/mobile-architecture/SKILL.md +52 -0
  43. package/skills/mobile-architecture/references/android.md +54 -0
  44. package/skills/{flutter-app-architecture/SKILL.md → mobile-architecture/references/flutter/app-architecture.md} +1 -8
  45. package/skills/{flutter-bloc/SKILL.md → mobile-architecture/references/flutter/bloc.md} +1 -8
  46. package/skills/{flutter-change-notifier/SKILL.md → mobile-architecture/references/flutter/change-notifier.md} +1 -8
  47. package/skills/{flutter-architecture-feature-first/SKILL.md → mobile-architecture/references/flutter/feature-first.md} +1 -8
  48. package/skills/{flutter-login-usecase/SKILL.md → mobile-architecture/references/flutter/login-use-case.md} +0 -7
  49. package/skills/{flutter-managing-state/SKILL.md → mobile-architecture/references/flutter/managing-state.md} +2 -11
  50. package/skills/{flutter-provider/SKILL.md → mobile-architecture/references/flutter/provider.md} +1 -8
  51. package/skills/{flutter-apply-architecture-best-practices/SKILL.md → mobile-architecture/references/flutter/recommended-architecture.md} +2 -11
  52. package/skills/{flutter-riverpod/SKILL.md → mobile-architecture/references/flutter/riverpod.md} +1 -8
  53. package/skills/mobile-architecture/references/flutter.md +21 -0
  54. package/skills/mobile-architecture/references/ios.md +58 -0
  55. package/skills/mobile-architecture/references/react-native.md +61 -0
  56. package/skills/mobile-code-review/SKILL.md +70 -0
  57. package/skills/{android-code-review/SKILL.md → mobile-code-review/references/android.md} +1 -8
  58. package/skills/{flutter-code-review/SKILL.md → mobile-code-review/references/flutter/pr-review.md} +1 -8
  59. package/skills/{flutter-project-audit/SKILL.md → mobile-code-review/references/flutter/project-audit.md} +0 -7
  60. package/skills/{flutter-dart-run-static-analysis/SKILL.md → mobile-code-review/references/flutter/static-analysis.md} +2 -11
  61. package/skills/{flutter-widget-review/SKILL.md → mobile-code-review/references/flutter/widget-review.md} +0 -7
  62. package/skills/mobile-code-review/references/flutter.md +18 -0
  63. package/skills/{ios-code-review/SKILL.md → mobile-code-review/references/ios.md} +1 -8
  64. package/skills/mobile-code-review/references/react-native.md +58 -0
  65. package/skills/mobile-debug/SKILL.md +50 -0
  66. package/skills/{android-gradle-build-debug/SKILL.md → mobile-debug/references/android/gradle-build.md} +0 -8
  67. package/skills/mobile-debug/references/android.md +26 -0
  68. package/skills/{flutter-build-debug/SKILL.md → mobile-debug/references/flutter/build.md} +5 -13
  69. package/skills/{flutter-errors/SKILL.md → mobile-debug/references/flutter/errors.md} +1 -8
  70. package/skills/{flutter-fix-layout-issues/SKILL.md → mobile-debug/references/flutter/layout-issues.md} +2 -11
  71. package/skills/{flutter-dart-resolve-package-conflicts/SKILL.md → mobile-debug/references/flutter/package-conflicts.md} +2 -11
  72. package/skills/{flutter-dart-fix-runtime-errors/SKILL.md → mobile-debug/references/flutter/runtime-errors.md} +2 -11
  73. package/skills/mobile-debug/references/flutter.md +23 -0
  74. package/skills/{ios-cocoapods-debug/SKILL.md → mobile-debug/references/ios/cocoapods.md} +1 -9
  75. package/skills/{ios-xcode-build-debug/SKILL.md → mobile-debug/references/ios/xcode-build.md} +0 -8
  76. package/skills/mobile-debug/references/ios.md +23 -0
  77. package/skills/mobile-debug/references/react-native.md +43 -0
  78. package/skills/mobile-flutter/SKILL.md +30 -0
  79. package/skills/{flutter-improving-accessibility/SKILL.md → mobile-flutter/references/accessibility-i18n/accessibility.md} +2 -11
  80. package/skills/{flutter-setup-localization/SKILL.md → mobile-flutter/references/accessibility-i18n/localization.md} +2 -11
  81. package/skills/mobile-flutter/references/accessibility-i18n.md +8 -0
  82. package/skills/{flutter-dart-3-updates/SKILL.md → mobile-flutter/references/dart/dart-3.md} +1 -8
  83. package/skills/{flutter-effective-dart/SKILL.md → mobile-flutter/references/dart/effective-dart.md} +1 -8
  84. package/skills/{flutter-dart-use-pattern-matching/SKILL.md → mobile-flutter/references/dart/pattern-matching/GUIDE.md} +2 -18
  85. package/skills/mobile-flutter/references/dart.md +9 -0
  86. package/skills/{flutter-caching-data/SKILL.md → mobile-flutter/references/data/caching.md} +2 -11
  87. package/skills/{flutter-working-with-databases/SKILL.md → mobile-flutter/references/data/databases.md} +2 -11
  88. package/skills/{flutter-use-http-package/SKILL.md → mobile-flutter/references/data/http.md} +2 -11
  89. package/skills/{flutter-implement-json-serialization/SKILL.md → mobile-flutter/references/data/json-serialization.md} +2 -11
  90. package/skills/mobile-flutter/references/data.md +10 -0
  91. package/skills/{flutter-interoperating-with-native-apis/SKILL.md → mobile-flutter/references/native/native-apis.md} +2 -11
  92. package/skills/{flutter-embedding-native-views/SKILL.md → mobile-flutter/references/native/native-views.md} +2 -11
  93. package/skills/{flutter-building-plugins/SKILL.md → mobile-flutter/references/native/plugins.md} +2 -11
  94. package/skills/mobile-flutter/references/native.md +9 -0
  95. package/skills/{flutter-reducing-app-size/SKILL.md → mobile-flutter/references/performance/app-size.md} +2 -11
  96. package/skills/{flutter-handling-concurrency/SKILL.md → mobile-flutter/references/performance/concurrency.md} +2 -11
  97. package/skills/mobile-flutter/references/performance.md +8 -0
  98. package/skills/{flutter-setting-up-on-macos/SKILL.md → mobile-flutter/references/setup/macos.md} +2 -11
  99. package/skills/mobile-flutter/references/setup.md +7 -0
  100. package/skills/{flutter-animating-apps/SKILL.md → mobile-flutter/references/ui/animations.md} +2 -11
  101. package/skills/{flutter-building-forms/SKILL.md → mobile-flutter/references/ui/forms.md} +2 -11
  102. package/skills/{flutter-adding-home-screen-widgets/SKILL.md → mobile-flutter/references/ui/home-screen-widgets.md} +2 -11
  103. package/skills/{flutter-building-layouts/SKILL.md → mobile-flutter/references/ui/layouts.md} +2 -11
  104. package/skills/{flutter-build-responsive-layout/SKILL.md → mobile-flutter/references/ui/responsive-layout.md} +2 -11
  105. package/skills/{flutter-setup-declarative-routing/SKILL.md → mobile-flutter/references/ui/routing.md} +2 -11
  106. package/skills/{flutter-theming-apps/SKILL.md → mobile-flutter/references/ui/theming.md} +2 -11
  107. package/skills/{flutter-add-widget-preview/SKILL.md → mobile-flutter/references/ui/widget-previews.md} +2 -11
  108. package/skills/mobile-flutter/references/ui.md +14 -0
  109. package/skills/mobile-ios/SKILL.md +25 -0
  110. package/skills/mobile-ios/references/data-networking.md +70 -0
  111. package/skills/mobile-ios/references/performance-release.md +37 -0
  112. package/skills/mobile-ios/references/platform-features.md +52 -0
  113. package/skills/mobile-ios/references/ui-navigation.md +64 -0
  114. package/skills/mobile-rn/SKILL.md +26 -0
  115. package/skills/mobile-rn/references/data-networking.md +59 -0
  116. package/skills/mobile-rn/references/performance-release.md +46 -0
  117. package/skills/mobile-rn/references/platform-features.md +40 -0
  118. package/skills/mobile-rn/references/ui-navigation.md +62 -0
  119. package/skills/mobile-security/SKILL.md +82 -0
  120. package/skills/{android-intent-security/SKILL.md → mobile-security/references/android/intent-security.md} +1 -28
  121. package/skills/mobile-security/references/android.md +37 -0
  122. package/skills/{flutter-secure-token-store/SKILL.md → mobile-security/references/flutter/secure-token-store.md} +1 -8
  123. package/skills/mobile-security/references/flutter.md +30 -0
  124. package/skills/mobile-security/references/ios.md +27 -0
  125. package/skills/mobile-security/references/react-native.md +29 -0
  126. package/skills/mobile-security-audit/SKILL.md +0 -101
  127. /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
  128. /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
  129. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/buildconfig.md +0 -0
  130. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/ksp-kapt.md +0 -0
  131. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/paparazzi-gradle-9.md +0 -0
  132. /package/skills/{android-agp-9-upgrade → mobile-android/references/build-and-performance/agp-9-upgrade}/references/recipes.md +0 -0
  133. /package/skills/{android-cli → mobile-android/references/build-and-performance/android-cli}/references/interact.md +0 -0
  134. /package/skills/{android-cli → mobile-android/references/build-and-performance/android-cli}/references/journeys.md +0 -0
  135. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/analysis_orchestrator.md +0 -0
  136. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-sql/perfetto_sql.md +0 -0
  137. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/perfetto_trace_analysis.md +0 -0
  138. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/guiding_principles.md +0 -0
  139. /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
  140. /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
  141. /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
  142. /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
  143. /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
  144. /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
  145. /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
  146. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/per_candidate_analysis.md +0 -0
  147. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/analysis/workflows/perfetto-trace-analysis/references/triage.md +0 -0
  148. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/recording_orchestrator.md +0 -0
  149. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/perfetto_trace_recording.md +0 -0
  150. /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
  151. /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
  152. /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
  153. /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
  154. /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
  155. /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
  156. /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
  157. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/recording/workflows/perfetto-trace-recording/references/trace_config_reference.md +0 -0
  158. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/references/env_setup.md +0 -0
  159. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/references/perfetto/setup.md +0 -0
  160. /package/skills/{android-profiler → mobile-android/references/build-and-performance/android-profiler}/references/perfetto/sql.md +0 -0
  161. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/CONFIGURATION-ANALYZER.md +0 -0
  162. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/CONFIGURATION.md +0 -0
  163. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/KEEP-RULES-IMPACT-HIERARCHY.md +0 -0
  164. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/REDUNDANT-RULES.md +0 -0
  165. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/REFLECTION-GUIDE.md +0 -0
  166. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/REPORT_FORMAT.md +0 -0
  167. /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
  168. /package/skills/{android-r8-analyzer → mobile-android/references/build-and-performance/r8-analyzer}/references/android/training/testing/other-components/ui-automator.md +0 -0
  169. /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
  170. /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
  171. /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
  172. /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
  173. /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
  174. /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
  175. /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
  176. /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
  177. /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
  178. /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
  179. /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
  180. /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
  181. /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
  182. /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
  183. /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
  184. /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
  185. /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
  186. /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
  187. /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
  188. /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
  189. /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
  190. /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
  191. /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
  192. /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
  193. /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
  194. /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
  195. /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
  196. /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
  197. /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
  198. /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
  199. /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
  200. /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
  201. /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
  202. /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
  203. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/android/training/wearables/compose/migrate-to-material3.md +0 -0
  204. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/AmbientModeSample.kt.md +0 -0
  205. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/AmbientModeSample.kt.md.txt +0 -0
  206. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/CurvedWorldSample.kt.md +0 -0
  207. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/CurvedWorldSample.kt.md.txt +0 -0
  208. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/ExpandableSample.kt.md +0 -0
  209. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/ExpandableSample.kt.md.txt +0 -0
  210. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/HierarchicalFocusSample.kt.md +0 -0
  211. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/HierarchicalFocusSample.kt.md.txt +0 -0
  212. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/PagerSamples.kt.md +0 -0
  213. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/PagerSamples.kt.md.txt +0 -0
  214. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/RotarySamples.kt.md +0 -0
  215. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/RotarySamples.kt.md.txt +0 -0
  216. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/ScalingLazyColumnSample.kt.md +0 -0
  217. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/ScalingLazyColumnSample.kt.md.txt +0 -0
  218. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/SwipeToDismissBoxSample.kt.md +0 -0
  219. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/SwipeToDismissBoxSample.kt.md.txt +0 -0
  220. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/SwipeToRevealSample.kt.md +0 -0
  221. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/SwipeToRevealSample.kt.md.txt +0 -0
  222. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/TransformingLazyColumnSample.kt.md +0 -0
  223. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/foundation/TransformingLazyColumnSample.kt.md.txt +0 -0
  224. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/AlertDialogSample.kt.md +0 -0
  225. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/AlertDialogSample.kt.md.txt +0 -0
  226. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/AnimatedTextSample.kt.md +0 -0
  227. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/AnimatedTextSample.kt.md.txt +0 -0
  228. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ButtonGroupSample.kt.md +0 -0
  229. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ButtonGroupSample.kt.md.txt +0 -0
  230. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ButtonSample.kt.md +0 -0
  231. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ButtonSample.kt.md.txt +0 -0
  232. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CardSample.kt.md +0 -0
  233. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CardSample.kt.md.txt +0 -0
  234. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CheckboxButtonSample.kt.md +0 -0
  235. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CheckboxButtonSample.kt.md.txt +0 -0
  236. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ConfirmationDialogSample.kt.md +0 -0
  237. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ConfirmationDialogSample.kt.md.txt +0 -0
  238. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CurvedTextSamples.kt.md +0 -0
  239. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/CurvedTextSamples.kt.md.txt +0 -0
  240. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/DatePickerSample.kt.md +0 -0
  241. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/DatePickerSample.kt.md.txt +0 -0
  242. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/DynamicColorSchemeSample.kt.md +0 -0
  243. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/DynamicColorSchemeSample.kt.md.txt +0 -0
  244. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/EdgeButtonSample.kt.md +0 -0
  245. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/EdgeButtonSample.kt.md.txt +0 -0
  246. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/FadingExpandingLabelSample.kt.md +0 -0
  247. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/FadingExpandingLabelSample.kt.md.txt +0 -0
  248. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/IconButtonSample.kt.md +0 -0
  249. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/IconButtonSample.kt.md.txt +0 -0
  250. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/IconToggleButtonSample.kt.md +0 -0
  251. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/IconToggleButtonSample.kt.md.txt +0 -0
  252. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/LevelIndicatorSample.kt.md +0 -0
  253. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/LevelIndicatorSample.kt.md.txt +0 -0
  254. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/LinearProgressIndicatorSample.kt.md +0 -0
  255. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/LinearProgressIndicatorSample.kt.md.txt +0 -0
  256. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ListHeaderSample.kt.md +0 -0
  257. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ListHeaderSample.kt.md.txt +0 -0
  258. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/OneHandedGestureSamples.kt.md +0 -0
  259. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/OneHandedGestureSamples.kt.md.txt +0 -0
  260. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/OpenOnPhoneDialogSample.kt.md +0 -0
  261. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/OpenOnPhoneDialogSample.kt.md.txt +0 -0
  262. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PageIndicatorSample.kt.md +0 -0
  263. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PageIndicatorSample.kt.md.txt +0 -0
  264. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PagerScaffoldSample.kt.md +0 -0
  265. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PagerScaffoldSample.kt.md.txt +0 -0
  266. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PickerGroupSample.kt.md +0 -0
  267. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PickerGroupSample.kt.md.txt +0 -0
  268. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PickerSample.kt.md +0 -0
  269. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PickerSample.kt.md.txt +0 -0
  270. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PlaceholderSample.kt.md +0 -0
  271. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/PlaceholderSample.kt.md.txt +0 -0
  272. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ProgressIndicatorSample.kt.md +0 -0
  273. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ProgressIndicatorSample.kt.md.txt +0 -0
  274. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/RadioButtonSample.kt.md +0 -0
  275. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/RadioButtonSample.kt.md.txt +0 -0
  276. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScaffoldSample.kt.md +0 -0
  277. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScaffoldSample.kt.md.txt +0 -0
  278. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScrollAwaySample.kt.md +0 -0
  279. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScrollAwaySample.kt.md.txt +0 -0
  280. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScrollIndicatorSample.kt.md +0 -0
  281. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/ScrollIndicatorSample.kt.md.txt +0 -0
  282. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SliderSample.kt.md +0 -0
  283. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SliderSample.kt.md.txt +0 -0
  284. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/StepperSample.kt.md +0 -0
  285. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/StepperSample.kt.md.txt +0 -0
  286. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SurfaceTransformationSample.kt.md +0 -0
  287. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SurfaceTransformationSample.kt.md.txt +0 -0
  288. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwipeToDismissBoxSample.kt.md +0 -0
  289. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwipeToDismissBoxSample.kt.md.txt +0 -0
  290. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwipeToRevealSample.kt.md +0 -0
  291. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwipeToRevealSample.kt.md.txt +0 -0
  292. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwitchButtonSample.kt.md +0 -0
  293. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/SwitchButtonSample.kt.md.txt +0 -0
  294. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TextButtonSample.kt.md +0 -0
  295. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TextButtonSample.kt.md.txt +0 -0
  296. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TextToggleButtonSample.kt.md +0 -0
  297. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TextToggleButtonSample.kt.md.txt +0 -0
  298. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TimePickerSample.kt.md +0 -0
  299. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TimePickerSample.kt.md.txt +0 -0
  300. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TimeTextSample.kt.md +0 -0
  301. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TimeTextSample.kt.md.txt +0 -0
  302. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformationSpecSample.kt.md +0 -0
  303. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformationSpecSample.kt.md.txt +0 -0
  304. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformingLazyColumnNotificationsSample.kt.md +0 -0
  305. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformingLazyColumnNotificationsSample.kt.md.txt +0 -0
  306. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformingLazyColumnSample.kt.md +0 -0
  307. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/material3/TransformingLazyColumnSample.kt.md.txt +0 -0
  308. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/navigation3/SwipeDismissableSceneStrategySample.kt.md +0 -0
  309. /package/skills/{android-wear-compose-m3 → mobile-android/references/devices/wear-compose-m3}/references/navigation3/SwipeDismissableSceneStrategySample.kt.md.txt +0 -0
  310. /package/skills/{android-restore-credentials → mobile-android/references/identity/restore-credentials}/references/android/guide/topics/manifest/application-element.md +0 -0
  311. /package/skills/{android-restore-credentials → mobile-android/references/identity/restore-credentials}/references/android/identity/passkeys/create-passkeys.md +0 -0
  312. /package/skills/{android-restore-credentials → mobile-android/references/identity/restore-credentials}/references/android/identity/passkeys/sign-in-with-passkeys.md +0 -0
  313. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/credential-manager/index.md +0 -0
  314. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/digital-credentials/credential-verifier.md +0 -0
  315. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/digital-credentials/email-verification-implementation.md +0 -0
  316. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/digital-credentials/email-verification.md +0 -0
  317. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/digital-credentials/index.md +0 -0
  318. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/passkeys/create-passkeys.md +0 -0
  319. /package/skills/{android-verified-email → mobile-android/references/identity/verified-email}/references/android/identity/sign-in/credential-manager-webview.md +0 -0
  320. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/camera1-to-camerax.md +0 -0
  321. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/camera2-to-camerax.md +0 -0
  322. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/expert-blueprints.md +0 -0
  323. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/foldables.md +0 -0
  324. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/immutability.md +0 -0
  325. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/low-light.md +0 -0
  326. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/mlkit-spatial.md +0 -0
  327. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/modern-apis.md +0 -0
  328. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/testing.md +0 -0
  329. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/thermals.md +0 -0
  330. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/wear-os.md +0 -0
  331. /package/skills/{android-camerax → mobile-android/references/media/camerax}/references/xr.md +0 -0
  332. /package/skills/{android-media3-cast-integration → mobile-android/references/media/media3-cast-integration}/references/android/media/media3/cast/create-castplayer.md +0 -0
  333. /package/skills/{android-media3-cast-integration → mobile-android/references/media/media3-cast-integration}/references/android/media/media3/cast/customize-castoptions.md +0 -0
  334. /package/skills/{android-media3-cast-integration → mobile-android/references/media/media3-cast-integration}/references/android/media/media3/cast/index.md +0 -0
  335. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/adb-interaction-testing.md +0 -0
  336. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/context.md +0 -0
  337. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/feature-discovery-analysis.md +0 -0
  338. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/implementation-configuration.md +0 -0
  339. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/kdoc-refinement-optimization.md +0 -0
  340. /package/skills/{android-appfunctions → mobile-android/references/on-device-ai/appfunctions}/references/migrate-to-service-entry-point.md +0 -0
  341. /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
  342. /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
  343. /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
  344. /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
  345. /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
  346. /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
  347. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/faq.md +0 -0
  348. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/food.md +0 -0
  349. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/healthandfitness.md +0 -0
  350. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/listen.md +0 -0
  351. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/otherverticals.md +0 -0
  352. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/read.md +0 -0
  353. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/shopping.md +0 -0
  354. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/social.md +0 -0
  355. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/travel.md +0 -0
  356. /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
  357. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/tv/entitlements.md +0 -0
  358. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/tv/getting-started.md +0 -0
  359. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/tv/recommendations.md +0 -0
  360. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/android/guide/playcore/engage/watch.md +0 -0
  361. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/clusters.md +0 -0
  362. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/common.md +0 -0
  363. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/patterns.md +0 -0
  364. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/requests.md +0 -0
  365. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/food.md +0 -0
  366. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/listen.md +0 -0
  367. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/other.md +0 -0
  368. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/read.md +0 -0
  369. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/shopping.md +0 -0
  370. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/social.md +0 -0
  371. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/travel.md +0 -0
  372. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/tv.md +0 -0
  373. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/schemas/watch.md +0 -0
  374. /package/skills/{android-engage-sdk-integration → mobile-android/references/play/engage-sdk-integration}/references/troubleshooting.md +0 -0
  375. /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
  376. /package/skills/{android-play-billing-library-version-upgrade → mobile-android/references/play/play-billing-library-version-upgrade}/references/migration-logic.md +0 -0
  377. /package/skills/{android-play-billing-library-version-upgrade → mobile-android/references/play/play-billing-library-version-upgrade}/references/version-checklist.md +0 -0
  378. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/common_mandates.md +0 -0
  379. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/compliance_report_template.md +0 -0
  380. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/critic.md +0 -0
  381. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/goal_data_safety.md +0 -0
  382. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/goal_permissions_and_apis.md +0 -0
  383. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/goal_user_account.md +0 -0
  384. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/policies.json +0 -0
  385. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/resources/scanner_config.json +0 -0
  386. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/generate_report.py +0 -0
  387. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/orchestrator.py +0 -0
  388. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/play_store_scraper.py +0 -0
  389. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/scanner.py +0 -0
  390. /package/skills/{android-play-policy-insights → mobile-android/references/play/play-policy-insights}/scripts/template_engine.py +0 -0
  391. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/flexbox/container-behavior.md +0 -0
  392. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/flexbox/get-started.md +0 -0
  393. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/flexbox/index.md +0 -0
  394. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/flexbox/item-behavior.md +0 -0
  395. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/grid/container-properties.md +0 -0
  396. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/grid/get-started.md +0 -0
  397. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/grid/index.md +0 -0
  398. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/grid/item-properties.md +0 -0
  399. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/layouts/adaptive/mediaquery/index.md +0 -0
  400. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/develop/ui/compose/tooling/debug.md +0 -0
  401. /package/skills/{android-adaptive → mobile-android/references/ui/adaptive}/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +0 -0
  402. /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
  403. /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
  404. /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
  405. /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
  406. /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
  407. /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
  408. /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
  409. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/index.md +0 -0
  410. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/migration-guide.md +0 -0
  411. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/animations.md +0 -0
  412. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/basic.md +0 -0
  413. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/basicdsl.md +0 -0
  414. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/basicsaveable.md +0 -0
  415. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/bottomsheet.md +0 -0
  416. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/common-ui.md +0 -0
  417. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/conditional-transitions.md +0 -0
  418. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/conditional.md +0 -0
  419. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/deeplinks-custommatcher.md +0 -0
  420. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/deeplinks-staticuri.md +0 -0
  421. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/deeplinks-syntheticbackstack.md +0 -0
  422. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/dialog.md +0 -0
  423. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/lifecycle-owner.md +0 -0
  424. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +0 -0
  425. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/material-supportingpane.md +0 -0
  426. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/modular-hilt.md +0 -0
  427. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/modular-koin.md +0 -0
  428. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/multiple-backstacks.md +0 -0
  429. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/passingarguments.md +0 -0
  430. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/results-event.md +0 -0
  431. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/results-state.md +0 -0
  432. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/scenes-listdetail.md +0 -0
  433. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/navigation-3/recipes/scenes-twopane.md +0 -0
  434. /package/skills/{android-navigation-3 → mobile-android/references/ui/navigation-3}/references/android/guide/navigation/type-safe-destinations.md +0 -0
  435. /package/skills/{android-navigation-event → mobile-android/references/ui/navigation-event}/references/android/guide/navigation/navigation-event/dispatcher.md +0 -0
  436. /package/skills/{android-navigation-event → mobile-android/references/ui/navigation-event}/references/android/guide/navigation/navigation-event/handle-back.md +0 -0
  437. /package/skills/{android-navigation-event → mobile-android/references/ui/navigation-event}/references/android/guide/navigation/navigation-event/index.md +0 -0
  438. /package/skills/{android-navigation-event → mobile-android/references/ui/navigation-event}/references/android/guide/navigation/navigation-event/setup.md +0 -0
  439. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/designsystems/custom.md +0 -0
  440. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/styles/fundamentals.md +0 -0
  441. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/styles/state-animations.md +0 -0
  442. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/styles/styles-vs-modifiers.md +0 -0
  443. /package/skills/{android-styles → mobile-android/references/ui/styles}/references/android/develop/ui/compose/styles/theming.md +0 -0
  444. /package/skills/{flutter-dart-use-pattern-matching → mobile-flutter/references/dart/pattern-matching}/examples/json_patterns.dart +0 -0
@@ -5,14 +5,14 @@
5
5
  },
6
6
  "metadata": {
7
7
  "description": "AI agents for mobile engineering",
8
- "version": "0.4.0"
8
+ "version": "0.5.0"
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "reis-mobile",
13
13
  "source": "./",
14
14
  "description": "AI agents, skills and workflows for Flutter, Android, iOS and React Native development.",
15
- "version": "0.4.0",
15
+ "version": "0.5.0",
16
16
  "author": {
17
17
  "name": "Warleson Reis"
18
18
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reis-mobile",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "AI agents, skills and workflows for Flutter, Android, iOS and React Native development. Run /reis-mobile:doctor, then /reis-mobile:review.",
5
5
  "author": {
6
6
  "name": "Warleson Reis"
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The project follows [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## [0.5.0] - 2026-09-16
6
+
7
+ ### Changed
8
+
9
+ - **Breaking:** the review skills are consolidated into `mobile-code-review`, with the review process in `SKILL.md` and a checklist per platform: Flutter (the former `flutter-code-review`, `flutter-widget-review`, `flutter-project-audit` and `flutter-dart-run-static-analysis`, in `references/flutter/`), native Android (the former `android-code-review`), native iOS (the former `ios-code-review`) and a new React Native checklist. `mobile-security-audit`, `android-intent-security` and `flutter-effective-dart` stay separate. A review request on a Flutter app loads 3 skills instead of 6.
10
+ - **Breaking:** the debugging skills are consolidated into `mobile-debug`, with the debugging process in `SKILL.md` and a guide per platform and layer: Flutter (the former `flutter-build-debug`, `flutter-errors`, `flutter-fix-layout-issues`, `flutter-dart-fix-runtime-errors` and `flutter-dart-resolve-package-conflicts`, in `references/flutter/`), Android (the former `android-gradle-build-debug`, plus runtime crashes, R8 retrace and ANRs), iOS (the former `ios-xcode-build-debug` and `ios-cocoapods-debug`, plus crash logs and sanitizers) and a new React Native guide (Metro, native modules not found, Hermes). `/reis-mobile:debug` passes the detected area so the skill opens the right guide.
11
+ - **Breaking:** the security skills are consolidated into `mobile-security` (the former `mobile-security-audit`), with the OWASP MASVS checks for every stack in `SKILL.md` and a checklist per platform: Flutter (with the former `flutter-secure-token-store` guide), Android (with the former `android-intent-security` guide, plus `PendingIntent`s, app links and `FLAG_SECURE`), iOS (Data Protection, Keychain accessibility, privacy manifests) and React Native (bundled environment variables, Hermes, signed over-the-air updates). The audit no longer treats `google-services.json` and `GoogleService-Info.plist` as secrets, in line with `mobile-firebase`.
12
+ - **Breaking:** every skill starts with `mobile-`, and there are 11: topic skills with a reference per platform (`mobile-architecture`, `mobile-code-review`, `mobile-debug`, `mobile-test`, `mobile-security`, `mobile-firebase`, `mobile-detect-stack`) and platform skills with what exists only on one stack (`mobile-flutter`, `mobile-android`, `mobile-ios`, `mobile-rn`). `reis-mobile validate` enforces both kinds.
13
+ - `mobile-architecture` replaces the Flutter architecture and state management skills (`flutter-app-architecture`, `flutter-architecture-feature-first`, `flutter-apply-architecture-best-practices`, `flutter-managing-state`, `flutter-bloc`, `flutter-riverpod`, `flutter-provider`, `flutter-change-notifier`, `flutter-login-usecase`) and adds architecture guides for Android, iOS and React Native.
14
+ - `mobile-flutter` holds the other Flutter skills, grouped by theme: UI and navigation, data, native code, performance, accessibility and i18n, Dart, and setup.
15
+ - `mobile-android` holds the 22 remaining guides from `android/skills`, grouped by theme, each as a folder with its references and scripts.
16
+ - New `mobile-ios` and `mobile-rn` skills with guides for UI and navigation, data and networking, platform features, and performance and release.
17
+ - The plugin's fixed context cost drops to about 3,900 tokens per session.
18
+ - The npm description and keywords, and the README introduction, name the stacks and tools people search for (Flutter, iOS, React Native, Claude Code, Codex, agent skills).
19
+
5
20
  ## [0.4.0] - 2026-09-16
6
21
 
7
22
  ### Added
package/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  A mobile app is not a generic project. A code review that does not know about `BuildContext` after `await`, `android:exported`, `NSAllowsArbitraryLoads` or `Podfile.lock` lets through exactly the bugs that only show up on the device. **reis-mobile** detects your project's stack, picks the right specialist and loads only the skills that apply to Flutter, Android, iOS or React Native.
4
4
 
5
- **AI agents for mobile engineering.** A Claude Code plugin with agents, skills and workflows specialized in mobile development.
5
+ **AI agents and skills for mobile development — Flutter, Android, iOS and React Native.** A plugin for Claude Code and Codex with specialist agents and skills for code review, debugging, tests, architecture, security and Firebase.
6
6
 
7
7
  <p align="center">
8
8
  <a href="https://github.com/wrsilva/reis-mobile/actions/workflows/ci.yml"><img src="https://github.com/wrsilva/reis-mobile/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
9
- <img src="https://img.shields.io/badge/Version-0.4.0-blue" alt="Version 0.4.0">
9
+ <img src="https://img.shields.io/badge/Version-0.5.0-blue" alt="Version 0.5.0">
10
10
  <img src="https://img.shields.io/badge/Claude_Code-plugin-blueviolet" alt="Claude Code plugin">
11
11
  <img src="https://img.shields.io/badge/Node.js-22+-339933?logo=node.js&logoColor=white" alt="Node.js 22+">
12
12
  <img src="https://img.shields.io/badge/Dependencies-0-brightgreen" alt="Zero dependencies">
@@ -23,7 +23,7 @@ A mobile app is not a generic project. A code review that does not know about `B
23
23
 
24
24
  🔎 **Detects the stack on its own.** Flutter (app or plugin), React Native (including Expo), Kotlin Multiplatform, native Android and iOS, with languages and target platforms. A Flutter app with `android/` and `ios/` is still Flutter.
25
25
 
26
- 👥 **16 agents and 74 mobile skills.** Architect, performance and test engineers for Flutter, native Android, native iOS and React Native, a staff engineer, a native plugin specialist, a code reviewer and a lead that coordinates them all, plus skills for Gradle, Xcode and CocoaPods builds, Jetpack Compose, BLoC, Riverpod, Firebase and testing on every platform, plugins and security.
26
+ 👥 **16 agents and 11 mobile skills.** Architect, performance and test engineers for Flutter, native Android, native iOS and React Native, a staff engineer, a native plugin specialist, a code reviewer and a lead that coordinates them all, plus skills for Gradle, Xcode and CocoaPods builds, Jetpack Compose, BLoC, Riverpod, Firebase and testing on every platform, plugins and security.
27
27
 
28
28
  🌐 **Answers in English or Portuguese.** `reis-mobile init eng` or `reis-mobile init pt` sets the language of reports, explanations and debates.
29
29
 
@@ -52,7 +52,8 @@ A mobile app is not a generic project. A code review that does not know about `B
52
52
 
53
53
  | Version | Highlights |
54
54
  |--------|-----------|
55
- | **v0.4.0** (current) | Native Android, iOS and React Native: architect, performance and test agents for each; `/reis-mobile:debug` for Gradle, Xcode, CocoaPods and Flutter failures; `mobile-test` and `mobile-firebase` with a guide per platform; the Android team's skills; `.reis-mobile/config.yaml` for monorepos. Skills now use stack prefixes. |
55
+ | **v0.5.0** (current) | 11 skills instead of 60: topic skills with a guide per platform (`mobile-architecture`, `mobile-code-review`, `mobile-debug`, `mobile-test`, `mobile-security`, `mobile-firebase`) and platform skills (`mobile-flutter`, `mobile-android`, and the new `mobile-ios` and `mobile-rn`). Half the fixed context cost. |
56
+ | **v0.4.0** | Native Android, iOS and React Native: architect, performance and test agents for each; `/reis-mobile:debug` for Gradle, Xcode, CocoaPods and Flutter failures; `mobile-test` and `mobile-firebase` with a guide per platform; the Android team's skills; `.reis-mobile/config.yaml` for monorepos. Skills now use stack prefixes. |
56
57
  | **v0.3.6** | `reis-mobile init eng` installs the plugin in Claude Code and Codex at once, skipping whichever is not installed; `init --uninstall` removes it from both. |
57
58
  | **v0.3.5** | Installs through npm and the Claude Code and Codex plugins. |
58
59
  | **v0.3.4** | Back to the `reis-mobile` name: `reis-mobile` CLI and `/reis-mobile:*` commands, undoing the `mobile` renames of v0.3.2 and v0.3.3. |
@@ -235,7 +236,7 @@ $ reis-mobile route "Execution failed for task ':app:compileDebugKotlin'"
235
236
  Intent debug (confidence 0.5) · area gradle
236
237
  Stack flutter · focus android
237
238
  Agent mobile-staff-engineer
238
- Skills flutter-build-debug, flutter-dart-fix-runtime-errors, flutter-dart-resolve-package-conflicts, flutter-errors, flutter-fix-layout-issues, android-gradle-build-debug
239
+ Skills mobile-debug
239
240
 
240
241
  $ reis-mobile route "write tests for the login cubit"
241
242
  Intent test (confidence 1)
@@ -263,9 +264,9 @@ The router never invents a specialist: if no agent serves the intent, it warns y
263
264
  | Build a plugin or debug MethodChannel/EventChannel | agent `plugin-native-expert` | ✅ |
264
265
  | Full audit with several specialists | agent `lead-mobile` | ✅ |
265
266
  | Decide between two architectures with a real trade-off | `/reis-mobile:debate` | ✅ |
266
- | Dedicated test command (including XCTest and Espresso) | `/reis-mobile:test` | 🔜 v0.5 |
267
- | Check whether the app is ready for the store | `/reis-mobile:release` | 🔜 v0.5 |
268
- | Consolidated decision by consensus between agents | `/reis-mobile:council` | 🔜 v0.8 |
267
+ | Dedicated test command (including XCTest and Espresso) | `/reis-mobile:test` | 🔜 v0.6 |
268
+ | Check whether the app is ready for the store | `/reis-mobile:release` | 🔜 v0.7 |
269
+ | Consolidated decision by consensus between agents | `/reis-mobile:council` | 🔜 v0.9 |
269
270
 
270
271
  <details>
271
272
  <summary><strong>How is it different from plain Claude Code?</strong></summary>
@@ -276,8 +277,8 @@ The router never invents a specialist: if no agent serves the intent, it warns y
276
277
  | **Project context** | You explain the stack | Deterministic detection of stack, platform and variant |
277
278
  | **Review** | Generic | Mobile checklists: lifecycle, `BuildContext`, MASVS, manifest, ATS |
278
279
  | **Secrets in the diff** | Sent as they are | Masked before reaching the model |
279
- | **Specialists** | None | 16 agents and 74 mobile skills |
280
- | **Context cost** | Zero | ~8,400 fixed tokens (agent and skill descriptions), no hooks |
280
+ | **Specialists** | None | 16 agents and 11 mobile skills |
281
+ | **Context cost** | Zero | ~3,900 fixed tokens (agent and skill descriptions), no hooks |
281
282
  | **Best for** | General tasks | Teams and developers working on mobile apps |
282
283
 
283
284
  **In short:** Claude Code already knows how to code. reis-mobile makes it look at what matters in a mobile app.
@@ -294,7 +295,7 @@ The router never invents a specialist: if no agent serves the intent, it warns y
294
295
  ├─ detect stack ──────── pubspec.yaml → flutter (android, ios)
295
296
  ├─ detect intent ─────── review
296
297
  ├─ select agent ──────── mobile-code-reviewer
297
- ├─ select skills ─────── flutter-code-review · flutter-effective-dart · flutter-project-audit · flutter-widget-review · mobile-security-audit …
298
+ ├─ select skills ─────── mobile-code-review · mobile-flutter · mobile-security
298
299
  ├─ collect context ───── git diff (lock files out, secrets masked)
299
300
  └─ review report ─────── Summary · Critical · Bugs · Architecture · Security · Performance · Maintainability
300
301
  ```
@@ -336,195 +337,25 @@ When more than one agent serves the intent, the stack-specific one wins. In a Fl
336
337
 
337
338
  ### Skills
338
339
 
339
- **Auto-routed** skills are loaded by the router together with the agent. The others (—) are triggered by Claude Code when the request matches the description, for example *"add push notifications with FCM"* → `mobile-firebase`.
340
+ Every skill starts with `mobile-`. **Topic** skills cover every stack with one reference per platform; **platform** skills hold what exists only on one stack. A request loads the skill, and the model then opens only the reference for your stack and task.
340
341
 
341
- <details>
342
- <summary><strong>Review and quality</strong> (7)</summary>
343
-
344
- | Skill | What it does | Auto-routed for | Stack | Origin |
345
- |---|---|---|---|---|
346
- | `flutter-code-review` | Performs thorough code reviews for Flutter/Dart pull requests and merge requests. | review | Flutter | evanca/flutter-ai-rules |
347
- | `flutter-effective-dart` | Applies Effective Dart guidelines in Flutter/Dart code. | review | Flutter | evanca/flutter-ai-rules |
348
- | `flutter-dart-run-static-analysis` | Execute `dart analyze` to identify warnings and errors, and use `dart fix --apply` to automatically resolve… | review | Flutter | dart-lang/skills |
349
- | `flutter-project-audit` | Audits the health of a Flutter project as a whole — pubspec constraints and lock file, analysis_options and lints,… | review, architecture, dependency | Flutter | reis-mobile |
350
- | `flutter-widget-review` | Reviews Flutter widget code for lifecycle bugs, BuildContext misuse across async gaps, missing dispose, side effects… | review, performance | Flutter | reis-mobile |
351
- | `flutter-dart-3-updates` | Applies Dart 3 language features in Flutter/Dart code. | migration | Flutter | evanca/flutter-ai-rules |
352
- | `flutter-dart-use-pattern-matching` | Applies Dart 3 pattern matching, switch expressions, and destructuring idiomatically to validate data schemas,… | — | Flutter | dart-lang/skills |
353
-
354
- </details>
355
-
356
- <details>
357
- <summary><strong>Architecture and state</strong> (9)</summary>
358
-
359
- | Skill | What it does | Auto-routed for | Stack | Origin |
360
- |---|---|---|---|---|
361
- | `flutter-architecture-feature-first` | Structures Flutter apps using layered architecture (UI / Logic / Data) with feature-first file organization. | architecture | Flutter | evanca/flutter-ai-rules |
362
- | `flutter-app-architecture` | Provides best practices for Flutter app architecture, including layered architecture, data flow, state management… | architecture | Flutter | evanca/flutter-ai-rules |
363
- | `flutter-apply-architecture-best-practices` | Architects a Flutter application using the recommended layered approach (UI, Logic, Data). | architecture | Flutter | flutter/skills |
364
- | `flutter-managing-state` | Manages application and ephemeral state in a Flutter app. | architecture | Flutter | flutter/skills |
365
- | `flutter-bloc` | Implements Flutter state management using the bloc library (Bloc and Cubit). | — | Flutter | evanca/flutter-ai-rules |
366
- | `flutter-riverpod` | Uses Riverpod for state management in Flutter/Dart. | — | Flutter | evanca/flutter-ai-rules |
367
- | `flutter-provider` | Uses the Provider package for dependency injection and state management in Flutter. | — | Flutter | evanca/flutter-ai-rules |
368
- | `flutter-change-notifier` | Implements state management with ChangeNotifier and Provider in Flutter. | — | Flutter | evanca/flutter-ai-rules |
369
- | `flutter-login-usecase` | Implements a Flutter login use case that authenticates through an injected repository and persists the access token… | — | Flutter | reis-mobile |
370
-
371
- </details>
372
-
373
- <details>
374
- <summary><strong>Testing</strong> (1)</summary>
375
-
376
- | Skill | What it does | Auto-routed for | Stack | Origin |
377
- |---|---|---|---|---|
378
- | `mobile-test` | Unit, widget, integration and end-to-end tests, mocks and coverage for Flutter, native Android, native iOS and React Native, with one reference per platform. | test | all | reis-mobile, flutter/skills, dart-lang/skills, evanca/flutter-ai-rules, android/skills |
379
-
380
- </details>
381
-
382
- <details>
383
- <summary><strong>Debug</strong> (5)</summary>
384
-
385
- | Skill | What it does | Auto-routed for | Stack | Origin |
386
- |---|---|---|---|---|
387
- | `flutter-errors` | Diagnoses and fixes common Flutter errors. | debug | Flutter | evanca/flutter-ai-rules |
388
- | `flutter-fix-layout-issues` | Fixes Flutter layout errors (overflows, unbounded constraints) using Dart and Flutter MCP tools. | debug | Flutter | flutter/skills |
389
- | `flutter-dart-fix-runtime-errors` | Uses get_runtime_errors and lsp to fetch an active stack trace, locate the failing line, apply a fix, and verify… | debug | Flutter | dart-lang/skills |
390
- | `flutter-dart-resolve-package-conflicts` | Workflow for fixing package version conflicts. | debug, dependency | Flutter | dart-lang/skills |
391
- | `flutter-build-debug` | Diagnoses failing Flutter builds by locating the layer that broke — Dart compilation, pub version solving… | debug, build, dependency, migration | Flutter | reis-mobile |
392
-
393
- </details>
394
-
395
- <details>
396
- <summary><strong>Performance</strong> (3)</summary>
397
-
398
- | Skill | What it does | Auto-routed for | Stack | Origin |
399
- |---|---|---|---|---|
400
- | `flutter-reducing-app-size` | Measures and optimizes the size of Flutter application bundles for deployment. | performance | Flutter | flutter/skills |
401
- | `flutter-handling-concurrency` | Executes long-running tasks in background isolates to keep the UI responsive. | performance | Flutter | flutter/skills |
402
- | `flutter-caching-data` | Implements caching strategies for Flutter apps to improve performance and offline support. | — | Flutter | flutter/skills |
403
-
404
- </details>
405
-
406
- <details>
407
- <summary><strong>UI, layout and navigation</strong> (8)</summary>
408
-
409
- | Skill | What it does | Auto-routed for | Stack | Origin |
410
- |---|---|---|---|---|
411
- | `flutter-building-layouts` | Builds Flutter layouts using the constraint system and layout widgets. | — | Flutter | flutter/skills |
412
- | `flutter-build-responsive-layout` | Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. | — | Flutter | flutter/skills |
413
- | `flutter-building-forms` | Builds Flutter forms with validation and user input handling. | — | Flutter | flutter/skills |
414
- | `flutter-animating-apps` | Implements animated effects, transitions, and motion in a Flutter app. | — | Flutter | flutter/skills |
415
- | `flutter-theming-apps` | Customizes the visual appearance of a Flutter app using the theming system. | — | Flutter | flutter/skills |
416
- | `flutter-add-widget-preview` | Adds interactive widget previews to the project using the previews.dart system. | — | Flutter | flutter/skills |
417
- | `flutter-setup-declarative-routing` | Configure `MaterialApp.router` using a package like `go_router` for advanced URL-based navigation. | — | Flutter | flutter/skills |
418
- | `flutter-adding-home-screen-widgets` | Adds home screen widgets to a Flutter app for Android and iOS. | — | Flutter | flutter/skills |
419
-
420
- </details>
421
-
422
- <details>
423
- <summary><strong>Data and networking</strong> (3)</summary>
424
-
425
- | Skill | What it does | Auto-routed for | Stack | Origin |
426
- |---|---|---|---|---|
427
- | `flutter-use-http-package` | Use the `http` package to execute GET, POST, PUT, or DELETE requests. | — | Flutter | flutter/skills |
428
- | `flutter-implement-json-serialization` | Create model classes with `fromJson` and `toJson` methods using `dart:convert`. | — | Flutter | flutter/skills |
429
- | `flutter-working-with-databases` | Manages local data persistence using SQLite or other database solutions. | — | Flutter | flutter/skills |
430
-
431
- </details>
432
-
433
- <details>
434
- <summary><strong>Native and plugins</strong> (3)</summary>
435
-
436
- | Skill | What it does | Auto-routed for | Stack | Origin |
437
- |---|---|---|---|---|
438
- | `flutter-building-plugins` | Builds Flutter plugins that provide native interop for other apps to use. | — | Flutter | flutter/skills |
439
- | `flutter-interoperating-with-native-apis` | Interoperates with native platform APIs on Android, iOS, and the web. | — | Flutter | flutter/skills |
440
- | `flutter-embedding-native-views` | Embeds native Android, iOS, or macOS views into a Flutter app. | — | Flutter | flutter/skills |
441
-
442
- </details>
443
-
444
- <details>
445
- <summary><strong>Security</strong> (2)</summary>
446
-
447
- | Skill | What it does | Auto-routed for | Stack | Origin |
448
- |---|---|---|---|---|
449
- | `mobile-security-audit` | Security audit for mobile apps based on the OWASP MASVS categories — insecure token storage, hardcoded secrets,… | review, security, release | all | reis-mobile |
450
- | `flutter-secure-token-store` | Stores JWT access tokens on Flutter with platform secure storage (Keychain on iOS, Keystore-backed storage on… | security | Flutter | reis-mobile |
451
-
452
- </details>
453
-
454
- <details>
455
- <summary><strong>Accessibility and internationalization</strong> (2)</summary>
456
-
457
- | Skill | What it does | Auto-routed for | Stack | Origin |
458
- |---|---|---|---|---|
459
- | `flutter-improving-accessibility` | Configures a Flutter app to support assistive technologies like Screen Readers. | accessibility | Flutter | flutter/skills |
460
- | `flutter-setup-localization` | Add `flutter_localizations` and `intl` dependencies, enable "generate true" in `pubspec.yaml`, and create an… | — | Flutter | flutter/skills |
461
-
462
- </details>
463
-
464
- <details>
465
- <summary><strong>Firebase</strong> (1)</summary>
342
+ | Skill | Covers | Auto-routed for | References |
343
+ |---|---|---|---|
344
+ | `mobile-architecture` | Layers, state management, modularization, DI, navigation | architecture | Flutter (BLoC, Riverpod, Provider, ChangeNotifier...), Android, iOS, React Native |
345
+ | `mobile-code-review` | Review process and checklists | review, performance | Flutter (PR review, widgets, project audit, static analysis), Android, iOS, React Native |
346
+ | `mobile-debug` | Failing builds and runtime errors | debug, build, dependency, migration | Flutter (build, runtime, layout, packages), Android (Gradle, crashes, ANRs), iOS (Xcode, CocoaPods, crash logs), React Native (Metro, native modules) |
347
+ | `mobile-test` | Unit, UI, integration and end-to-end tests | test | Flutter (widget, integration, Patrol, mocks, coverage), Android, iOS, React Native |
348
+ | `mobile-security` | OWASP MASVS security checks | review, security, release | Flutter (token storage), Android (intents), iOS, React Native |
349
+ | `mobile-firebase` | Firebase setup and 13 products | — | Flutter, Android, iOS, React Native, each with a guide per product |
350
+ | `mobile-flutter` | Flutter and Dart specifics | review, performance, accessibility, migration | UI and navigation, data, native code, performance, accessibility and i18n, Dart, setup |
351
+ | `mobile-android` | Native Android specifics, from the Android team | performance, release, migration, build, dependency | Compose UI, AGP 9 and R8, profiling, Google Play, identity, camera and media, on-device AI, Wear OS, TV, XR |
352
+ | `mobile-ios` | Native iOS specifics | performance, release, accessibility | UI and navigation, data and networking, platform features, performance and release |
353
+ | `mobile-rn` | React Native and Expo specifics | performance, release, accessibility | UI and navigation, data and networking, platform features, performance and release |
354
+ | `mobile-detect-stack` | Deterministic stack detection with the CLI | — | — |
466
355
 
467
- | Skill | What it does | Auto-routed for | Stack | Origin |
468
- |---|---|---|---|---|
469
- | `mobile-firebase` | Firebase on Flutter, native Android, native iOS and React Native: setup, Authentication, Firestore, Realtime Database, Storage, Functions, Messaging, Analytics, Crashlytics, Remote Config, App Check, In-App Messaging, AI Logic and SQL Connect, with a guide per platform and product. | — | all | reis-mobile, evanca/flutter-ai-rules |
470
-
471
- </details>
472
-
473
- <details>
474
- <summary><strong>Native Android</strong> (25)</summary>
475
-
476
- | Skill | What it does | Auto-routed for | Stack | Origin |
477
- |---|---|---|---|---|
478
- | `android-code-review` | Reviews native Android code in Kotlin and Java for the bugs that reach production — lifecycle and Context leaks… | review, performance | Android, kotlin-multiplatform | reis-mobile |
479
- | `android-gradle-build-debug` | Diagnoses failing Android Gradle builds — JDK, Gradle, Android Gradle Plugin and Kotlin version mismatches… | debug, build, dependency, migration | Android, kotlin-multiplatform | reis-mobile |
480
- | `android-intent-security` | Best practices for Android Intent security. | security, review | Android | android/skills |
481
- | `android-agp-9-upgrade` | Upgrades, or migrates, an Android project to use Android Gradle Plugin (AGP) version 9. | migration, build, dependency | Android | android/skills |
482
- | `android-r8-analyzer` | Analyzes Android build files and R8 keep rules to identify redundancies, broad package-wide rules, and rules that… | performance, build | Android | android/skills |
483
- | `android-profiler` | Manages Android performance profiling and debugging. | performance | Android | android/skills |
484
- | `android-play-policy-insights` | Automated auditor designed to verify Android applications against Google Play Policy domains. | release | Android | android/skills |
485
- | `android-play-billing-library-version-upgrade` | Use this skill when upgrading or migrating an Android project from any legacy Google Play Billing Library (PBL)… | — | Android | android/skills |
486
- | `android-engage-sdk-integration` | Helps developers integrate, debug, and resolve Play Engage SDK implementation issues. | — | Android | android/skills |
487
- | `android-migrate-xml-views-to-jetpack-compose` | Provides a structured workflow for migrating an Android XML View to Jetpack Compose. | — | Android | android/skills |
488
- | `android-adaptive` | Instructions to make or update an app's UI so that it adapts to different Android devices including phones… | — | Android | android/skills |
489
- | `android-edge-to-edge` | Use this skill to migrate your Jetpack Compose app to add adaptive edge-to-edge support and troubleshoot common… | — | Android | android/skills |
490
- | `android-styles` | Use this skill to integrate the Jetpack Compose Styles API into an Android project. | — | Android | android/skills |
491
- | `android-navigation-3` | Learn how to install and migrate to Jetpack Navigation 3, and how to implement features and patterns such as deep… | — | Android | android/skills |
492
- | `android-navigation-event` | Intercept back gestures and run Predictive Back animations using the NavigationEvent (androidx.navigationevent)… | — | Android | android/skills |
493
- | `android-camerax` | Provide technical guidance for Android camera development with CameraX. | — | Android | android/skills |
494
- | `android-media3-cast-integration` | Implements Google Cast support in Android apps using Jetpack Media3. | — | Android | android/skills |
495
- | `android-restore-credentials` | Provides knowledge and workflows to implement Android's Restore Credentials feature using the androidx.credentials… | — | Android | android/skills |
496
- | `android-verified-email` | Provides a complete workflow for implementing verified email retrieval on Android Credential Manager API. | — | Android | android/skills |
497
- | `android-appfunctions` | Analyzes Android apps to identify key user workflows for AppFunctions such as creating a note, playing media, or… | — | Android | android/skills |
498
- | `android-ml-kit-genai-prompt-api` | Analyzes Android codebases to implement ML Kit GenAI Prompt API. | — | Android | android/skills |
499
- | `android-wear-compose-m3` | Expert guidance for working with Wear OS Compose Material3. | — | Android | android/skills |
500
- | `android-leanback-to-compose-tv-migration` | Provides instructions and architectural patterns for migrating Android TV applications from legacy Leanback UI… | — | Android | android/skills |
501
- | `android-display-glasses-with-jetpack-compose-glimmer` | Provides guidelines for developing projected Android XR apps for display glasses using the Jetpack Compose Glimmer… | — | Android | android/skills |
502
- | `android-cli` | Provides instructions for installing and using the `android` CLI. | — | Android | android/skills |
503
-
504
- </details>
505
-
506
- <details>
507
- <summary><strong>Native iOS</strong> (3)</summary>
508
-
509
- | Skill | What it does | Auto-routed for | Stack | Origin |
510
- |---|---|---|---|---|
511
- | `ios-code-review` | Reviews native iOS code in Swift and Objective-C for the bugs that reach production — retain cycles in closures… | review, performance | iOS | reis-mobile |
512
- | `ios-xcode-build-debug` | Diagnoses failing iOS builds in Xcode and xcodebuild — code signing and provisioning, deployment target… | debug, build, release, migration | iOS | reis-mobile |
513
- | `ios-cocoapods-debug` | Diagnoses CocoaPods failures in iOS, Flutter and React Native projects — "could not find compatible versions"… | debug, dependency, build, migration | iOS | reis-mobile |
514
-
515
- </details>
516
-
517
- <details>
518
- <summary><strong>Environment</strong> (2)</summary>
519
-
520
- | Skill | What it does | Auto-routed for | Stack | Origin |
521
- |---|---|---|---|---|
522
- | `flutter-setting-up-on-macos` | Sets up a macOS environment for Flutter development. | — | Flutter | flutter/skills |
523
- | `mobile-detect-stack` | Detects the mobile stack of the current project (Flutter, Android, iOS, React Native, Kotlin Multiplatform), its… | — | all | reis-mobile |
524
-
525
- </details>
356
+ Skills marked — are triggered by Claude Code when the request matches their description, for example *"add push notifications with FCM"* → `mobile-firebase`.
526
357
 
527
- Third-party skills keep their original name and license. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
358
+ About 85 guides come from [flutter/skills](https://github.com/flutter/skills), [dart-lang/skills](https://github.com/dart-lang/skills), [evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules) and [android/skills](https://github.com/android/skills), unchanged and credited in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
528
359
 
529
360
  ---
530
361
 
@@ -534,11 +365,11 @@ Third-party skills keep their original name and license. See [THIRD_PARTY_NOTICE
534
365
 
535
366
  **Secrets masked.** The diff goes through [`core/security/redact.mjs`](core/security/redact.mjs) before reaching the model. Lock files and generated code (`*.g.dart`, `*.freezed.dart`, `*.pbxproj`) stay out of the diff. Redaction is a protection layer, not a guarantee. See [SECURITY.md](SECURITY.md).
536
367
 
537
- **No telemetry.** `detect`, `doctor`, `route`, `review` and `debug` make no network calls. Only installation touches the network, to download the package and register the plugin. One imported skill, `android-play-policy-insights`, runs Python scripts that download your app's public Google Play listing when the model uses it. The AI analysis uses the model of the session you are working in, such as Claude Code or Codex.
368
+ **No telemetry.** `detect`, `doctor`, `route`, `review` and `debug` make no network calls. Only installation touches the network, to download the package and register the plugin. The Google Play policy guide in `mobile-android` runs Python scripts that download your app's public Google Play listing when the model uses it. The AI analysis uses the model of the session you are working in, such as Claude Code or Codex.
538
369
 
539
370
  **Exception: `/reis-mobile:debate --external`.** This flag, and only this flag, sends the debate context — including excerpts of the files mentioned in the question — to the `codex` and `gemini` CLIs, which are third-party and have their own data policies. Without the flag, nothing leaves your session. The `review` diff is masked by `redact.mjs`, but the context you cite in a debate question does not go through that layer: check what you are sending before using `--external`.
540
371
 
541
- **Context cost.** The descriptions of the 16 agents and 74 skills add up to about 8,400 fixed tokens per session, estimated from their length (v0.3 measured about 4,800 with `claude plugin details reis-mobile`). The full content of each skill is only loaded when it is used.
372
+ **Context cost.** The descriptions of the 16 agents and 11 skills add up to about 3,900 fixed tokens per session, estimated from their length (v0.3 measured about 4,800 with `claude plugin details reis-mobile`). The full content of each skill is only loaded when it is used.
542
373
 
543
374
  **No hooks.** The plugin does not attach to Claude Code events. It only acts when you call a command or when a skill is relevant.
544
375
 
@@ -561,9 +392,9 @@ Third-party skills keep their original name and license. See [THIRD_PARTY_NOTICE
561
392
  | v0.3.5 | Distribution through npm and the Claude Code and Codex plugins only | ✅ |
562
393
  | v0.3.6 | `reis-mobile init` installs in Claude Code and Codex | ✅ |
563
394
  | v0.4.0 | Native Android and iOS skills, architect, performance and test agents for Android, iOS and React Native, `.reis-mobile/config.yaml` and `/reis-mobile:debug` (Gradle, Xcode, CocoaPods, Flutter) | ✅ |
564
- | v0.5.0 | `/reis-mobile:test` and native tests (XCTest, Espresso) | ⏳ |
565
- | v0.6.0 | `/reis-mobile:release` with quality gates | ⏳ |
566
- | v0.7.0 | React Native pack | ⏳ |
395
+ | v0.5.0 | Topic and platform skills (`mobile-*`), with guides for Flutter, Android, iOS and React Native in each; new `mobile-ios` and `mobile-rn` | ✅ |
396
+ | v0.6.0 | `/reis-mobile:test` and native tests (XCTest, Espresso) | ⏳ |
397
+ | v0.7.0 | `/reis-mobile:release` with quality gates | ⏳ |
567
398
  | v0.8.0 | MCP server | ⏳ |
568
399
  | v0.9.0 | Multi-provider (OpenAI, Gemini, OpenRouter, Ollama) beyond the debate's `--external` | ⏳ |
569
400
  | v1.0.0 | First stable version: Flutter, Android, iOS and React Native | ⏳ |
@@ -585,7 +416,7 @@ app: apps/mobile
585
416
  Every command then analyzes `apps/mobile`, wherever in the repository you run it, and the review diff is restricted to that folder. Without the file, run from the app folder or pass `--dir apps/mobile`.
586
417
 
587
418
  **Does it work with native Android and iOS?**
588
- Yes. Native Android has its own architect, performance and test agents, review and Gradle debugging skills, and the Android team's skills from `android/skills` (Compose, AGP 9, R8, Play policy, Wear, TV and more). Native iOS has its own agents and skills for review, Xcode and CocoaPods. React Native has architect, performance and test agents; its skills are still on the roadmap.
419
+ Yes. Native Android, native iOS and React Native each have architect, performance and test agents, and the cross-platform skills — `mobile-debug`, `mobile-code-review`, `mobile-test` and `mobile-firebase` — have a guide for each of them (Gradle and R8, Xcode and CocoaPods, Metro and native modules). The platform skills `mobile-android`, `mobile-ios` and `mobile-rn` add what exists only on each stack; `mobile-android` includes the Android team's guides from `android/skills` (Compose, AGP 9, R8, Play policy, Wear, TV and more).
589
420
 
590
421
  **I already have skills with the same names in `~/.claude/skills`.**
591
422
  The plugin's skills live in the `reis-mobile:` namespace and do not conflict, but Claude Code loads both descriptions. To save context, remove the global copies the plugin already covers.
@@ -632,7 +463,7 @@ Questions: [Discussions](https://github.com/wrsilva/reis-mobile/discussions). Wh
632
463
  - **[flutter/skills](https://github.com/flutter/skills)** (BSD-3-Clause): 25 Flutter skills.
633
464
  - **[dart-lang/skills](https://github.com/dart-lang/skills)** (BSD-3-Clause): 8 Dart skills.
634
465
  - **[evanca/flutter-ai-rules](https://github.com/evanca/flutter-ai-rules)** (MIT): 28 Flutter, testing and Firebase skills.
635
- - **[OWASP MASVS](https://mas.owasp.org/MASVS/)**: categories used in the `mobile-security-audit` skill.
466
+ - **[OWASP MASVS](https://mas.owasp.org/MASVS/)**: categories used in the `mobile-security` skill.
636
467
 
637
468
  ---
638
469
 
@@ -2,15 +2,14 @@
2
2
 
3
3
  reis-mobile is distributed under the MIT License (see [LICENSE](LICENSE)). The skills listed below were derived from third-party projects and remain under their original licenses. Each of these skills declares `source` and `license` in its `SKILL.md` frontmatter.
4
4
 
5
- Changes made by reis-mobile: routing metadata (`intents`, `stacks`, `routing`, `source`, `license`) added to the frontmatter, and skills renamed to start with the prefix of their stack (`flutter-`, `android-`, `ios-`, `rn-`, or `mobile-` for stack-agnostic skills). Each section lists the upstream name of every renamed skill; its folder and the `name` field changed, the instructions did not. Skills that exist on several platforms were consolidated into `mobile-*` skills (`mobile-test`, `mobile-firebase`): their instructions moved, unchanged apart from a leading attribution line and the removed frontmatter, into files under `skills/<skill>/references/`, as each section lists. Some copies correspond to earlier revisions of the upstream files.
5
+ Changes made by reis-mobile: every third-party skill was moved into a reis-mobile skill (`mobile-test`, `mobile-firebase`, `mobile-code-review`, `mobile-debug`, `mobile-security`, `mobile-architecture`, `mobile-flutter`, `mobile-android`). Its instructions are unchanged apart from a leading attribution line and the removed frontmatter; skills that shipped extra files (references, scripts, examples) moved as whole folders with the instructions in `GUIDE.md`, so their relative links still work. Each section lists the upstream skill and the file that holds it now. Some copies correspond to earlier revisions of the upstream files.
6
6
 
7
7
  ## evanca/flutter-ai-rules
8
8
 
9
9
  - Source: https://github.com/evanca/flutter-ai-rules
10
10
  - License: MIT
11
- - Skills (10): `flutter-app-architecture`, `flutter-architecture-feature-first`, `flutter-bloc`, `flutter-change-notifier`, `flutter-code-review`, `flutter-dart-3-updates`, `flutter-effective-dart`, `flutter-errors`, `flutter-provider`, `flutter-riverpod`
12
- - Renamed by reis-mobile (upstream name → name here): `architecture-feature-first` → `flutter-architecture-feature-first`, `bloc` → `flutter-bloc`, `code-review` → `flutter-code-review`, `dart-3-updates` → `flutter-dart-3-updates`, `effective-dart` → `flutter-effective-dart`, `provider` → `flutter-provider`, `riverpod` → `flutter-riverpod`
13
- - Adapted into reis-mobile skills (upstream skill → file under `skills/`): `firebase-ai` → `mobile-firebase/references/flutter/ai-logic.md`, `firebase-analytics` → `mobile-firebase/references/flutter/analytics.md`, `firebase-app-check` → `mobile-firebase/references/flutter/app-check.md`, `firebase-auth` → `mobile-firebase/references/flutter/auth.md`, `firebase-crashlytics` → `mobile-firebase/references/flutter/crashlytics.md`, `firebase-cloud-firestore` → `mobile-firebase/references/flutter/firestore.md`, `firebase-cloud-functions` → `mobile-firebase/references/flutter/functions.md`, `firebase-in-app-messaging` → `mobile-firebase/references/flutter/in-app-messaging.md`, `firebase-messaging` → `mobile-firebase/references/flutter/messaging.md`, `firebase-database` → `mobile-firebase/references/flutter/realtime-database.md`, `firebase-remote-config` → `mobile-firebase/references/flutter/remote-config.md`, `flutterfire-configure` → `mobile-firebase/references/flutter/setup-flutterfire.md`, `firebase-data-connect` → `mobile-firebase/references/flutter/sql-connect.md`, `firebase-storage` → `mobile-firebase/references/flutter/storage.md`, `mockito` → `mobile-test/references/flutter/mockito.md`, `mocktail` → `mobile-test/references/flutter/mocktail.md`, `patrol-e2e-testing` → `mobile-test/references/flutter/patrol.md`, `testing` → `mobile-test/references/flutter/testing-guidelines.md`
11
+ - Skills (0): none as standalone skills; all of its content lives in the files listed below
12
+ - Adapted into reis-mobile skills (upstream skill → file under `skills/`): `flutter-app-architecture` → `mobile-architecture/references/flutter/app-architecture.md`, `bloc` → `mobile-architecture/references/flutter/bloc.md`, `flutter-change-notifier` → `mobile-architecture/references/flutter/change-notifier.md`, `architecture-feature-first` → `mobile-architecture/references/flutter/feature-first.md`, `provider` → `mobile-architecture/references/flutter/provider.md`, `riverpod` → `mobile-architecture/references/flutter/riverpod.md`, `code-review` → `mobile-code-review/references/flutter/pr-review.md`, `flutter-errors` → `mobile-debug/references/flutter/errors.md`, `firebase-ai` → `mobile-firebase/references/flutter/ai-logic.md`, `firebase-analytics` → `mobile-firebase/references/flutter/analytics.md`, `firebase-app-check` → `mobile-firebase/references/flutter/app-check.md`, `firebase-auth` → `mobile-firebase/references/flutter/auth.md`, `firebase-crashlytics` → `mobile-firebase/references/flutter/crashlytics.md`, `firebase-cloud-firestore` → `mobile-firebase/references/flutter/firestore.md`, `firebase-cloud-functions` → `mobile-firebase/references/flutter/functions.md`, `firebase-in-app-messaging` → `mobile-firebase/references/flutter/in-app-messaging.md`, `firebase-messaging` → `mobile-firebase/references/flutter/messaging.md`, `firebase-database` → `mobile-firebase/references/flutter/realtime-database.md`, `firebase-remote-config` → `mobile-firebase/references/flutter/remote-config.md`, `flutterfire-configure` → `mobile-firebase/references/flutter/setup-flutterfire.md`, `firebase-data-connect` → `mobile-firebase/references/flutter/sql-connect.md`, `firebase-storage` → `mobile-firebase/references/flutter/storage.md`, `dart-3-updates` → `mobile-flutter/references/dart/dart-3.md`, `effective-dart` → `mobile-flutter/references/dart/effective-dart.md`, `mockito` → `mobile-test/references/flutter/mockito.md`, `mocktail` → `mobile-test/references/flutter/mocktail.md`, `patrol-e2e-testing` → `mobile-test/references/flutter/patrol.md`, `testing` → `mobile-test/references/flutter/testing-guidelines.md`
14
13
 
15
14
  ```text
16
15
  MIT License
@@ -40,9 +39,8 @@ SOFTWARE.
40
39
 
41
40
  - Source: https://github.com/dart-lang/skills
42
41
  - License: BSD-3-Clause
43
- - Skills (4): `flutter-dart-fix-runtime-errors`, `flutter-dart-resolve-package-conflicts`, `flutter-dart-run-static-analysis`, `flutter-dart-use-pattern-matching`
44
- - Renamed by reis-mobile (upstream name → name here): `dart-fix-runtime-errors` → `flutter-dart-fix-runtime-errors`, `dart-resolve-package-conflicts` → `flutter-dart-resolve-package-conflicts`, `dart-run-static-analysis` → `flutter-dart-run-static-analysis`, `dart-use-pattern-matching` → `flutter-dart-use-pattern-matching`
45
- - Adapted into reis-mobile skills (upstream skill → file under `skills/`): `dart-collect-coverage` → `mobile-test/references/flutter/coverage.md`, `dart-generate-test-mocks` → `mobile-test/references/flutter/generate-mocks.md`, `dart-migrate-to-checks-package` → `mobile-test/references/flutter/migrate-to-checks.md`, `dart-add-unit-test` → `mobile-test/references/flutter/unit-tests.md`
42
+ - Skills (0): none as standalone skills; all of its content lives in the files listed below
43
+ - Adapted into reis-mobile skills (upstream skill → file under `skills/`): `dart-run-static-analysis` → `mobile-code-review/references/flutter/static-analysis.md`, `dart-resolve-package-conflicts` → `mobile-debug/references/flutter/package-conflicts.md`, `dart-fix-runtime-errors` → `mobile-debug/references/flutter/runtime-errors.md`, `dart-use-pattern-matching` → `mobile-flutter/references/dart/pattern-matching/GUIDE.md`, `dart-collect-coverage` → `mobile-test/references/flutter/coverage.md`, `dart-generate-test-mocks` → `mobile-test/references/flutter/generate-mocks.md`, `dart-migrate-to-checks-package` → `mobile-test/references/flutter/migrate-to-checks.md`, `dart-add-unit-test` → `mobile-test/references/flutter/unit-tests.md`
46
44
 
47
45
  ```text
48
46
  Copyright 2012, the Dart project authors.
@@ -77,8 +75,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
77
75
 
78
76
  - Source: https://github.com/flutter/skills
79
77
  - License: BSD-3-Clause
80
- - Skills (23): `flutter-add-widget-preview`, `flutter-adding-home-screen-widgets`, `flutter-animating-apps`, `flutter-apply-architecture-best-practices`, `flutter-build-responsive-layout`, `flutter-building-forms`, `flutter-building-layouts`, `flutter-building-plugins`, `flutter-caching-data`, `flutter-embedding-native-views`, `flutter-fix-layout-issues`, `flutter-handling-concurrency`, `flutter-implement-json-serialization`, `flutter-improving-accessibility`, `flutter-interoperating-with-native-apis`, `flutter-managing-state`, `flutter-reducing-app-size`, `flutter-setting-up-on-macos`, `flutter-setup-declarative-routing`, `flutter-setup-localization`, `flutter-theming-apps`, `flutter-use-http-package`, `flutter-working-with-databases`
81
- - Adapted into reis-mobile skills (upstream skill → file under `skills/`): `flutter-add-integration-test` → `mobile-test/references/flutter/integration-tests.md`, `flutter-add-widget-test` → `mobile-test/references/flutter/widget-tests.md`
78
+ - Skills (0): none as standalone skills; all of its content lives in the files listed below
79
+ - Adapted into reis-mobile skills (upstream skill → file under `skills/`): `flutter-managing-state` → `mobile-architecture/references/flutter/managing-state.md`, `flutter-apply-architecture-best-practices` → `mobile-architecture/references/flutter/recommended-architecture.md`, `flutter-fix-layout-issues` → `mobile-debug/references/flutter/layout-issues.md`, `flutter-improving-accessibility` → `mobile-flutter/references/accessibility-i18n/accessibility.md`, `flutter-setup-localization` → `mobile-flutter/references/accessibility-i18n/localization.md`, `flutter-caching-data` → `mobile-flutter/references/data/caching.md`, `flutter-working-with-databases` → `mobile-flutter/references/data/databases.md`, `flutter-use-http-package` → `mobile-flutter/references/data/http.md`, `flutter-implement-json-serialization` → `mobile-flutter/references/data/json-serialization.md`, `flutter-interoperating-with-native-apis` → `mobile-flutter/references/native/native-apis.md`, `flutter-embedding-native-views` → `mobile-flutter/references/native/native-views.md`, `flutter-building-plugins` → `mobile-flutter/references/native/plugins.md`, `flutter-reducing-app-size` → `mobile-flutter/references/performance/app-size.md`, `flutter-handling-concurrency` → `mobile-flutter/references/performance/concurrency.md`, `flutter-setting-up-on-macos` → `mobile-flutter/references/setup/macos.md`, `flutter-animating-apps` → `mobile-flutter/references/ui/animations.md`, `flutter-building-forms` → `mobile-flutter/references/ui/forms.md`, `flutter-adding-home-screen-widgets` → `mobile-flutter/references/ui/home-screen-widgets.md`, `flutter-building-layouts` → `mobile-flutter/references/ui/layouts.md`, `flutter-build-responsive-layout` → `mobile-flutter/references/ui/responsive-layout.md`, `flutter-setup-declarative-routing` → `mobile-flutter/references/ui/routing.md`, `flutter-theming-apps` → `mobile-flutter/references/ui/theming.md`, `flutter-add-widget-preview` → `mobile-flutter/references/ui/widget-previews.md`, `flutter-add-integration-test` → `mobile-test/references/flutter/integration-tests.md`, `flutter-add-widget-test` → `mobile-test/references/flutter/widget-tests.md`
82
80
 
83
81
  ```text
84
82
  Copyright 2026 The Flutter Authors. All rights reserved.
@@ -114,10 +112,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
114
112
  - Source: https://github.com/android/skills
115
113
  - Revision: `466e1b5c5beb86cde9d35c81c2ffd26c6aef0502` (2026-09-15)
116
114
  - License: Apache-2.0
117
- - Skills (23): `android-adaptive`, `android-agp-9-upgrade`, `android-appfunctions`, `android-camerax`, `android-cli`, `android-display-glasses-with-jetpack-compose-glimmer`, `android-edge-to-edge`, `android-engage-sdk-integration`, `android-intent-security`, `android-leanback-to-compose-tv-migration`, `android-media3-cast-integration`, `android-migrate-xml-views-to-jetpack-compose`, `android-ml-kit-genai-prompt-api`, `android-navigation-3`, `android-navigation-event`, `android-play-billing-library-version-upgrade`, `android-play-policy-insights`, `android-profiler`, `android-r8-analyzer`, `android-restore-credentials`, `android-styles`, `android-verified-email`, `android-wear-compose-m3`
118
- - Renamed by reis-mobile (upstream name → name here): `adaptive` → `android-adaptive`, `agp-9-upgrade` → `android-agp-9-upgrade`, `appfunctions` → `android-appfunctions`, `camerax` → `android-camerax`, `display-glasses-with-jetpack-compose-glimmer` → `android-display-glasses-with-jetpack-compose-glimmer`, `edge-to-edge` → `android-edge-to-edge`, `engage-sdk-integration` → `android-engage-sdk-integration`, `leanback-to-compose-tv-migration` → `android-leanback-to-compose-tv-migration`, `media3-cast-integration` → `android-media3-cast-integration`, `migrate-xml-views-to-jetpack-compose` → `android-migrate-xml-views-to-jetpack-compose`, `ml-kit-genai-prompt-api` → `android-ml-kit-genai-prompt-api`, `navigation-3` → `android-navigation-3`, `navigation-event` → `android-navigation-event`, `play-billing-library-version-upgrade` → `android-play-billing-library-version-upgrade`, `play-policy-insights` → `android-play-policy-insights`, `r8-analyzer` → `android-r8-analyzer`, `restore-credentials` → `android-restore-credentials`, `styles` → `android-styles`, `verified-email` → `android-verified-email`, `wear-compose-m3` → `android-wear-compose-m3`
119
- - Adapted into reis-mobile skills (upstream skill → file under `skills/`): `testing-setup` → `mobile-test/references/android/setup/GUIDE.md`
120
- - Changes made by reis-mobile: each skill folder was moved from its category path (for example `performance/r8-analyzer/`) to `skills/<name>/` and renamed with the `android-` prefix where it did not have it; in each `SKILL.md` frontmatter, `license: Complete terms in LICENSE.txt` was replaced by `license: Apache-2.0` and `source`, `stacks` and `intents` or `routing` were added. The instructions, references, resources and scripts are unchanged.
115
+ - Skills (0): none as standalone skills; all of its content lives in the files listed below
116
+ - Adapted into reis-mobile skills (upstream skill → file under `skills/`): `agp-9-upgrade` → `mobile-android/references/build-and-performance/agp-9-upgrade/GUIDE.md`, `android-cli` → `mobile-android/references/build-and-performance/android-cli/GUIDE.md`, `android-profiler` → `mobile-android/references/build-and-performance/android-profiler/GUIDE.md`, `r8-analyzer` → `mobile-android/references/build-and-performance/r8-analyzer/GUIDE.md`, `display-glasses-with-jetpack-compose-glimmer` → `mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/GUIDE.md`, `leanback-to-compose-tv-migration` → `mobile-android/references/devices/leanback-to-compose-tv-migration/GUIDE.md`, `wear-compose-m3` → `mobile-android/references/devices/wear-compose-m3/GUIDE.md`, `restore-credentials` → `mobile-android/references/identity/restore-credentials/GUIDE.md`, `verified-email` → `mobile-android/references/identity/verified-email/GUIDE.md`, `camerax` → `mobile-android/references/media/camerax/GUIDE.md`, `media3-cast-integration` → `mobile-android/references/media/media3-cast-integration/GUIDE.md`, `appfunctions` → `mobile-android/references/on-device-ai/appfunctions/GUIDE.md`, `ml-kit-genai-prompt-api` → `mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/GUIDE.md`, `engage-sdk-integration` → `mobile-android/references/play/engage-sdk-integration/GUIDE.md`, `play-billing-library-version-upgrade` → `mobile-android/references/play/play-billing-library-version-upgrade/GUIDE.md`, `play-policy-insights` → `mobile-android/references/play/play-policy-insights/GUIDE.md`, `adaptive` → `mobile-android/references/ui/adaptive/GUIDE.md`, `edge-to-edge` → `mobile-android/references/ui/edge-to-edge/GUIDE.md`, `migrate-xml-views-to-jetpack-compose` → `mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/GUIDE.md`, `navigation-3` → `mobile-android/references/ui/navigation-3/GUIDE.md`, `navigation-event` → `mobile-android/references/ui/navigation-event/GUIDE.md`, `styles` → `mobile-android/references/ui/styles/GUIDE.md`, `android-intent-security` → `mobile-security/references/android/intent-security.md`, `testing-setup` → `mobile-test/references/android/setup/GUIDE.md`
117
+ - Changes made by reis-mobile: each skill folder was moved from its category path (for example `performance/r8-analyzer/`) into `skills/mobile-android/references/<topic>/<skill>/` (the testing and intent security skills into `mobile-test` and `mobile-security`), its `SKILL.md` renamed to `GUIDE.md` and its frontmatter replaced by an attribution line. The instructions, references, resources and scripts are unchanged.
121
118
 
122
119
  ```text
123
120
 
@@ -55,7 +55,7 @@ Your mission is to find and remove the bottlenecks users feel: dropped frames, A
55
55
 
56
56
  ### Background work, battery and size
57
57
  - Periodic or long work outside `WorkManager`, wakelocks held too long, polling instead of push
58
- - Release builds without R8 (`isMinifyEnabled`) and resource shrinking (`isShrinkResources`); keep rules that disable shrinking for whole packages (see the `android-r8-analyzer` skill)
58
+ - Release builds without R8 (`isMinifyEnabled`) and resource shrinking (`isShrinkResources`); keep rules that disable shrinking for whole packages (see the R8 guide in the `mobile-android` skill)
59
59
 
60
60
  Confirm the AGP, Kotlin and Compose versions in the build files before recommending APIs or compiler options that depend on them.
61
61
 
@@ -67,7 +67,7 @@ Confirm the AGP, Kotlin and Compose versions in the build files before recommend
67
67
  4. Check resource ownership and cancellation for leaks.
68
68
  5. Review release build configuration for size.
69
69
 
70
- Prefer measurements over inference when they exist: Android Studio profilers, Perfetto traces, Macrobenchmark results, Play Console vitals. The `android-profiler` skill covers recording traces. Say which findings are inferred from code only.
70
+ Prefer measurements over inference when they exist: Android Studio profilers, Perfetto traces, Macrobenchmark results, Play Console vitals. The `mobile-android` skill's profiler guide covers recording and analyzing traces. Say which findings are inferred from code only.
71
71
 
72
72
  ## Output
73
73
 
@@ -16,6 +16,8 @@ You are a senior mobile engineer doing code review. Your job is to find what bre
16
16
  - **Project audit.** There are no changes. Prioritize the entry points (`main.dart`, `Application`/`MainActivity`, `AppDelegate`/`@main`, `App.tsx`), the data layer, authentication and the most complex screens.
17
17
  - **Called via /reis-mobile:review.** The command has already detected the stack and loaded the skills. Follow their checklists; do not redo the detection.
18
18
 
19
+ The `mobile-code-review` skill holds the review process and a checklist per platform (`references/flutter.md`, `android.md`, `ios.md`, `react-native.md`); read the one for the project's stack.
20
+
19
21
  ## Process
20
22
 
21
23
  1. Confirm the stack and the target platforms (use the router result when available).
@@ -62,7 +62,7 @@ src/
62
62
  - Native modules called directly from many places instead of one wrapper
63
63
 
64
64
  **Configuration**
65
- - Secrets in `.env` files bundled into the app (see `mobile-security-audit`)
65
+ - Secrets in `.env` files bundled into the app (see `mobile-security`)
66
66
  - Missing or loose TypeScript settings (`strict` off) in a codebase that relies on types
67
67
 
68
68
  ## Process
package/commands/debug.md CHANGED
@@ -37,7 +37,7 @@ The CLI output has a `Language` line. Write everything the user reads in that la
37
37
  Read with the Read tool, in this order:
38
38
 
39
39
  1. `${CLAUDE_PLUGIN_ROOT}/agents/<Agent>.md`;
40
- 2. `${CLAUDE_PLUGIN_ROOT}/skills/<skill>/SKILL.md` for each listed skill. The first skills are the most specific to the stack and area; read them all, since a failure often crosses layers (a Flutter build that fails inside Gradle).
40
+ 2. `${CLAUDE_PLUGIN_ROOT}/skills/<skill>/SKILL.md` for each listed skill. `mobile-debug` maps the stack and the `area` from step 1 to its platform references; read the reference for each layer the failure crosses (a Flutter build that fails inside Gradle needs the Flutter and the Android references).
41
41
 
42
42
  ## 3. Diagnose
43
43
 
@@ -8,14 +8,15 @@ import { parseFrontmatter } from './frontmatter.mjs';
8
8
 
9
9
  export const ANY_STACK = '*';
10
10
 
11
- /** Every skill name starts with the prefix of the first stack it declares. */
12
- export const SKILL_PREFIXES = {
13
- [ANY_STACK]: ['mobile-'],
14
- flutter: ['flutter-'],
15
- android: ['android-'],
16
- ios: ['ios-'],
17
- 'react-native': ['rn-'],
18
- 'kotlin-multiplatform': ['kmp-'],
11
+ /**
12
+ * Every skill starts with `mobile-`. A topic skill covers every stack (`stacks: ["*"]`) with a
13
+ * reference per platform; a platform skill is named after the one stack it covers.
14
+ */
15
+ export const PLATFORM_SKILLS = {
16
+ 'mobile-flutter': 'flutter',
17
+ 'mobile-android': 'android',
18
+ 'mobile-ios': 'ios',
19
+ 'mobile-rn': 'react-native',
19
20
  };
20
21
 
21
22
  /**
@@ -119,9 +120,15 @@ export function validateRegistry({ stacks, agents, skills }) {
119
120
 
120
121
  if (component.source && !component.license) errors.push(`${label}: "source" requires "license"`);
121
122
 
122
- const prefixes = component.kind === 'skill' ? SKILL_PREFIXES[component.stacks[0]] : undefined;
123
- if (prefixes && component.name && !prefixes.some((prefix) => component.name.startsWith(prefix))) {
124
- errors.push(`${label}: skill name must start with "${prefixes.join('" or "')}" for stack "${component.stacks[0]}"`);
123
+ if (component.kind === 'skill' && component.name) {
124
+ const platform = PLATFORM_SKILLS[component.name];
125
+ if (!component.name.startsWith('mobile-')) {
126
+ errors.push(`${label}: skill name must start with "mobile-"`);
127
+ } else if (platform && !(component.stacks.length === 1 && component.stacks[0] === platform)) {
128
+ errors.push(`${label}: platform skill ${component.name} must declare stacks: [${platform}]`);
129
+ } else if (!platform && !(component.stacks.length === 1 && component.stacks[0] === ANY_STACK)) {
130
+ errors.push(`${label}: topic skill must declare stacks: ["*"], or be one of ${Object.keys(PLATFORM_SKILLS).join(', ')}`);
131
+ }
125
132
  }
126
133
 
127
134
  for (const intent of component.intents) {