reis-mobile 0.3.6 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +24 -0
  4. package/README.md +175 -168
  5. package/THIRD_PARTY_NOTICES.md +224 -4
  6. package/agents/android-architect.md +89 -0
  7. package/agents/android-performance-engineer.md +92 -0
  8. package/agents/android-test-engineer.md +97 -0
  9. package/agents/flutter-test-engineer.md +2 -0
  10. package/agents/ios-architect.md +93 -0
  11. package/agents/ios-performance-engineer.md +92 -0
  12. package/agents/ios-test-engineer.md +95 -0
  13. package/agents/lead-mobile.md +10 -1
  14. package/agents/mobile-staff-engineer.md +1 -1
  15. package/agents/rn-architect.md +94 -0
  16. package/agents/rn-performance-engineer.md +92 -0
  17. package/agents/rn-test-engineer.md +98 -0
  18. package/bin/reis-mobile.mjs +59 -17
  19. package/commands/debate.md +10 -1
  20. package/commands/debug.md +60 -0
  21. package/commands/reis-mobile.md +7 -2
  22. package/core/config/project.mjs +59 -0
  23. package/core/registry/frontmatter.mjs +15 -4
  24. package/core/registry/registry.mjs +21 -1
  25. package/core/router/intents.mjs +2 -0
  26. package/core/router/router.mjs +10 -5
  27. package/package.json +1 -1
  28. package/skills/android-adaptive/SKILL.md +304 -0
  29. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/container-behavior.md +112 -0
  30. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/get-started.md +69 -0
  31. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/index.md +81 -0
  32. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/item-behavior.md +170 -0
  33. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/container-properties.md +415 -0
  34. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/get-started.md +51 -0
  35. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/index.md +73 -0
  36. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/item-properties.md +170 -0
  37. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/mediaquery/index.md +333 -0
  38. package/skills/android-adaptive/references/android/develop/ui/compose/tooling/debug.md +114 -0
  39. package/skills/android-adaptive/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  40. package/skills/android-agp-9-upgrade/SKILL.md +106 -0
  41. package/skills/android-agp-9-upgrade/references/android/build/migrate-to-built-in-kotlin.md +416 -0
  42. package/skills/android-agp-9-upgrade/references/android/build/releases/agp-9-0-0-release-notes.md +554 -0
  43. package/skills/android-agp-9-upgrade/references/buildconfig.md +54 -0
  44. package/skills/android-agp-9-upgrade/references/ksp-kapt.md +39 -0
  45. package/skills/android-agp-9-upgrade/references/paparazzi-gradle-9.md +30 -0
  46. package/skills/android-agp-9-upgrade/references/recipes.md +62 -0
  47. package/skills/android-appfunctions/SKILL.md +74 -0
  48. package/skills/android-appfunctions/references/adb-interaction-testing.md +95 -0
  49. package/skills/android-appfunctions/references/context.md +26 -0
  50. package/skills/android-appfunctions/references/feature-discovery-analysis.md +71 -0
  51. package/skills/android-appfunctions/references/implementation-configuration.md +282 -0
  52. package/skills/android-appfunctions/references/kdoc-refinement-optimization.md +75 -0
  53. package/skills/android-appfunctions/references/migrate-to-service-entry-point.md +226 -0
  54. package/skills/android-camerax/SKILL.md +135 -0
  55. package/skills/android-camerax/references/camera1-to-camerax.md +198 -0
  56. package/skills/android-camerax/references/camera2-to-camerax.md +193 -0
  57. package/skills/android-camerax/references/expert-blueprints.md +58 -0
  58. package/skills/android-camerax/references/foldables.md +83 -0
  59. package/skills/android-camerax/references/immutability.md +60 -0
  60. package/skills/android-camerax/references/low-light.md +124 -0
  61. package/skills/android-camerax/references/mlkit-spatial.md +75 -0
  62. package/skills/android-camerax/references/modern-apis.md +42 -0
  63. package/skills/android-camerax/references/testing.md +69 -0
  64. package/skills/android-camerax/references/thermals.md +85 -0
  65. package/skills/android-camerax/references/wear-os.md +76 -0
  66. package/skills/android-camerax/references/xr.md +54 -0
  67. package/skills/android-cli/SKILL.md +474 -0
  68. package/skills/android-cli/references/interact.md +113 -0
  69. package/skills/android-cli/references/journeys.md +120 -0
  70. package/skills/android-code-review/SKILL.md +58 -0
  71. package/skills/android-display-glasses-with-jetpack-compose-glimmer/SKILL.md +340 -0
  72. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/design/ui/ai-glasses/guides/interaction/inputs.md +67 -0
  73. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/access-hardware-projected-context.md +388 -0
  74. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/buttons.md +139 -0
  75. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/cards.md +148 -0
  76. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/focus.md +107 -0
  77. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/icons.md +90 -0
  78. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/text.md +69 -0
  79. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/title-chips.md +82 -0
  80. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/request-hardware-permissions.md +213 -0
  81. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/button-samples-source.md +176 -0
  82. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/button-source.md +203 -0
  83. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/card-samples-source.md +296 -0
  84. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/card-source.md +515 -0
  85. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/deptheffect-source.md +224 -0
  86. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/deptheffectlevels-source.md +105 -0
  87. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/glimmersansflextypography-source.md +270 -0
  88. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/glimmertheme-source.md +182 -0
  89. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/icon-source.md +388 -0
  90. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/iconbutton-source.md +126 -0
  91. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/iconsizes-source.md +78 -0
  92. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/list-source.md +27 -0
  93. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/listitem-source.md +272 -0
  94. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/liststate-source.md +427 -0
  95. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/material-hct-source.md +217 -0
  96. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/projectedcontext-source.md +265 -0
  97. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/stack-source.md +368 -0
  98. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/stackitemscope-source.md +440 -0
  99. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/stackstate-source.md +325 -0
  100. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/surface-source.md +1211 -0
  101. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/titlechip-samples-source.md +101 -0
  102. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/titlechip-source.md +131 -0
  103. package/skills/android-edge-to-edge/SKILL.md +429 -0
  104. package/skills/android-engage-sdk-integration/SKILL.md +130 -0
  105. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/faq.md +439 -0
  106. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/food.md +1149 -0
  107. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/healthandfitness.md +1055 -0
  108. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/listen.md +1050 -0
  109. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/otherverticals.md +1301 -0
  110. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/read.md +910 -0
  111. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/shopping.md +1224 -0
  112. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/social.md +719 -0
  113. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/travel.md +1413 -0
  114. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/tv/continue-watching/index.md +19 -0
  115. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/tv/entitlements.md +353 -0
  116. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/tv/getting-started.md +202 -0
  117. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/tv/recommendations.md +471 -0
  118. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/watch.md +1081 -0
  119. package/skills/android-engage-sdk-integration/references/clusters.md +154 -0
  120. package/skills/android-engage-sdk-integration/references/common.md +519 -0
  121. package/skills/android-engage-sdk-integration/references/patterns.md +527 -0
  122. package/skills/android-engage-sdk-integration/references/requests.md +260 -0
  123. package/skills/android-engage-sdk-integration/references/schemas/food.md +509 -0
  124. package/skills/android-engage-sdk-integration/references/schemas/listen.md +842 -0
  125. package/skills/android-engage-sdk-integration/references/schemas/other.md +220 -0
  126. package/skills/android-engage-sdk-integration/references/schemas/read.md +412 -0
  127. package/skills/android-engage-sdk-integration/references/schemas/shopping.md +357 -0
  128. package/skills/android-engage-sdk-integration/references/schemas/social.md +228 -0
  129. package/skills/android-engage-sdk-integration/references/schemas/travel.md +923 -0
  130. package/skills/android-engage-sdk-integration/references/schemas/tv.md +1226 -0
  131. package/skills/android-engage-sdk-integration/references/schemas/watch.md +1137 -0
  132. package/skills/android-engage-sdk-integration/references/troubleshooting.md +39 -0
  133. package/skills/android-gradle-build-debug/SKILL.md +71 -0
  134. package/skills/android-intent-security/SKILL.md +550 -0
  135. package/skills/android-leanback-to-compose-tv-migration/SKILL.md +743 -0
  136. package/skills/android-leanback-to-compose-tv-migration/references/android/training/tv/get-started/navigation.md +372 -0
  137. package/skills/android-leanback-to-compose-tv-migration/references/android/training/tv/playback/compose/browse.md +243 -0
  138. package/skills/android-leanback-to-compose-tv-migration/references/android/training/tv/playback/compose/index.md +153 -0
  139. package/skills/android-media3-cast-integration/SKILL.md +236 -0
  140. package/skills/android-media3-cast-integration/references/android/media/media3/cast/create-castplayer.md +390 -0
  141. package/skills/android-media3-cast-integration/references/android/media/media3/cast/customize-castoptions.md +93 -0
  142. package/skills/android-media3-cast-integration/references/android/media/media3/cast/index.md +21 -0
  143. package/skills/android-migrate-xml-views-to-jetpack-compose/SKILL.md +127 -0
  144. package/skills/android-migrate-xml-views-to-jetpack-compose/references/analysis-of-the-project-and-layout.md +42 -0
  145. package/skills/android-migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/designsystems/migrate-xml-theme-to-compose.md +171 -0
  146. package/skills/android-migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/migrate/interoperability-apis/compose-in-views.md +299 -0
  147. package/skills/android-migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/migrate/interoperability-apis/views-in-compose.md +286 -0
  148. package/skills/android-migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/setup-compose-dependencies-and-compiler.md +197 -0
  149. package/skills/android-migrate-xml-views-to-jetpack-compose/references/identify-optimal-xml-candidate.md +31 -0
  150. package/skills/android-migrate-xml-views-to-jetpack-compose/references/xml-layout-migration.md +86 -0
  151. package/skills/android-ml-kit-genai-prompt-api/SKILL.md +124 -0
  152. package/skills/android-ml-kit-genai-prompt-api/references/get-started.md +272 -0
  153. package/skills/android-ml-kit-genai-prompt-api/references/prefix-caching.md +146 -0
  154. package/skills/android-ml-kit-genai-prompt-api/references/prompt-design.md +55 -0
  155. package/skills/android-ml-kit-genai-prompt-api/references/prompt-optimization.md +74 -0
  156. package/skills/android-ml-kit-genai-prompt-api/references/structured-output.md +219 -0
  157. package/skills/android-ml-kit-genai-prompt-api/references/system-instructions.md +71 -0
  158. package/skills/android-navigation-3/SKILL.md +122 -0
  159. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/index.md +51 -0
  160. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/migration-guide.md +670 -0
  161. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/animations.md +147 -0
  162. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/basic.md +89 -0
  163. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/basicdsl.md +85 -0
  164. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/basicsaveable.md +90 -0
  165. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/bottomsheet.md +195 -0
  166. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/common-ui.md +200 -0
  167. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/conditional-transitions.md +182 -0
  168. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/conditional.md +230 -0
  169. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-custommatcher.md +176 -0
  170. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-staticuri.md +140 -0
  171. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-syntheticbackstack.md +184 -0
  172. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/dialog.md +107 -0
  173. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/lifecycle-owner.md +185 -0
  174. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  175. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/material-supportingpane.md +145 -0
  176. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-hilt.md +283 -0
  177. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-koin.md +287 -0
  178. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/multiple-backstacks.md +468 -0
  179. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/passingarguments.md +371 -0
  180. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/results-event.md +273 -0
  181. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/results-state.md +266 -0
  182. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-listdetail.md +435 -0
  183. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-twopane.md +244 -0
  184. package/skills/android-navigation-3/references/android/guide/navigation/type-safe-destinations.md +129 -0
  185. package/skills/android-navigation-event/SKILL.md +312 -0
  186. package/skills/android-navigation-event/references/android/guide/navigation/navigation-event/dispatcher.md +134 -0
  187. package/skills/android-navigation-event/references/android/guide/navigation/navigation-event/handle-back.md +217 -0
  188. package/skills/android-navigation-event/references/android/guide/navigation/navigation-event/index.md +83 -0
  189. package/skills/android-navigation-event/references/android/guide/navigation/navigation-event/setup.md +32 -0
  190. package/skills/android-play-billing-library-version-upgrade/SKILL.md +96 -0
  191. package/skills/android-play-billing-library-version-upgrade/references/android/google/play/billing/release-notes.md +1240 -0
  192. package/skills/android-play-billing-library-version-upgrade/references/migration-logic.md +78 -0
  193. package/skills/android-play-billing-library-version-upgrade/references/version-checklist.md +54 -0
  194. package/skills/android-play-policy-insights/SKILL.md +172 -0
  195. package/skills/android-play-policy-insights/resources/common_mandates.md +100 -0
  196. package/skills/android-play-policy-insights/resources/compliance_report_template.md +59 -0
  197. package/skills/android-play-policy-insights/resources/critic.md +86 -0
  198. package/skills/android-play-policy-insights/resources/goal_data_safety.md +212 -0
  199. package/skills/android-play-policy-insights/resources/goal_permissions_and_apis.md +459 -0
  200. package/skills/android-play-policy-insights/resources/goal_user_account.md +106 -0
  201. package/skills/android-play-policy-insights/resources/policies.json +321 -0
  202. package/skills/android-play-policy-insights/resources/scanner_config.json +843 -0
  203. package/skills/android-play-policy-insights/scripts/generate_report.py +860 -0
  204. package/skills/android-play-policy-insights/scripts/orchestrator.py +1313 -0
  205. package/skills/android-play-policy-insights/scripts/play_store_scraper.py +410 -0
  206. package/skills/android-play-policy-insights/scripts/scanner.py +261 -0
  207. package/skills/android-play-policy-insights/scripts/template_engine.py +243 -0
  208. package/skills/android-profiler/SKILL.md +60 -0
  209. package/skills/android-profiler/analysis/analysis_orchestrator.md +32 -0
  210. package/skills/android-profiler/analysis/workflows/perfetto-sql/perfetto_sql.md +28 -0
  211. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/perfetto_trace_analysis.md +121 -0
  212. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/guiding_principles.md +51 -0
  213. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/domain_hints_template.md +7 -0
  214. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_cpu.md +56 -0
  215. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_graphics.md +51 -0
  216. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_io.md +46 -0
  217. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_ipc.md +41 -0
  218. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_memory.md +55 -0
  219. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_power.md +33 -0
  220. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/per_candidate_analysis.md +172 -0
  221. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/triage.md +94 -0
  222. package/skills/android-profiler/recording/recording_orchestrator.md +36 -0
  223. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/perfetto_trace_recording.md +148 -0
  224. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/app_jank.pftxt +43 -0
  225. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/cpu_profile.pftxt +35 -0
  226. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/java_heap_dump.pftxt +21 -0
  227. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/long_background.pftxt +37 -0
  228. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/memory_counters.pftxt +45 -0
  229. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/native_heap.pftxt +21 -0
  230. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/sched_cpu.pftxt +33 -0
  231. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/trace_config_reference.md +102 -0
  232. package/skills/android-profiler/references/env_setup.md +15 -0
  233. package/skills/android-profiler/references/perfetto/setup.md +29 -0
  234. package/skills/android-profiler/references/perfetto/sql.md +327 -0
  235. package/skills/android-r8-analyzer/SKILL.md +72 -0
  236. package/skills/android-r8-analyzer/references/CONFIGURATION-ANALYZER.md +287 -0
  237. package/skills/android-r8-analyzer/references/CONFIGURATION.md +44 -0
  238. package/skills/android-r8-analyzer/references/KEEP-RULES-IMPACT-HIERARCHY.md +83 -0
  239. package/skills/android-r8-analyzer/references/REDUNDANT-RULES.md +222 -0
  240. package/skills/android-r8-analyzer/references/REFLECTION-GUIDE.md +139 -0
  241. package/skills/android-r8-analyzer/references/REPORT_FORMAT.md +51 -0
  242. package/skills/android-r8-analyzer/references/android/topic/performance/app-optimization/enable-app-optimization.md +252 -0
  243. package/skills/android-r8-analyzer/references/android/training/testing/other-components/ui-automator.md +312 -0
  244. package/skills/android-restore-credentials/SKILL.md +359 -0
  245. package/skills/android-restore-credentials/references/android/guide/topics/manifest/application-element.md +832 -0
  246. package/skills/android-restore-credentials/references/android/identity/passkeys/create-passkeys.md +327 -0
  247. package/skills/android-restore-credentials/references/android/identity/passkeys/sign-in-with-passkeys.md +219 -0
  248. package/skills/android-styles/SKILL.md +229 -0
  249. package/skills/android-styles/references/android/develop/ui/compose/designsystems/custom.md +459 -0
  250. package/skills/android-styles/references/android/develop/ui/compose/styles/fundamentals.md +421 -0
  251. package/skills/android-styles/references/android/develop/ui/compose/styles/state-animations.md +461 -0
  252. package/skills/android-styles/references/android/develop/ui/compose/styles/styles-vs-modifiers.md +48 -0
  253. package/skills/android-styles/references/android/develop/ui/compose/styles/theming.md +269 -0
  254. package/skills/android-verified-email/SKILL.md +432 -0
  255. package/skills/android-verified-email/references/android/identity/credential-manager/index.md +67 -0
  256. package/skills/android-verified-email/references/android/identity/digital-credentials/credential-verifier.md +166 -0
  257. package/skills/android-verified-email/references/android/identity/digital-credentials/email-verification-implementation.md +313 -0
  258. package/skills/android-verified-email/references/android/identity/digital-credentials/email-verification.md +158 -0
  259. package/skills/android-verified-email/references/android/identity/digital-credentials/index.md +112 -0
  260. package/skills/android-verified-email/references/android/identity/passkeys/create-passkeys.md +327 -0
  261. package/skills/android-verified-email/references/android/identity/sign-in/credential-manager-webview.md +84 -0
  262. package/skills/android-wear-compose-m3/SKILL.md +365 -0
  263. package/skills/android-wear-compose-m3/references/android/training/wearables/compose/migrate-to-material3.md +677 -0
  264. package/skills/android-wear-compose-m3/references/foundation/AmbientModeSample.kt.md +123 -0
  265. package/skills/android-wear-compose-m3/references/foundation/AmbientModeSample.kt.md.txt +123 -0
  266. package/skills/android-wear-compose-m3/references/foundation/CurvedWorldSample.kt.md +430 -0
  267. package/skills/android-wear-compose-m3/references/foundation/CurvedWorldSample.kt.md.txt +430 -0
  268. package/skills/android-wear-compose-m3/references/foundation/ExpandableSample.kt.md +99 -0
  269. package/skills/android-wear-compose-m3/references/foundation/ExpandableSample.kt.md.txt +99 -0
  270. package/skills/android-wear-compose-m3/references/foundation/HierarchicalFocusSample.kt.md +141 -0
  271. package/skills/android-wear-compose-m3/references/foundation/HierarchicalFocusSample.kt.md.txt +141 -0
  272. package/skills/android-wear-compose-m3/references/foundation/PagerSamples.kt.md +56 -0
  273. package/skills/android-wear-compose-m3/references/foundation/PagerSamples.kt.md.txt +56 -0
  274. package/skills/android-wear-compose-m3/references/foundation/RotarySamples.kt.md +153 -0
  275. package/skills/android-wear-compose-m3/references/foundation/RotarySamples.kt.md.txt +153 -0
  276. package/skills/android-wear-compose-m3/references/foundation/ScalingLazyColumnSample.kt.md +131 -0
  277. package/skills/android-wear-compose-m3/references/foundation/ScalingLazyColumnSample.kt.md.txt +131 -0
  278. package/skills/android-wear-compose-m3/references/foundation/SwipeToDismissBoxSample.kt.md +169 -0
  279. package/skills/android-wear-compose-m3/references/foundation/SwipeToDismissBoxSample.kt.md.txt +169 -0
  280. package/skills/android-wear-compose-m3/references/foundation/SwipeToRevealSample.kt.md +282 -0
  281. package/skills/android-wear-compose-m3/references/foundation/SwipeToRevealSample.kt.md.txt +282 -0
  282. package/skills/android-wear-compose-m3/references/foundation/TransformingLazyColumnSample.kt.md +335 -0
  283. package/skills/android-wear-compose-m3/references/foundation/TransformingLazyColumnSample.kt.md.txt +335 -0
  284. package/skills/android-wear-compose-m3/references/material3/AlertDialogSample.kt.md +377 -0
  285. package/skills/android-wear-compose-m3/references/material3/AlertDialogSample.kt.md.txt +377 -0
  286. package/skills/android-wear-compose-m3/references/material3/AnimatedTextSample.kt.md +165 -0
  287. package/skills/android-wear-compose-m3/references/material3/AnimatedTextSample.kt.md.txt +165 -0
  288. package/skills/android-wear-compose-m3/references/material3/ButtonGroupSample.kt.md +91 -0
  289. package/skills/android-wear-compose-m3/references/material3/ButtonGroupSample.kt.md.txt +91 -0
  290. package/skills/android-wear-compose-m3/references/material3/ButtonSample.kt.md +496 -0
  291. package/skills/android-wear-compose-m3/references/material3/ButtonSample.kt.md.txt +496 -0
  292. package/skills/android-wear-compose-m3/references/material3/CardSample.kt.md +470 -0
  293. package/skills/android-wear-compose-m3/references/material3/CardSample.kt.md.txt +470 -0
  294. package/skills/android-wear-compose-m3/references/material3/CheckboxButtonSample.kt.md +67 -0
  295. package/skills/android-wear-compose-m3/references/material3/CheckboxButtonSample.kt.md.txt +67 -0
  296. package/skills/android-wear-compose-m3/references/material3/ConfirmationDialogSample.kt.md +162 -0
  297. package/skills/android-wear-compose-m3/references/material3/ConfirmationDialogSample.kt.md.txt +162 -0
  298. package/skills/android-wear-compose-m3/references/material3/CurvedTextSamples.kt.md +78 -0
  299. package/skills/android-wear-compose-m3/references/material3/CurvedTextSamples.kt.md.txt +78 -0
  300. package/skills/android-wear-compose-m3/references/material3/DatePickerSample.kt.md +131 -0
  301. package/skills/android-wear-compose-m3/references/material3/DatePickerSample.kt.md.txt +131 -0
  302. package/skills/android-wear-compose-m3/references/material3/DynamicColorSchemeSample.kt.md +74 -0
  303. package/skills/android-wear-compose-m3/references/material3/DynamicColorSchemeSample.kt.md.txt +74 -0
  304. package/skills/android-wear-compose-m3/references/material3/EdgeButtonSample.kt.md +63 -0
  305. package/skills/android-wear-compose-m3/references/material3/EdgeButtonSample.kt.md.txt +63 -0
  306. package/skills/android-wear-compose-m3/references/material3/FadingExpandingLabelSample.kt.md +60 -0
  307. package/skills/android-wear-compose-m3/references/material3/FadingExpandingLabelSample.kt.md.txt +60 -0
  308. package/skills/android-wear-compose-m3/references/material3/IconButtonSample.kt.md +125 -0
  309. package/skills/android-wear-compose-m3/references/material3/IconButtonSample.kt.md.txt +125 -0
  310. package/skills/android-wear-compose-m3/references/material3/IconToggleButtonSample.kt.md +116 -0
  311. package/skills/android-wear-compose-m3/references/material3/IconToggleButtonSample.kt.md.txt +116 -0
  312. package/skills/android-wear-compose-m3/references/material3/LevelIndicatorSample.kt.md +68 -0
  313. package/skills/android-wear-compose-m3/references/material3/LevelIndicatorSample.kt.md.txt +68 -0
  314. package/skills/android-wear-compose-m3/references/material3/LinearProgressIndicatorSample.kt.md +50 -0
  315. package/skills/android-wear-compose-m3/references/material3/LinearProgressIndicatorSample.kt.md.txt +50 -0
  316. package/skills/android-wear-compose-m3/references/material3/ListHeaderSample.kt.md +177 -0
  317. package/skills/android-wear-compose-m3/references/material3/ListHeaderSample.kt.md.txt +177 -0
  318. package/skills/android-wear-compose-m3/references/material3/OneHandedGestureSamples.kt.md +651 -0
  319. package/skills/android-wear-compose-m3/references/material3/OneHandedGestureSamples.kt.md.txt +651 -0
  320. package/skills/android-wear-compose-m3/references/material3/OpenOnPhoneDialogSample.kt.md +57 -0
  321. package/skills/android-wear-compose-m3/references/material3/OpenOnPhoneDialogSample.kt.md.txt +57 -0
  322. package/skills/android-wear-compose-m3/references/material3/PageIndicatorSample.kt.md +110 -0
  323. package/skills/android-wear-compose-m3/references/material3/PageIndicatorSample.kt.md.txt +110 -0
  324. package/skills/android-wear-compose-m3/references/material3/PagerScaffoldSample.kt.md +204 -0
  325. package/skills/android-wear-compose-m3/references/material3/PagerScaffoldSample.kt.md.txt +204 -0
  326. package/skills/android-wear-compose-m3/references/material3/PickerGroupSample.kt.md +139 -0
  327. package/skills/android-wear-compose-m3/references/material3/PickerGroupSample.kt.md.txt +139 -0
  328. package/skills/android-wear-compose-m3/references/material3/PickerSample.kt.md +111 -0
  329. package/skills/android-wear-compose-m3/references/material3/PickerSample.kt.md.txt +111 -0
  330. package/skills/android-wear-compose-m3/references/material3/PlaceholderSample.kt.md +184 -0
  331. package/skills/android-wear-compose-m3/references/material3/PlaceholderSample.kt.md.txt +184 -0
  332. package/skills/android-wear-compose-m3/references/material3/ProgressIndicatorSample.kt.md +263 -0
  333. package/skills/android-wear-compose-m3/references/material3/ProgressIndicatorSample.kt.md.txt +263 -0
  334. package/skills/android-wear-compose-m3/references/material3/RadioButtonSample.kt.md +105 -0
  335. package/skills/android-wear-compose-m3/references/material3/RadioButtonSample.kt.md.txt +105 -0
  336. package/skills/android-wear-compose-m3/references/material3/ScaffoldSample.kt.md +146 -0
  337. package/skills/android-wear-compose-m3/references/material3/ScaffoldSample.kt.md.txt +146 -0
  338. package/skills/android-wear-compose-m3/references/material3/ScrollAwaySample.kt.md +97 -0
  339. package/skills/android-wear-compose-m3/references/material3/ScrollAwaySample.kt.md.txt +97 -0
  340. package/skills/android-wear-compose-m3/references/material3/ScrollIndicatorSample.kt.md +66 -0
  341. package/skills/android-wear-compose-m3/references/material3/ScrollIndicatorSample.kt.md.txt +66 -0
  342. package/skills/android-wear-compose-m3/references/material3/SliderSample.kt.md +86 -0
  343. package/skills/android-wear-compose-m3/references/material3/SliderSample.kt.md.txt +86 -0
  344. package/skills/android-wear-compose-m3/references/material3/StepperSample.kt.md +148 -0
  345. package/skills/android-wear-compose-m3/references/material3/StepperSample.kt.md.txt +148 -0
  346. package/skills/android-wear-compose-m3/references/material3/SurfaceTransformationSample.kt.md +166 -0
  347. package/skills/android-wear-compose-m3/references/material3/SurfaceTransformationSample.kt.md.txt +166 -0
  348. package/skills/android-wear-compose-m3/references/material3/SwipeToDismissBoxSample.kt.md +172 -0
  349. package/skills/android-wear-compose-m3/references/material3/SwipeToDismissBoxSample.kt.md.txt +172 -0
  350. package/skills/android-wear-compose-m3/references/material3/SwipeToRevealSample.kt.md +367 -0
  351. package/skills/android-wear-compose-m3/references/material3/SwipeToRevealSample.kt.md.txt +367 -0
  352. package/skills/android-wear-compose-m3/references/material3/SwitchButtonSample.kt.md +66 -0
  353. package/skills/android-wear-compose-m3/references/material3/SwitchButtonSample.kt.md.txt +66 -0
  354. package/skills/android-wear-compose-m3/references/material3/TextButtonSample.kt.md +115 -0
  355. package/skills/android-wear-compose-m3/references/material3/TextButtonSample.kt.md.txt +115 -0
  356. package/skills/android-wear-compose-m3/references/material3/TextToggleButtonSample.kt.md +71 -0
  357. package/skills/android-wear-compose-m3/references/material3/TextToggleButtonSample.kt.md.txt +71 -0
  358. package/skills/android-wear-compose-m3/references/material3/TimePickerSample.kt.md +151 -0
  359. package/skills/android-wear-compose-m3/references/material3/TimePickerSample.kt.md.txt +151 -0
  360. package/skills/android-wear-compose-m3/references/material3/TimeTextSample.kt.md +65 -0
  361. package/skills/android-wear-compose-m3/references/material3/TimeTextSample.kt.md.txt +65 -0
  362. package/skills/android-wear-compose-m3/references/material3/TransformationSpecSample.kt.md +246 -0
  363. package/skills/android-wear-compose-m3/references/material3/TransformationSpecSample.kt.md.txt +246 -0
  364. package/skills/android-wear-compose-m3/references/material3/TransformingLazyColumnNotificationsSample.kt.md +89 -0
  365. package/skills/android-wear-compose-m3/references/material3/TransformingLazyColumnNotificationsSample.kt.md.txt +89 -0
  366. package/skills/android-wear-compose-m3/references/material3/TransformingLazyColumnSample.kt.md +309 -0
  367. package/skills/android-wear-compose-m3/references/material3/TransformingLazyColumnSample.kt.md.txt +309 -0
  368. package/skills/android-wear-compose-m3/references/navigation3/SwipeDismissableSceneStrategySample.kt.md +205 -0
  369. package/skills/android-wear-compose-m3/references/navigation3/SwipeDismissableSceneStrategySample.kt.md.txt +205 -0
  370. package/skills/{architecture-feature-first → flutter-architecture-feature-first}/SKILL.md +1 -1
  371. package/skills/{bloc → flutter-bloc}/SKILL.md +1 -1
  372. package/skills/flutter-build-debug/SKILL.md +66 -0
  373. package/skills/{code-review → flutter-code-review}/SKILL.md +1 -1
  374. package/skills/{dart-3-updates → flutter-dart-3-updates}/SKILL.md +1 -1
  375. package/skills/{dart-fix-runtime-errors → flutter-dart-fix-runtime-errors}/SKILL.md +1 -1
  376. package/skills/{dart-resolve-package-conflicts → flutter-dart-resolve-package-conflicts}/SKILL.md +1 -1
  377. package/skills/{dart-run-static-analysis → flutter-dart-run-static-analysis}/SKILL.md +1 -1
  378. package/skills/{dart-use-pattern-matching → flutter-dart-use-pattern-matching}/SKILL.md +1 -1
  379. package/skills/{effective-dart → flutter-effective-dart}/SKILL.md +1 -1
  380. package/skills/{provider → flutter-provider}/SKILL.md +1 -1
  381. package/skills/{riverpod → flutter-riverpod}/SKILL.md +1 -1
  382. package/skills/ios-cocoapods-debug/SKILL.md +65 -0
  383. package/skills/ios-code-review/SKILL.md +56 -0
  384. package/skills/ios-xcode-build-debug/SKILL.md +66 -0
  385. package/skills/{detect-mobile-stack → mobile-detect-stack}/SKILL.md +1 -1
  386. package/skills/mobile-firebase/SKILL.md +54 -0
  387. package/skills/mobile-firebase/references/android/ai-logic.md +31 -0
  388. package/skills/mobile-firebase/references/android/analytics.md +33 -0
  389. package/skills/mobile-firebase/references/android/app-check.md +36 -0
  390. package/skills/mobile-firebase/references/android/auth.md +44 -0
  391. package/skills/mobile-firebase/references/android/crashlytics.md +31 -0
  392. package/skills/mobile-firebase/references/android/firestore.md +44 -0
  393. package/skills/mobile-firebase/references/android/functions.md +33 -0
  394. package/skills/mobile-firebase/references/android/in-app-messaging.md +28 -0
  395. package/skills/mobile-firebase/references/android/messaging.md +41 -0
  396. package/skills/mobile-firebase/references/android/realtime-database.md +50 -0
  397. package/skills/mobile-firebase/references/android/remote-config.md +43 -0
  398. package/skills/mobile-firebase/references/android/sql-connect.md +31 -0
  399. package/skills/mobile-firebase/references/android/storage.md +39 -0
  400. package/skills/mobile-firebase/references/android.md +30 -0
  401. package/skills/{firebase-ai/SKILL.md → mobile-firebase/references/flutter/ai-logic.md} +2 -8
  402. package/skills/{firebase-analytics/SKILL.md → mobile-firebase/references/flutter/analytics.md} +2 -8
  403. package/skills/{firebase-app-check/SKILL.md → mobile-firebase/references/flutter/app-check.md} +2 -8
  404. package/skills/{firebase-auth/SKILL.md → mobile-firebase/references/flutter/auth.md} +2 -8
  405. package/skills/{firebase-crashlytics/SKILL.md → mobile-firebase/references/flutter/crashlytics.md} +2 -8
  406. package/skills/{firebase-cloud-firestore/SKILL.md → mobile-firebase/references/flutter/firestore.md} +2 -8
  407. package/skills/{firebase-cloud-functions/SKILL.md → mobile-firebase/references/flutter/functions.md} +2 -8
  408. package/skills/{firebase-in-app-messaging/SKILL.md → mobile-firebase/references/flutter/in-app-messaging.md} +2 -8
  409. package/skills/{firebase-messaging/SKILL.md → mobile-firebase/references/flutter/messaging.md} +2 -8
  410. package/skills/{firebase-database/SKILL.md → mobile-firebase/references/flutter/realtime-database.md} +2 -8
  411. package/skills/{firebase-remote-config/SKILL.md → mobile-firebase/references/flutter/remote-config.md} +2 -8
  412. package/skills/{flutterfire-configure/SKILL.md → mobile-firebase/references/flutter/setup-flutterfire.md} +1 -8
  413. package/skills/{firebase-data-connect/SKILL.md → mobile-firebase/references/flutter/sql-connect.md} +2 -8
  414. package/skills/{firebase-storage/SKILL.md → mobile-firebase/references/flutter/storage.md} +2 -8
  415. package/skills/mobile-firebase/references/flutter.md +36 -0
  416. package/skills/mobile-firebase/references/ios/ai-logic.md +30 -0
  417. package/skills/mobile-firebase/references/ios/analytics.md +33 -0
  418. package/skills/mobile-firebase/references/ios/app-check.md +36 -0
  419. package/skills/mobile-firebase/references/ios/auth.md +48 -0
  420. package/skills/mobile-firebase/references/ios/crashlytics.md +34 -0
  421. package/skills/mobile-firebase/references/ios/firestore.md +53 -0
  422. package/skills/mobile-firebase/references/ios/functions.md +35 -0
  423. package/skills/mobile-firebase/references/ios/in-app-messaging.md +26 -0
  424. package/skills/mobile-firebase/references/ios/messaging.md +45 -0
  425. package/skills/mobile-firebase/references/ios/realtime-database.md +49 -0
  426. package/skills/mobile-firebase/references/ios/remote-config.md +44 -0
  427. package/skills/mobile-firebase/references/ios/sql-connect.md +33 -0
  428. package/skills/mobile-firebase/references/ios/storage.md +36 -0
  429. package/skills/mobile-firebase/references/ios.md +28 -0
  430. package/skills/mobile-firebase/references/react-native/ai-logic.md +32 -0
  431. package/skills/mobile-firebase/references/react-native/analytics.md +43 -0
  432. package/skills/mobile-firebase/references/react-native/app-check.md +35 -0
  433. package/skills/mobile-firebase/references/react-native/auth.md +50 -0
  434. package/skills/mobile-firebase/references/react-native/crashlytics.md +36 -0
  435. package/skills/mobile-firebase/references/react-native/firestore.md +45 -0
  436. package/skills/mobile-firebase/references/react-native/functions.md +28 -0
  437. package/skills/mobile-firebase/references/react-native/in-app-messaging.md +27 -0
  438. package/skills/mobile-firebase/references/react-native/messaging.md +46 -0
  439. package/skills/mobile-firebase/references/react-native/realtime-database.md +46 -0
  440. package/skills/mobile-firebase/references/react-native/remote-config.md +32 -0
  441. package/skills/mobile-firebase/references/react-native/sql-connect.md +11 -0
  442. package/skills/mobile-firebase/references/react-native/storage.md +30 -0
  443. package/skills/mobile-firebase/references/react-native.md +29 -0
  444. package/skills/mobile-test/SKILL.md +63 -0
  445. package/skills/mobile-test/references/android/setup/GUIDE.md +183 -0
  446. package/skills/mobile-test/references/android/setup/references/android/develop/ui/compose/testing/common-patterns.md +181 -0
  447. package/skills/mobile-test/references/android/setup/references/android/studio/preview/compose-screenshot-testing.md +255 -0
  448. package/skills/mobile-test/references/android/setup/references/android/training/dependency-injection/hilt-testing.md +447 -0
  449. package/skills/mobile-test/references/android.md +83 -0
  450. package/skills/{dart-collect-coverage/SKILL.md → mobile-test/references/flutter/coverage.md} +2 -11
  451. package/skills/{dart-generate-test-mocks/SKILL.md → mobile-test/references/flutter/generate-mocks.md} +2 -11
  452. package/skills/{flutter-add-integration-test/SKILL.md → mobile-test/references/flutter/integration-tests.md} +2 -11
  453. package/skills/{dart-migrate-to-checks-package/SKILL.md → mobile-test/references/flutter/migrate-to-checks.md} +2 -13
  454. package/skills/{mockito/SKILL.md → mobile-test/references/flutter/mockito.md} +1 -8
  455. package/skills/{mocktail/SKILL.md → mobile-test/references/flutter/mocktail.md} +1 -8
  456. package/skills/{patrol-e2e-testing/SKILL.md → mobile-test/references/flutter/patrol.md} +1 -8
  457. package/skills/{testing/SKILL.md → mobile-test/references/flutter/testing-guidelines.md} +1 -8
  458. package/skills/{dart-add-unit-test/SKILL.md → mobile-test/references/flutter/unit-tests.md} +2 -11
  459. package/skills/{flutter-add-widget-test/SKILL.md → mobile-test/references/flutter/widget-tests.md} +2 -11
  460. package/skills/mobile-test/references/flutter.md +44 -0
  461. package/skills/mobile-test/references/ios.md +79 -0
  462. package/skills/mobile-test/references/react-native.md +62 -0
  463. /package/skills/{dart-use-pattern-matching → flutter-dart-use-pattern-matching}/examples/json_patterns.dart +0 -0
@@ -0,0 +1,474 @@
1
+ ---
2
+ name: android-cli
3
+ description: Provides instructions for installing and using the `android` CLI. The
4
+ `android` command-line tool is a critical tool for Android development and helps
5
+ you create new Android projects, run Android apps on devices, manage and interact
6
+ with Android virtual devices (including screenshots and UI inspection), manage Android
7
+ SDK components, look up official Android documentation, and discover and install
8
+ official Android skills.
9
+ license: Apache-2.0
10
+ source: https://github.com/android/skills
11
+ routing: manual
12
+ stacks: [android]
13
+ metadata:
14
+ author: Google LLC
15
+ last-updated: '2026-09-12'
16
+ keywords:
17
+ - android-cli
18
+ - sdk
19
+ - emulator
20
+ - skills
21
+ - docs
22
+ - knowledge base
23
+ - project creation
24
+ - screenshots
25
+ ---
26
+
27
+ This skill provides instructions for using the `android` CLI tool. The tool
28
+ includes various commands for creating projects, running applications,
29
+ interacting with devices, and managing the CLI environment.
30
+
31
+ ## Installation
32
+
33
+ If the android tool is not in the path, install it. To install run the following
34
+ command:
35
+
36
+ - Linux: curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh \| bash
37
+ - Mac Arm: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh \| bash
38
+ - Mac Intel: curl -fsSL https://dl.google.com/android/cli/latest/darwin_x86_64/install.sh \| bash
39
+ - Windows: curl -fsSL https://dl.google.com/android/cli/latest/windows_x86_64/install.cmd -o "%TEMP%\\i.cmd" \&\& "%TEMP%\\i.cmd"
40
+
41
+ ## SDK management
42
+
43
+ To manage the installation of Android SDKs and tools, use the `sdk` command.
44
+ For example:
45
+
46
+ - `android sdk install <package>[@<version>]...`: Install specific packages. Multiple packages can be specified, separated by spaces. `<version>` defaults to latest. For example: `android sdk install platforms/android-30@2
47
+ platforms/android-34`
48
+ - `android sdk update [<pkg-name>]`: Update a specific package or all packages to the latest version.
49
+ - `android sdk remove <pkg-name>`: Remove a package from the local SDK.
50
+ - `android sdk list --all`: List installed and available SDK packages.
51
+
52
+ ## Project creation
53
+
54
+ Create projects from templates using the `create` command.
55
+
56
+ For example: `android create empty-activity --name="My App" --output=./my-app`
57
+
58
+ ## Interacting with Android devices
59
+
60
+ Use the `android layout` command to inspect the UI layout of an Android
61
+ application in JSON format. Use the `android screen` command to visually inspect
62
+ the UI and obtain bounding coordinates for visual regions.
63
+
64
+ **IMPORTANT:** Before using `android layout` or `android screen`, you MUST read
65
+ this reference: [interact.md](references/interact.md) The reference file
66
+ [interact.md](references/interact.md) contains instructions for properly
67
+ interacting with Android devices. Follow its instructions exactly.
68
+
69
+ ### Running journey tests
70
+
71
+ Journey tests involve device interaction; use the `android layout` and `android
72
+ screen` commands to evaluate Journeys. The instructions for device interaction
73
+ apply here as well.
74
+
75
+ **IMPORTANT:** Before evaluating a journey, you MUST read this reference:
76
+ [journeys.md](references/journeys.md) The reference file
77
+ [journeys.md](references/journeys.md) contains instructions for correctly
78
+ evaluating an Android journey. Follow its instructions exactly.
79
+
80
+ ## Doc searching
81
+
82
+ The `docs` command searches authoritative, high-quality Android developer
83
+ documentation in the Android Knowledge Base. By providing a few keywords, this
84
+ tool will return high quality articles that contain examples or guidance on how
85
+ to use Android APIs or libraries. Use this tool to obtain additional information
86
+ on how to achieve Android-specific tasks or to know more about Android APIs,
87
+ surfaces, libraries, or devices.
88
+
89
+ Always use this tool to get the most up-to-date information about Android
90
+ concepts. Typical good use cases are:
91
+ - Finding migration guides for APIs.
92
+ - Finding examples for APIs.
93
+ - Finding up-to-date information about Android APIs.
94
+ - Finding best practices for Android concepts.
95
+
96
+ ## Running APKs
97
+
98
+ Use the `run` command to run Android apps.
99
+
100
+ ## Managing emulators
101
+
102
+ Manage Android Virtual Devices (AVDs) using the `android emulator` command
103
+
104
+ ## Capturing screenshots
105
+
106
+ Capture an image of the current screen of a connected Android device and output
107
+ it to a file using the `android screen` command.
108
+
109
+ ## Managing skills
110
+
111
+ Manage agent skills for Android using the `android skills` command.
112
+
113
+ ## Updating the CLI
114
+
115
+ Update the Android CLI using the `android update` command.
116
+
117
+ ## `android help` output
118
+
119
+ Usage: android [-Vhv] [--sdk=PARAM] [COMMAND]
120
+ -h, --help Show the help message for this command
121
+ --sdk=PARAM Path to the Android SDK
122
+ -v, --verbose Enable verbose output for troubleshooting
123
+ -V, --version Print version information and exit
124
+ Commands:
125
+ completion Installs shell autocomplete configuration for the Android CLI in
126
+ the current user profile
127
+ create Create a new Android project from available templates. Allows
128
+ specifying project name, output directory, minSdk, and dry-run
129
+ execution
130
+ describe Analyzes an Android project to generate descriptive metadata. This
131
+ command identifies and outputs the paths to JSON files that detail
132
+ the project's structure, including build targets and their
133
+ corresponding output artifact locations (e.g., APKs). This
134
+ information enables other tools and commands to locate build
135
+ artifacts efficiently
136
+ docs Android documentation commands for searching and fetching
137
+ developer documentation from the official knowledge base
138
+ emulator Manage Android Virtual Devices (AVDs). Includes commands to start,
139
+ stop, list, and view details about emulators
140
+ help Shows the help of all commands
141
+ info Print environment information including SDK location, connected
142
+ devices, and configuration variables. Use specific fields to
143
+ narrow the output
144
+ init Initializes the environment for the Android CLI. Sets up required
145
+ configurations, directories, and default skills
146
+ install Install an Android Application (one or more APKs) to a connected
147
+ device or emulator without activating any components using
148
+ incremental optimizations for faster deployment than adb
149
+ layout Returns the layout tree of an application
150
+ run Build, deploy, and launch an Android application on a connected
151
+ device or emulator
152
+ screen Commands to view the device
153
+ sdk Manage the Android SDK installation. Includes commands to install,
154
+ update, remove, and list available and installed SDK packages
155
+ skills Manage Android CLI skills. Includes commands to install, remove,
156
+ list, and search for skills by keyword
157
+ studio Android Studio commands
158
+ update Update the Android CLI to the latest version
159
+
160
+ completion
161
+ Usage: android completion [-h] [<shell>]
162
+ Installs shell autocomplete configuration for the Android CLI in the
163
+ current user profile
164
+
165
+ Options:
166
+ -h, --help Show the help message for this command
167
+
168
+ android options:
169
+ --sdk=PARAM Path to the Android SDK
170
+ -v, --verbose Enable verbose output for troubleshooting
171
+ -V, --version Print version information and exit
172
+
173
+ Positional Parameters:
174
+ <shell> If provided, print the given shell completion without
175
+ installing. Supported: bash, zsh
176
+
177
+ create
178
+ Usage: android create [-h] [--applicationId=PARAM] [--list] [--minSdk=PARAM]
179
+ [--name=PARAM] [--namespace=PARAM] [--output=PARAM]
180
+ [<template-name>]
181
+ Create a new Android project from available templates. Allows
182
+ specifying project name, output directory, minSdk, and dry-run
183
+ execution
184
+
185
+ Options:
186
+ --applicationId=PARAM The application ID for the application
187
+ (e.g. 'com.example.myapp')
188
+ -h, --help Show the help message for this command
189
+ --list List all available templates
190
+ --minSdk=PARAM The 'minSdk' supported by the application
191
+ (default is defined in the template)
192
+ --name=PARAM The name of the application (e.g. 'My
193
+ Application')
194
+ --namespace=PARAM The namespace for resources and package
195
+ name for Kotlin source files
196
+ -o, --output=PARAM The destination project directory path
197
+ (default is '.')
198
+
199
+ android options:
200
+ --sdk=PARAM Path to the Android SDK
201
+ -v, --verbose Enable verbose output for troubleshooting
202
+ -V, --version Print version information and exit
203
+
204
+ Positional Parameters:
205
+ <template-name> The template name
206
+
207
+ describe
208
+ Usage: android describe [-h] [--project_dir=PARAM]
209
+ Analyzes an Android project to generate descriptive metadata. This
210
+ command identifies and outputs the paths to JSON files that detail the
211
+ project's structure, including build targets and their corresponding
212
+ output artifact locations (e.g., APKs). This information enables other
213
+ tools and commands to locate build artifacts efficiently
214
+
215
+ Options:
216
+ -h, --help Show the help message for this command
217
+ --project_dir=PARAM The project directory to describe
218
+
219
+ android options:
220
+ --sdk=PARAM Path to the Android SDK
221
+ -v, --verbose Enable verbose output for troubleshooting
222
+ -V, --version Print version information and exit
223
+
224
+ docs
225
+ Usage: android docs [-h] [COMMAND]
226
+ Android documentation commands for searching and fetching developer
227
+ documentation from the official knowledge base
228
+
229
+ Options:
230
+ -h, --help Show the help message for this command
231
+
232
+ android options:
233
+ --sdk=PARAM Path to the Android SDK
234
+ -v, --verbose Enable verbose output for troubleshooting
235
+ -V, --version Print version information and exit
236
+ Commands:
237
+ search Search Android documentation. Enclose keywords in quotes
238
+ fetch Fetch an Android documentation article from a URL (kb://...)
239
+
240
+ emulator
241
+ Usage: android emulator [-h] [COMMAND]
242
+ Manage Android Virtual Devices (AVDs). Includes commands to start,
243
+ stop, list, and view details about emulators
244
+
245
+ Options:
246
+ -h, --help Show the help message for this command
247
+
248
+ android options:
249
+ --sdk=PARAM Path to the Android SDK
250
+ -v, --verbose Enable verbose output for troubleshooting
251
+ -V, --version Print version information and exit
252
+ Commands:
253
+ create Creates a virtual device
254
+ start Launches the specified virtual device. This command will
255
+ return when the emulator is fully started and ready to use
256
+ stop Stops the specified virtual device
257
+ list Lists available virtual devices
258
+ remove Delete a virtual device
259
+
260
+ help
261
+ Usage: android help [-h] [COMMAND]
262
+ Shows the help of all commands
263
+
264
+ Options:
265
+ -h, --help Show the help message for this command
266
+
267
+ android options:
268
+ --sdk=PARAM Path to the Android SDK
269
+ -v, --verbose Enable verbose output for troubleshooting
270
+ -V, --version Print version information and exit
271
+
272
+ Positional Parameters:
273
+ COMMAND The command to show help for
274
+
275
+ info
276
+ Usage: android info [-h] [<field>]
277
+ Print environment information including SDK location, connected
278
+ devices, and configuration variables. Use specific fields to narrow
279
+ the output
280
+
281
+ Options:
282
+ -h, --help Show the help message for this command
283
+
284
+ android options:
285
+ --sdk=PARAM Path to the Android SDK
286
+ -v, --verbose Enable verbose output for troubleshooting
287
+ -V, --version Print version information and exit
288
+
289
+ Positional Parameters:
290
+ <field> The specific field to print the value of. If omitted print
291
+ all
292
+
293
+ init
294
+ Usage: android init [-h]
295
+ Initializes the environment for the Android CLI. Sets up required
296
+ configurations, directories, and default skills
297
+
298
+ Options:
299
+ -h, --help Show the help message for this command
300
+
301
+ android options:
302
+ --sdk=PARAM Path to the Android SDK
303
+ -v, --verbose Enable verbose output for troubleshooting
304
+ -V, --version Print version information and exit
305
+
306
+ install
307
+ Usage: android install [-h] [--apks=PARAM] [--device=PARAM] [--install-options=PARAM]
308
+ [--use-delta-install]
309
+ Install an Android Application (one or more APKs) to a connected
310
+ device or emulator without activating any components using incremental
311
+ optimizations for faster deployment than adb
312
+
313
+ Options:
314
+ --apks=PARAM The paths to the APKs, comma separated
315
+ --device=PARAM The device serial number
316
+ -h, --help Show the help message for this command
317
+ --install-options=PARAM Additional options/flags to pass to
318
+ package manager install (e.g. -g,-d)
319
+ --use-delta-install Use fast delta install (speeds up
320
+ incremental updates by transferring
321
+ only modified code and resources;
322
+ default: true)
323
+
324
+ android options:
325
+ --sdk=PARAM Path to the Android SDK
326
+ -v, --verbose Enable verbose output for
327
+ troubleshooting
328
+ -V, --version Print version information and exit
329
+
330
+ layout
331
+ Usage: android layout [-dhp] [--device=PARAM] [--flat] [--full] [--no-idle]
332
+ [--output=PARAM]
333
+ Returns the layout tree of an application
334
+
335
+ Options:
336
+ --device=PARAM The device serial number
337
+ -d, --diff Deprecated; no-op flag. Will be removed in a
338
+ future release
339
+ --flat Returns a flat list instead of a tree
340
+ --full Return the full tree, including non-interactive
341
+ and hidden elements
342
+ -h, --help Show the help message for this command
343
+ --no-idle Don't wait for layout idle state when fetching
344
+ layout
345
+ -o, --output=PARAM Writes the layout to the specified file or
346
+ directory. If omitted, prints to standard output
347
+ -p, --pretty Pretty-prints the returned JSON
348
+
349
+ android options:
350
+ --sdk=PARAM Path to the Android SDK
351
+ -v, --verbose Enable verbose output for troubleshooting
352
+ -V, --version Print version information and exit
353
+
354
+ run
355
+ Usage: android run [-h] [--activity=PARAM] [--apks=PARAM] [--debug] [--device=PARAM]
356
+ [--install-options=PARAM] [--type=PARAM] [--use-delta-install]
357
+ Build, deploy, and launch an Android application on a connected device
358
+ or emulator
359
+
360
+ Options:
361
+ --activity=PARAM The activity name
362
+ --apks=PARAM The paths to the APKs, comma separated
363
+ --debug Run in debug mode
364
+ --device=PARAM The device serial number
365
+ -h, --help Show the help message for this command
366
+ --install-options=PARAM Additional options/flags to pass to
367
+ package manager install (e.g. -g,-d)
368
+ --type=PARAM The component type (ACTIVITY,
369
+ WATCH_FACE, TILE, COMPLICATION,
370
+ DECLARATIVE_WATCH_FACE, WEAR_WIDGET)
371
+ --use-delta-install Use fast delta install (speeds up
372
+ incremental updates by transferring
373
+ only modified code and resources;
374
+ default: true)
375
+
376
+ android options:
377
+ --sdk=PARAM Path to the Android SDK
378
+ -v, --verbose Enable verbose output for
379
+ troubleshooting
380
+ -V, --version Print version information and exit
381
+
382
+ screen
383
+ Usage: android screen [-h] [COMMAND]
384
+ Commands to view the device
385
+
386
+ Options:
387
+ -h, --help Show the help message for this command
388
+
389
+ android options:
390
+ --sdk=PARAM Path to the Android SDK
391
+ -v, --verbose Enable verbose output for troubleshooting
392
+ -V, --version Print version information and exit
393
+ Commands:
394
+ capture Outputs the device screen to a PNG
395
+ resolve Target UI elements visually. Substitutes bounding box
396
+ coordinates from a annotated screenshot into a string.
397
+ Replaces all instances of '#N' with the center coordinates
398
+ of the bounding box labeled 'N'
399
+
400
+ sdk
401
+ Usage: android sdk [-h] [--platform=PARAM] [COMMAND]
402
+ Manage the Android SDK installation. Includes commands to install,
403
+ update, remove, and list available and installed SDK packages
404
+
405
+ Options:
406
+ -h, --help Show the help message for this command
407
+ --platform=PARAM Target platform <os>_<arch> (e.g.
408
+ linux_x86_64, mac_arm64, windows_x86),
409
+ defaults to current host
410
+
411
+ android options:
412
+ --sdk=PARAM Path to the Android SDK
413
+ -v, --verbose Enable verbose output for troubleshooting
414
+ -V, --version Print version information and exit
415
+ Commands:
416
+ install Install SDK packages
417
+ update Update one or all packages to the latest version
418
+ remove Remove packages from the SDK
419
+ list List installed and available SDK packages
420
+
421
+ skills
422
+ Usage: android skills [-h] [COMMAND]
423
+ Manage Android CLI skills. Includes commands to install, remove, list,
424
+ and search for skills by keyword
425
+
426
+ Options:
427
+ -h, --help Show the help message for this command
428
+
429
+ android options:
430
+ --sdk=PARAM Path to the Android SDK
431
+ -v, --verbose Enable verbose output for troubleshooting
432
+ -V, --version Print version information and exit
433
+ Commands:
434
+ add Install a specific skill by its ID to your environment
435
+ remove Remove an installed skill by its ID
436
+ list List installed and available skills
437
+ find Search for available skills in the repository matching a
438
+ keyword
439
+ update Update installed skills
440
+
441
+ studio
442
+ Usage: android studio [-h] [COMMAND]
443
+ Android Studio commands
444
+
445
+ Options:
446
+ -h, --help Show the help message for this command
447
+
448
+ android options:
449
+ --sdk=PARAM Path to the Android SDK
450
+ -v, --verbose Enable verbose output for troubleshooting
451
+ -V, --version Print version information and exit
452
+ Commands:
453
+ find-declaration Find declaration of a symbol
454
+ find-usages Find usages of a symbol
455
+ open-file Open a file in Android Studio
456
+ check Check the status of running Studio instances
457
+ analyze-file Analyze a file in Android Studio
458
+ render-compose-preview Render a Compose preview in Android Studio
459
+ version-lookup Looks up the latest available versions on
460
+ the internet of maven artifacts, Android
461
+ versions, and more
462
+
463
+ update
464
+ Usage: android update [-h] [--url=PARAM]
465
+ Update the Android CLI to the latest version
466
+
467
+ Options:
468
+ -h, --help Show the help message for this command
469
+ --url=PARAM The URL to download the update from
470
+
471
+ android options:
472
+ --sdk=PARAM Path to the Android SDK
473
+ -v, --verbose Enable verbose output for troubleshooting
474
+ -V, --version Print version information and exit
@@ -0,0 +1,113 @@
1
+ Run `android layout --help` and `android screen --help`.
2
+
3
+ ## UI Dump
4
+
5
+ `android layout` returns a flat JSON list of the UI elements on screen. `android
6
+ layout --diff` returns a flat JSON list of the UI elements that have changed
7
+ since the last call to `layout` or `layout --diff`
8
+
9
+ Each JSON object represents a UI element in the Android app. The following
10
+ properties may be present:
11
+
12
+ - `text` - any literal text the element contains
13
+ - `resourceId` - the Android resource id used to refer to the element
14
+ - `contentDesc` - a description of a UI element for use by accessibility tools
15
+ - `interactions` - the set of user interactions the element supports. May contain one or more of: `checkable`, `clickable`, `focusable`, `scrollable`, `long-clickable`, `password`
16
+ - `state` - the set of states the element is in. May contain one or more of `checked`, `focused`, `selected`
17
+ - `bounds` - the screen coordinates of the bounding rectangle of the element, in the format `[min X,min Y][max X, max Y]`
18
+ - `center` - the screen coordinates of the center of the element, in the format `[x,y]`
19
+ - `off-screen` - if true, the element is in the UI hierarchy but not visible; it may require scrolling to view.
20
+
21
+ Use `layout` as a primary means of examining an Android app. Use `layout --diff`
22
+ to focus on changes and to keep your context small. Example: When entering
23
+ digits into a calculator, use `layout --diff` to output only the digit readout
24
+ element.
25
+
26
+ `layout` may fail due to the app displaying a WebView or animation; in these
27
+ cases, use `android screen capture --annotate` to inspect the app. This failure
28
+ will likely resolve after navigating away from the current screen.
29
+
30
+ ## Screenshot
31
+
32
+ `android screen capture -o <file path>` saves a PNG of the current device screen
33
+ to `<file path>`
34
+
35
+ Use `screen capture` as a secondary means of examining an Android app
36
+ Examples:
37
+
38
+ - Understanding the content of an on-screen image
39
+ - Looking at a `WebView` (web content does not always appear in the ui dump)
40
+ - Trying to find a UI element by its visual appearance
41
+
42
+ **IMPORTANT** : Always *VISUALLY* examine the PNG image returned from `android
43
+ screen` BEFORE doing anything else.
44
+
45
+ ## Annotated Screenshot
46
+
47
+ `android screen capture --annotate -o <file path>`
48
+ `android screen resolve --screen <path> --string <string>`
49
+
50
+ The `--annotate` command adds numerical labels and bounding boxes around UI
51
+ elements. Use this command to locate UI elements that cannot be located in the
52
+ `layout` output.
53
+
54
+ **IMPORTANT** : When using `android screen --annotate`, always *VISUALLY* examine
55
+ the resulting PNG file.
56
+
57
+ To refer to these labels in input commands, use `screen resolve` to convert
58
+ labels into coordinates:
59
+
60
+ `android screen resolve --screen <file path> --string "#3"` returns `<x coord of
61
+ region 3> <y coord of region 3>`
62
+
63
+ To save turns, you can combine shell commands:
64
+
65
+ `adb shell input $(android screen resolve --screen screen.png --string "tap #34")`
66
+
67
+ This command taps on region #34 from `screen.png`
68
+
69
+ ## Input
70
+
71
+ Use `adb shell input` for interacting with Android devices. Refer to the
72
+ `"interactions"` property of an element for what interactions can be performed
73
+ on a particular element.
74
+
75
+ Interact with UI elements with their `center` coordinate or their `bounds`
76
+ coordinates:
77
+ `json
78
+ {
79
+ "key": -248568265,
80
+ "class": "android.widget.Button",
81
+ "bounds": "[138,9][167,38]",
82
+ "center": "[152,23]"
83
+ }`
84
+
85
+ To tap on this button, you would execute `adb shell input tap 152 23`. This taps
86
+ the center.
87
+
88
+ {
89
+ "key": 12487234,
90
+ "class": "com.example.ui.ScrollableList",
91
+ "bounds": "[100,200][400,600]",
92
+ "center": "[250,400]"
93
+ }
94
+
95
+ To scroll down on this list, you would execute `adb shell input swipe 250 400
96
+ 250 200 500`. This swipes from the center to the top over 500ms.
97
+
98
+ ### Text Input
99
+
100
+ To enter text, ensure the field is focused and execute `adb shell input text
101
+ "<text>"`.
102
+
103
+ - **Spaces (`%s`):** Replace spaces with `%s` (Android ignores text after raw spaces): `adb shell input text "Hello%sworld"` (enters `"Hello world"`).
104
+ - **Special characters:** Escape shell metacharacters (`&`, `$`, `(`, `)`, `!`): `adb shell input text "AT\&T"` or `adb shell input text 'Price:\$10'`.
105
+ - **Submit / Enter:** `adb shell input keyevent 66`
106
+
107
+ ## Android Interaction Rules
108
+
109
+ 1. Always ensure text input fields have `"focused"` in their `"state"` list before entering text.
110
+ 2. If an element has `"scrollable"` in its `"interactions"` list, try scrolling it when looking for missing UI elements.
111
+ 3. Always scroll slowly when executing scroll inputs. The 5th argument to `adb
112
+ shell input swipe` controls scroll duration.
113
+ 4. Content may take time to load; if a `layout` is missing information after you take an action, wait a few seconds, then perform `layout --diff` to see if anything changes.