@appium/mcp-documentation 1.0.3 → 1.0.4

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 (417) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +3 -6
  3. package/src/resources/submodules/appium/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  4. package/src/resources/submodules/appium/.github/copilot-instructions.md +9 -0
  5. package/src/resources/submodules/appium/CHANGELOG.md +45 -0
  6. package/src/resources/submodules/appium/GOVERNANCE.md +189 -0
  7. package/src/resources/submodules/appium/README.md +221 -0
  8. package/src/resources/submodules/appium/ROADMAP.md +30 -0
  9. package/src/resources/submodules/appium/SPONSORS.md +3 -0
  10. package/src/resources/submodules/appium/docs/README.md +6 -0
  11. package/src/resources/submodules/appium/docs/payout.md +35 -0
  12. package/src/resources/submodules/appium/packages/appium/CHANGELOG.md +1547 -0
  13. package/src/resources/submodules/appium/packages/appium/README.md +221 -0
  14. package/src/resources/submodules/appium/packages/appium/docs/en/blog/index.md +2 -0
  15. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-appiumconf2024.md +45 -0
  16. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  17. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  18. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-development-partner.md +36 -0
  19. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-strategic-partner.md +42 -0
  20. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  21. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sponsorship-program.md +48 -0
  22. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/appium3.md +40 -0
  23. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/hello-world.md +15 -0
  24. package/src/resources/submodules/appium/packages/appium/docs/en/contributing/index.md +150 -0
  25. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-docs.md +86 -0
  26. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-doctor-checks.md +141 -0
  27. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-drivers.md +1002 -0
  28. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-plugins.md +523 -0
  29. package/src/resources/submodules/appium/packages/appium/docs/en/developing/config-system.md +451 -0
  30. package/src/resources/submodules/appium/packages/appium/docs/en/developing/index.md +18 -0
  31. package/src/resources/submodules/appium/packages/appium/docs/en/developing/sensitive.md +49 -0
  32. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/clients.md +132 -0
  33. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/drivers.md +207 -0
  34. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/index.md +45 -0
  35. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/plugins.md +138 -0
  36. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/tools.md +106 -0
  37. package/src/resources/submodules/appium/packages/appium/docs/en/guides/branch-testing.md +57 -0
  38. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caching.md +76 -0
  39. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caps.md +271 -0
  40. package/src/resources/submodules/appium/packages/appium/docs/en/guides/config.md +98 -0
  41. package/src/resources/submodules/appium/packages/appium/docs/en/guides/context.md +44 -0
  42. package/src/resources/submodules/appium/packages/appium/docs/en/guides/event-timing.md +73 -0
  43. package/src/resources/submodules/appium/packages/appium/docs/en/guides/execute-methods.md +122 -0
  44. package/src/resources/submodules/appium/packages/appium/docs/en/guides/grid.md +178 -0
  45. package/src/resources/submodules/appium/packages/appium/docs/en/guides/headers.md +17 -0
  46. package/src/resources/submodules/appium/packages/appium/docs/en/guides/log-filters.md +86 -0
  47. package/src/resources/submodules/appium/packages/appium/docs/en/guides/managing-exts.md +87 -0
  48. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-1-to-2.md +368 -0
  49. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-2-to-3.md +464 -0
  50. package/src/resources/submodules/appium/packages/appium/docs/en/guides/security.md +87 -0
  51. package/src/resources/submodules/appium/packages/appium/docs/en/guides/settings.md +68 -0
  52. package/src/resources/submodules/appium/packages/appium/docs/en/guides/tls.md +42 -0
  53. package/src/resources/submodules/appium/packages/appium/docs/en/index.md +59 -0
  54. package/src/resources/submodules/appium/packages/appium/docs/en/intro/appium.md +202 -0
  55. package/src/resources/submodules/appium/packages/appium/docs/en/intro/clients.md +127 -0
  56. package/src/resources/submodules/appium/packages/appium/docs/en/intro/drivers.md +188 -0
  57. package/src/resources/submodules/appium/packages/appium/docs/en/intro/history.md +196 -0
  58. package/src/resources/submodules/appium/packages/appium/docs/en/intro/index.md +39 -0
  59. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/index.md +29 -0
  60. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/install.md +50 -0
  61. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/next-steps.md +23 -0
  62. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/requirements.md +29 -0
  63. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-dotnet.md +105 -0
  64. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-java.md +23 -0
  65. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-js.md +75 -0
  66. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-py.md +60 -0
  67. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-rb.md +83 -0
  68. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/uiauto2-driver.md +144 -0
  69. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/appium.md +394 -0
  70. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/bidi.md +70 -0
  71. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/index.md +30 -0
  72. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/jsonwp.md +214 -0
  73. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/mjsonwp.md +151 -0
  74. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/others.md +736 -0
  75. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/plugins.md +289 -0
  76. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/webdriver.md +1114 -0
  77. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/env-vars.md +31 -0
  78. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/extensions.md +246 -0
  79. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/index.md +36 -0
  80. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/insecure-features.md +24 -0
  81. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/server.md +78 -0
  82. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/setup.md +76 -0
  83. package/src/resources/submodules/appium/packages/appium/docs/en/reference/index.md +31 -0
  84. package/src/resources/submodules/appium/packages/appium/docs/en/reference/session/caps.md +56 -0
  85. package/src/resources/submodules/appium/packages/appium/docs/en/reference/session/index.md +23 -0
  86. package/src/resources/submodules/appium/packages/appium/docs/en/resources/index.md +28 -0
  87. package/src/resources/submodules/appium/packages/appium/docs/en/sponsors/index.md +69 -0
  88. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/index.md +2 -0
  89. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-appiumconf2024.md +45 -0
  90. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  91. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  92. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-development-partner.md +34 -0
  93. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
  94. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  95. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sponsorship-program.md +48 -0
  96. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/appium3.md +40 -0
  97. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/hello-world.md +15 -0
  98. package/src/resources/submodules/appium/packages/appium/docs/ja/contributing/index.md +158 -0
  99. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-docs.md +86 -0
  100. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-doctor-checks.md +141 -0
  101. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-drivers.md +1010 -0
  102. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-plugins.md +529 -0
  103. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/config-system.md +468 -0
  104. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/index.md +18 -0
  105. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/sensitive.md +49 -0
  106. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/clients.md +143 -0
  107. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/drivers.md +219 -0
  108. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/index.md +45 -0
  109. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/plugins.md +140 -0
  110. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/tools.md +115 -0
  111. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/branch-testing.md +57 -0
  112. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caching.md +78 -0
  113. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caps.md +276 -0
  114. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/config.md +102 -0
  115. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/context.md +44 -0
  116. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/event-timing.md +75 -0
  117. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/execute-methods.md +142 -0
  118. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/grid.md +178 -0
  119. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/headers.md +17 -0
  120. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/log-filters.md +86 -0
  121. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/managing-exts.md +89 -0
  122. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-1-to-2.md +402 -0
  123. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-2-to-3.md +458 -0
  124. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/security.md +89 -0
  125. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/settings.md +70 -0
  126. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/tls.md +43 -0
  127. package/src/resources/submodules/appium/packages/appium/docs/ja/index.md +55 -0
  128. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/appium.md +191 -0
  129. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/clients.md +139 -0
  130. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/drivers.md +188 -0
  131. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/history.md +196 -0
  132. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/index.md +39 -0
  133. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/index.md +23 -0
  134. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/install.md +47 -0
  135. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/next-steps.md +19 -0
  136. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/requirements.md +29 -0
  137. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-dotnet.md +107 -0
  138. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-java.md +23 -0
  139. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-js.md +77 -0
  140. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-py.md +63 -0
  141. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-rb.md +85 -0
  142. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/uiauto2-driver.md +148 -0
  143. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/appium.md +395 -0
  144. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/bidi.md +71 -0
  145. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/index.md +30 -0
  146. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/jsonwp.md +215 -0
  147. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/mjsonwp.md +152 -0
  148. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/others.md +737 -0
  149. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/plugins.md +291 -0
  150. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/webdriver.md +1114 -0
  151. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/env-vars.md +31 -0
  152. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/extensions.md +247 -0
  153. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/index.md +36 -0
  154. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/insecure-features.md +23 -0
  155. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/server.md +78 -0
  156. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/setup.md +78 -0
  157. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/index.md +31 -0
  158. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/session/caps.md +56 -0
  159. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/session/index.md +23 -0
  160. package/src/resources/submodules/appium/packages/appium/docs/ja/resources/index.md +28 -0
  161. package/src/resources/submodules/appium/packages/appium/docs/ja/sponsors/index.md +66 -0
  162. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz-white.png +0 -0
  163. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png +0 -0
  164. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-white.png +0 -0
  165. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo.png +0 -0
  166. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png +0 -0
  167. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png +0 -0
  168. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-dark.png +0 -0
  169. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-light.png +0 -0
  170. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png +0 -0
  171. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-testmuai-dark.png +0 -0
  172. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-testmuai-light.png +0 -0
  173. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/index.md +2 -0
  174. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-appiumconf2024.md +45 -0
  175. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  176. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  177. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-development-partner.md +34 -0
  178. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
  179. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  180. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sponsorship-program.md +48 -0
  181. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/appium3.md +40 -0
  182. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/hello-world.md +15 -0
  183. package/src/resources/submodules/appium/packages/appium/docs/zh/contributing/index.md +132 -0
  184. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-docs.md +86 -0
  185. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-doctor-checks.md +141 -0
  186. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-drivers.md +1010 -0
  187. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-plugins.md +529 -0
  188. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/config-system.md +468 -0
  189. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/index.md +18 -0
  190. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/sensitive.md +49 -0
  191. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/clients.md +143 -0
  192. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/drivers.md +219 -0
  193. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/index.md +45 -0
  194. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/plugins.md +140 -0
  195. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/tools.md +115 -0
  196. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/branch-testing.md +57 -0
  197. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caching.md +78 -0
  198. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caps.md +279 -0
  199. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/config.md +102 -0
  200. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/context.md +44 -0
  201. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/event-timing.md +75 -0
  202. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/execute-methods.md +142 -0
  203. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/grid.md +178 -0
  204. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/headers.md +17 -0
  205. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/log-filters.md +86 -0
  206. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/managing-exts.md +89 -0
  207. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-1-to-2.md +410 -0
  208. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-2-to-3.md +459 -0
  209. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/security.md +89 -0
  210. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/settings.md +70 -0
  211. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/tls.md +43 -0
  212. package/src/resources/submodules/appium/packages/appium/docs/zh/index.md +54 -0
  213. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/appium.md +91 -0
  214. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/clients.md +100 -0
  215. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/drivers.md +101 -0
  216. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/history.md +72 -0
  217. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/index.md +36 -0
  218. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/index.md +23 -0
  219. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/install.md +47 -0
  220. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/next-steps.md +19 -0
  221. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/requirements.md +21 -0
  222. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-dotnet.md +99 -0
  223. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-java.md +20 -0
  224. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-js.md +62 -0
  225. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-py.md +57 -0
  226. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-rb.md +80 -0
  227. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/uiauto2-driver.md +119 -0
  228. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/appium.md +395 -0
  229. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/bidi.md +71 -0
  230. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/index.md +30 -0
  231. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/jsonwp.md +215 -0
  232. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/mjsonwp.md +152 -0
  233. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/others.md +737 -0
  234. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/plugins.md +291 -0
  235. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/webdriver.md +1114 -0
  236. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/env-vars.md +31 -0
  237. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/extensions.md +247 -0
  238. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/index.md +36 -0
  239. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/insecure-features.md +23 -0
  240. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/server.md +78 -0
  241. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/setup.md +78 -0
  242. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/index.md +31 -0
  243. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/session/caps.md +56 -0
  244. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/session/index.md +23 -0
  245. package/src/resources/submodules/appium/packages/appium/docs/zh/resources/index.md +28 -0
  246. package/src/resources/submodules/appium/packages/appium/docs/zh/sponsors/index.md +66 -0
  247. package/src/resources/submodules/appium/packages/appium/types/manifest/README.md +30 -0
  248. package/src/resources/submodules/appium/packages/base-driver/CHANGELOG.md +1244 -0
  249. package/src/resources/submodules/appium/packages/base-driver/README.md +15 -0
  250. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/errors.md +82 -0
  251. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/protocol-methods.md +182 -0
  252. package/src/resources/submodules/appium/packages/base-driver/static/appium.png +0 -0
  253. package/src/resources/submodules/appium/packages/base-plugin/CHANGELOG.md +764 -0
  254. package/src/resources/submodules/appium/packages/base-plugin/README.md +15 -0
  255. package/src/resources/submodules/appium/packages/docutils/CHANGELOG.md +1038 -0
  256. package/src/resources/submodules/appium/packages/docutils/README.md +27 -0
  257. package/src/resources/submodules/appium/packages/driver-test-support/CHANGELOG.md +790 -0
  258. package/src/resources/submodules/appium/packages/driver-test-support/README.md +103 -0
  259. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/CHANGELOG.md +256 -0
  260. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/README.md +47 -0
  261. package/src/resources/submodules/appium/packages/execute-driver-plugin/CHANGELOG.md +671 -0
  262. package/src/resources/submodules/appium/packages/execute-driver-plugin/README.md +55 -0
  263. package/src/resources/submodules/appium/packages/fake-driver/CHANGELOG.md +603 -0
  264. package/src/resources/submodules/appium/packages/fake-driver/README.md +7 -0
  265. package/src/resources/submodules/appium/packages/fake-driver/lib/screen.png +0 -0
  266. package/src/resources/submodules/appium/packages/fake-plugin/CHANGELOG.md +780 -0
  267. package/src/resources/submodules/appium/packages/fake-plugin/README.md +7 -0
  268. package/src/resources/submodules/appium/packages/images-plugin/CHANGELOG.md +691 -0
  269. package/src/resources/submodules/appium/packages/images-plugin/README.md +27 -0
  270. package/src/resources/submodules/appium/packages/images-plugin/docs/find-by-image.md +65 -0
  271. package/src/resources/submodules/appium/packages/images-plugin/docs/image-comparison.md +203 -0
  272. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/appstore.png +0 -0
  273. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img1.png +0 -0
  274. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2.png +0 -0
  275. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2_part.png +0 -0
  276. package/src/resources/submodules/appium/packages/logger/CHANGELOG.md +212 -0
  277. package/src/resources/submodules/appium/packages/logger/README.md +31 -0
  278. package/src/resources/submodules/appium/packages/opencv/CHANGELOG.md +446 -0
  279. package/src/resources/submodules/appium/packages/opencv/README.md +68 -0
  280. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/appium-diagram.jpg +0 -0
  281. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc1.png +0 -0
  282. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc2.png +0 -0
  283. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc_rotated.png +0 -0
  284. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/findwaldo.jpg +0 -0
  285. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/number5.png +0 -0
  286. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/waldo.jpg +0 -0
  287. package/src/resources/submodules/appium/packages/plugin-test-support/CHANGELOG.md +610 -0
  288. package/src/resources/submodules/appium/packages/plugin-test-support/README.md +49 -0
  289. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/CHANGELOG.md +209 -0
  290. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/README.md +35 -0
  291. package/src/resources/submodules/appium/packages/schema/CHANGELOG.md +308 -0
  292. package/src/resources/submodules/appium/packages/schema/README.md +50 -0
  293. package/src/resources/submodules/appium/packages/storage-plugin/CHANGELOG.md +157 -0
  294. package/src/resources/submodules/appium/packages/storage-plugin/README.md +83 -0
  295. package/src/resources/submodules/appium/packages/strongbox/CHANGELOG.md +129 -0
  296. package/src/resources/submodules/appium/packages/strongbox/README.md +110 -0
  297. package/src/resources/submodules/appium/packages/support/CHANGELOG.md +1147 -0
  298. package/src/resources/submodules/appium/packages/support/README.md +161 -0
  299. package/src/resources/submodules/appium/packages/tsconfig/CHANGELOG.md +147 -0
  300. package/src/resources/submodules/appium/packages/tsconfig/README.md +19 -0
  301. package/src/resources/submodules/appium/packages/types/CHANGELOG.md +871 -0
  302. package/src/resources/submodules/appium/packages/types/README.md +21 -0
  303. package/src/resources/submodules/appium/packages/universal-xml-plugin/CHANGELOG.md +502 -0
  304. package/src/resources/submodules/appium/packages/universal-xml-plugin/README.md +53 -0
  305. package/src/resources/submodules/appium/renovate/README.md +55 -0
  306. package/src/resources/submodules/appium-skills/.github/dependabot.yml +11 -0
  307. package/src/resources/submodules/appium-skills/.github/workflows/pr-title.yml +10 -0
  308. package/src/resources/submodules/appium-skills/AGENTS.md +214 -0
  309. package/src/resources/submodules/appium-skills/LICENSE +201 -0
  310. package/src/resources/submodules/appium-skills/README.md +33 -0
  311. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/SKILL.md +66 -0
  312. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/community-search.md +51 -0
  313. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/uiautomator2-locators.md +34 -0
  314. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/uiautomator2-session-startup.md +53 -0
  315. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-element-lookup.md +23 -0
  316. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-locators.md +16 -0
  317. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-troubleshooting.md +52 -0
  318. package/src/resources/submodules/appium-skills/skills/environment-setup-android/SKILL.md +346 -0
  319. package/src/resources/submodules/appium-skills/skills/environment-setup-bundletool/SKILL.md +91 -0
  320. package/src/resources/submodules/appium-skills/skills/environment-setup-chromium/SKILL.md +260 -0
  321. package/src/resources/submodules/appium-skills/skills/environment-setup-espresso/SKILL.md +216 -0
  322. package/src/resources/submodules/appium-skills/skills/environment-setup-ffmpeg/SKILL.md +91 -0
  323. package/src/resources/submodules/appium-skills/skills/environment-setup-node/SKILL.md +128 -0
  324. package/src/resources/submodules/appium-skills/skills/environment-setup-uiautomator2/SKILL.md +225 -0
  325. package/src/resources/submodules/appium-skills/skills/environment-setup-xcuitest/SKILL.md +153 -0
  326. package/src/resources/submodules/appium-skills/skills/xcuitest-real-device-config/SKILL.md +488 -0
  327. package/src/resources/submodules/appium-uiautomator2-driver/CHANGELOG.md +1506 -0
  328. package/src/resources/submodules/appium-uiautomator2-driver/README.md +2253 -0
  329. package/src/resources/submodules/appium-uiautomator2-driver/docs/actions.md +72 -0
  330. package/src/resources/submodules/appium-uiautomator2-driver/docs/activity-startup.md +47 -0
  331. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-appbundle.md +69 -0
  332. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-mobile-gestures.md +352 -0
  333. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-multiwindow.md +872 -0
  334. package/src/resources/submodules/appium-uiautomator2-driver/docs/architecture.md +34 -0
  335. package/src/resources/submodules/appium-uiautomator2-driver/docs/bidi.md +50 -0
  336. package/src/resources/submodules/appium-uiautomator2-driver/docs/capability-sets.md +136 -0
  337. package/src/resources/submodules/appium-uiautomator2-driver/docs/mjpeg.md +111 -0
  338. package/src/resources/submodules/appium-uiautomator2-driver/docs/scheduled-actions.md +155 -0
  339. package/src/resources/submodules/appium-uiautomator2-driver/docs/uiautomator-uiselector.md +51 -0
  340. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/main.md +95 -0
  341. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen1.png +0 -0
  342. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen2.png +0 -0
  343. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/checkered-squares.png +0 -0
  344. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/start-button.png +0 -0
  345. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/stop-button.png +0 -0
  346. package/src/resources/submodules/appium-xcuitest-driver/.github/ISSUE_TEMPLATE.md +4 -0
  347. package/src/resources/submodules/appium-xcuitest-driver/CHANGELOG.md +3373 -0
  348. package/src/resources/submodules/appium-xcuitest-driver/README.md +55 -0
  349. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo-white.png +0 -0
  350. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo.png +0 -0
  351. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-plus-xctest.png +0 -0
  352. package/src/resources/submodules/appium-xcuitest-driver/docs/contributing.md +45 -0
  353. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints-wda.md +61 -0
  354. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints.md +95 -0
  355. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/device-setup.md +81 -0
  356. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/index.md +36 -0
  357. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/installation.md +38 -0
  358. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/check-prov-prof.png +0 -0
  359. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/create-new-project.png +0 -0
  360. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/create-single-page.png +0 -0
  361. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/no-prov-prof.png +0 -0
  362. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/project-prov-prof.png +0 -0
  363. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/set-up-bundle.png +0 -0
  364. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/untrusted-dev.png +0 -0
  365. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-bundle-id.png +0 -0
  366. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-config.png +0 -0
  367. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-facebook-fail.png +0 -0
  368. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-facebook-succeed.png +0 -0
  369. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/auto-config.md +54 -0
  370. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/basic-manual-config.md +40 -0
  371. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/full-manual-config.md +49 -0
  372. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/generic-device-config.md +75 -0
  373. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/index.md +117 -0
  374. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/system-requirements.md +131 -0
  375. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/keynote.png +0 -0
  376. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/on_my_iphone.png +0 -0
  377. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/top_files.png +0 -0
  378. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/attach-to-running-wda.md +43 -0
  379. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/audio-capture.md +78 -0
  380. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/biometric-auth.md +29 -0
  381. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/capability-sets.md +169 -0
  382. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/ci-setup.md +47 -0
  383. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/clipboard.md +47 -0
  384. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/file-transfer.md +147 -0
  385. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/gestures.md +55 -0
  386. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/hybrid.md +137 -0
  387. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/input-events.md +67 -0
  388. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/install-certificate.md +20 -0
  389. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/mjpeg.md +98 -0
  390. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/multiple-xcode-versions.md +37 -0
  391. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/parallel-tests.md +39 -0
  392. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/remotexpc-tunnels-real-devices.md +148 -0
  393. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-prebuilt-wda.md +147 -0
  394. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-preinstalled-wda.md +177 -0
  395. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/tvos.md +246 -0
  396. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-custom-server.md +283 -0
  397. package/src/resources/submodules/appium-xcuitest-driver/docs/index.md +36 -0
  398. package/src/resources/submodules/appium-xcuitest-driver/docs/overview.md +137 -0
  399. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/assets/images/useXctestrunFile.png +0 -0
  400. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/bidi.md +192 -0
  401. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/capabilities.md +164 -0
  402. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/commands.md +468 -0
  403. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/element-attributes.md +157 -0
  404. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/env-vars.md +18 -0
  405. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/execute-methods.md +2269 -0
  406. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/ios-predicate.md +196 -0
  407. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/locator-strategies.md +107 -0
  408. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/scripts.md +555 -0
  409. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/security-flags.md +28 -0
  410. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/server-args.md +19 -0
  411. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/settings.md +467 -0
  412. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/xpath-extensions.md +167 -0
  413. package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/element-lookup.md +202 -0
  414. package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/index.md +204 -0
  415. package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/wda-slowness.md +206 -0
  416. package/src/resources/submodules/appium-xcuitest-driver/test/assets/test.png +0 -0
  417. package/src/resources/submodules.zip +0 -0
@@ -0,0 +1,260 @@
1
+ ---
2
+ name: "environment-setup-chromium"
3
+ description: "Set up and validate an Appium Chromium Driver environment"
4
+ metadata:
5
+ last_modified: "Thu, 09 Apr 2026 00:00:00 GMT"
6
+
7
+ ---
8
+ # appium-chromium-environment-setup
9
+
10
+ ## Goal
11
+ Prepares a reliable Appium Chromium Driver environment by validating Node.js/npm, ensuring Appium 3 compatibility, installing the Chromium driver, validating browser/runtime prerequisites, and running a smoke test that confirms driver availability and server readiness.
12
+
13
+ ## Decision Logic
14
+ - If the host OS is not macOS, Linux, or Windows: stop and ask the user to use a supported OS.
15
+ - If current Node.js does not satisfy `engines.node` for both `appium` and `appium-chromium-driver`: install/upgrade Node.js to a compatible active LTS version.
16
+ - If current npm does not satisfy `appium-chromium-driver` `engines.npm`: upgrade npm before continuing.
17
+ - If Appium CLI is not installed: install `appium` globally.
18
+ - Use global npm/Appium commands by default (`npm install -g appium`, `appium ...`).
19
+ - Use local Appium commands (`npx appium ...`) only when the user explicitly requests local execution.
20
+ - If Appium major version is `< 3`: upgrade Appium to 3.x before installing or validating `chromium`.
21
+ - If the `chromium` driver is not installed: install it via Appium CLI.
22
+ - If install returns "already installed", ignore the error and continue (or run driver update).
23
+ - If `appium driver doctor chromium` is supported and reports required fixes: resolve each required item and re-run doctor.
24
+ - If doctor is not supported for `chromium` in the active Appium/driver version: use install/list/smoke checks as the completion gate.
25
+ - If no supported Chromium-based browser is available (`chrome`/`chromium`/`msedge`): pause and ask the user which browser to automate and install.
26
+ - If no supported Chromium-based browser is available and the user explicitly approves optional browser setup: install Chrome or Chromium with OS-native package tooling, then re-run browser availability checks.
27
+ - If running inside WSL and browser install is requested: prefer distro package-manager installation as root in WSL (for example via `wsl -u root`) rather than user-space `.deb` extraction, because runtime shared-library dependencies are otherwise easy to miss.
28
+ - If Chrome is present but fails to start with missing shared libraries (for example `libnspr4.so`): treat this as an incomplete Linux dependency install and fix with package-manager dependencies before continuing.
29
+ - If the user does not request a pinned chromedriver version and no chromedriver binary is present in the environment: run `appium driver run chromium install-chromedriver` before smoke validation.
30
+ - If the user explicitly targets Microsoft Edge: treat `msedgedriver` setup as a separate optional step, require a driver version matching the installed Edge build, and pass it through `appium:executable` because automatic chromedriver download does not cover Edge.
31
+
32
+ ## Instructions
33
+ 1. **Prepare Node.js + npm environment**
34
+ macOS/Linux:
35
+ ```bash
36
+ node -v
37
+ npm -v
38
+ ```
39
+ Windows PowerShell:
40
+ ```powershell
41
+ node -v
42
+ npm -v
43
+ ```
44
+ If `node` is missing, run `environment-setup-node` first (including Windows PowerShell profile bootstrap), then open a new terminal or run `. $PROFILE`, and re-run the commands.
45
+
46
+ 2. **Install/upgrade Appium and Chromium driver**
47
+ ```bash
48
+ npm install -g appium@latest
49
+ appium driver install chromium || appium driver update chromium
50
+ appium driver list --installed --json || appium driver list --installed
51
+ ```
52
+ Prefer `--json` output for machine-readable verification. Confirm a `chromium` key is present; only fallback to plain-text output when `--json` is unsupported.
53
+ If the install command fails only because `chromium` is already installed, continue and do not stop preparation.
54
+
55
+ 3. **Validate Appium command health and compatibility**
56
+ macOS/Linux:
57
+ ```bash
58
+ appium -v
59
+ appium driver list --installed --json || appium driver list --installed
60
+ npm view appium engines --json
61
+ npm view appium-chromium-driver engines peerDependencies --json
62
+ ```
63
+ Windows PowerShell:
64
+ ```powershell
65
+ appium -v
66
+ appium driver list --installed --json; if ($LASTEXITCODE -ne 0) { appium driver list --installed }
67
+ npm view appium engines --json
68
+ npm view appium-chromium-driver engines peerDependencies --json
69
+ ```
70
+ Verify Appium major version is `3` and that active Node/npm versions satisfy the reported ranges.
71
+
72
+ 4. **Validate browser availability (Chrome/Chromium/Edge)**
73
+ macOS/Linux:
74
+ ```bash
75
+ command -v google-chrome || true
76
+ command -v chromium || true
77
+ command -v chromium-browser || true
78
+ command -v msedge || true
79
+ ```
80
+ Windows PowerShell:
81
+ ```powershell
82
+ Get-Command chrome.exe -ErrorAction SilentlyContinue
83
+ Get-Command msedge.exe -ErrorAction SilentlyContinue
84
+ ```
85
+ Confirm at least one Chromium-based browser is available and note the target browser in the result summary.
86
+
87
+ Optional browser setup (run only when the user explicitly requests it):
88
+ - macOS (Homebrew):
89
+ ```bash
90
+ brew install --cask google-chrome
91
+ # or
92
+ brew install --cask chromium
93
+ # or
94
+ brew install --cask microsoft-edge
95
+ ```
96
+ - Linux (Debian/Ubuntu examples):
97
+ ```bash
98
+ sudo apt-get update
99
+ sudo apt-get install -y chromium-browser || sudo apt-get install -y chromium
100
+ # Microsoft Edge example
101
+ curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
102
+ sudo install -o root -g root -m 644 microsoft.gpg /usr/share/keyrings/microsoft.gpg
103
+ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/edge stable main" | sudo tee /etc/apt/sources.list.d/microsoft-edge.list
104
+ sudo apt-get update
105
+ sudo apt-get install -y microsoft-edge-stable
106
+ ```
107
+ - WSL from Windows host (Debian/Ubuntu examples, no interactive sudo prompt):
108
+ ```powershell
109
+ wsl -u root -e bash -lc "apt-get update"
110
+ wsl -u root -e bash -lc "apt-get install -y libnspr4 libnss3 libxss1 libasound2t64 libatk-bridge2.0-0 libatk1.0-0 libcups2t64 libdrm2 libgbm1 libgtk-3-0 xdg-utils"
111
+ wsl -u root -e bash -lc "apt-get install -y google-chrome-stable || apt-get install -y chromium-browser || apt-get install -y chromium"
112
+ ```
113
+ - Windows PowerShell (winget):
114
+ ```powershell
115
+ winget install --id Google.Chrome --exact --accept-source-agreements --accept-package-agreements
116
+ # or
117
+ winget install --id Hibbiki.Chromium --exact --accept-source-agreements --accept-package-agreements
118
+ # or
119
+ winget install --id Microsoft.Edge --exact --accept-source-agreements --accept-package-agreements
120
+ ```
121
+ After installation, re-run the browser availability checks in this step.
122
+
123
+ 5. **Install chromedriver when missing (default) or pin it (on request)**
124
+ If the user does not request a specific chromedriver version, first check whether a chromedriver binary is available:
125
+ macOS/Linux:
126
+ ```bash
127
+ command -v chromedriver || true
128
+ ```
129
+ Windows PowerShell:
130
+ ```powershell
131
+ Get-Command chromedriver.exe -ErrorAction SilentlyContinue
132
+ ```
133
+ If no chromedriver binary is found, run:
134
+ ```bash
135
+ appium driver run chromium install-chromedriver
136
+ ```
137
+ Use version/directory pinning only when the user explicitly requests manual pinning or mirrored download flows.
138
+ macOS/Linux examples:
139
+ ```bash
140
+ CHROMEDRIVER_VERSION=131.0.6778.3 appium driver run chromium install-chromedriver
141
+ CHROMEDRIVER_EXECUTABLE_DIR=/path/to/dir appium driver run chromium install-chromedriver
142
+ ```
143
+ Windows PowerShell examples:
144
+ ```powershell
145
+ $env:CHROMEDRIVER_VERSION='131.0.6778.3'; appium driver run chromium install-chromedriver; Remove-Item Env:\CHROMEDRIVER_VERSION
146
+ $env:CHROMEDRIVER_EXECUTABLE_DIR='C:\path\to\folder'; appium driver run chromium install-chromedriver; Remove-Item Env:\CHROMEDRIVER_EXECUTABLE_DIR
147
+ ```
148
+
149
+ Optional Edge WebDriver setup (run only when the user explicitly requests Microsoft Edge automation):
150
+ - Appium Chromium Driver does not autodownload `msedgedriver`.
151
+ - Download the Microsoft Edge WebDriver version matching the installed Edge build from the official Microsoft Edge WebDriver page:
152
+ `https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/`
153
+ - Verify the installed Edge version first:
154
+ macOS:
155
+ ```bash
156
+ defaults read "/Applications/Microsoft Edge.app/Contents/Info" CFBundleShortVersionString
157
+ ```
158
+ Linux:
159
+ ```bash
160
+ microsoft-edge --version
161
+ ```
162
+ Windows PowerShell:
163
+ ```powershell
164
+ (Get-Item "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe").VersionInfo.ProductVersion
165
+ ```
166
+ - After downloading and extracting `msedgedriver`, place it in a stable path and confirm it works:
167
+ macOS/Linux:
168
+ ```bash
169
+ chmod +x /path/to/msedgedriver
170
+ /path/to/msedgedriver --version
171
+ ```
172
+ Windows PowerShell:
173
+ ```powershell
174
+ & "C:\path\to\msedgedriver.exe" --version
175
+ ```
176
+ - For Edge sessions, pass the absolute driver path through capabilities:
177
+ ```json
178
+ {
179
+ "platformName": "macOS",
180
+ "browserName": "MicrosoftEdge",
181
+ "appium:automationName": "Chromium",
182
+ "appium:executable": "/absolute/path/to/msedgedriver"
183
+ }
184
+ ```
185
+
186
+ 6. **Run Appium doctor for Chromium when supported**
187
+ ```bash
188
+ appium driver doctor chromium
189
+ ```
190
+ Use `0 required fixes needed` as the pass/fail gate when doctor is supported. Optional warnings are non-blocking. If required fixes remain, apply targeted fixes and re-run.
191
+ If command output indicates the driver does not expose doctor checks, mark doctor as `not-supported` and continue with install/list/smoke checks.
192
+
193
+ 7. **Start Appium server smoke test**
194
+ ```bash
195
+ appium server
196
+ ```
197
+ Windows PowerShell recommended form (for deterministic log checks):
198
+ ```powershell
199
+ appium server --log "$env:TEMP\appium-chromium-smoke.log" --log-level info
200
+ ```
201
+ Keep this server process running in Terminal A.
202
+
203
+ In Terminal B, run:
204
+ ```bash
205
+ curl -s http://127.0.0.1:4723/status
206
+ ```
207
+ First confirm `/status` responds successfully.
208
+
209
+ Then confirm startup/readiness from server logs and ensure the `Available drivers:` block contains `chromium` (for example: `- chromium@<version> (automationName 'Chromium')`).
210
+ If startup banner logs are not available in your terminal integration, use this fallback verification path:
211
+ - `appium driver list --installed --json` includes `chromium`
212
+ - `/status` reports server readiness
213
+
214
+ After smoke validation, clean up the running Appium server:
215
+ - In Terminal A, stop the server with `Ctrl+C`.
216
+ - Verify no leftover Appium server process (Terminal B, macOS/Linux):
217
+ ```bash
218
+ pgrep -fl "appium.*server" || echo "no appium server process"
219
+ ```
220
+ If `pgrep` output appears to match only the check command itself, run a stricter verification:
221
+ ```bash
222
+ if ps -C node -o pid=,args= | grep -E 'appium.*server' > /dev/null; then
223
+ ps -C node -o pid=,args= | grep -E 'appium.*server'
224
+ else
225
+ echo "no appium server process"
226
+ fi
227
+ ```
228
+ - Verify no leftover Appium server process (Terminal B, Windows PowerShell):
229
+ ```powershell
230
+ if (Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'appium.*server' }) {
231
+ Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'appium.*server' } | Select-Object ProcessId, Name, CommandLine
232
+ } else {
233
+ "no appium server process"
234
+ }
235
+ ```
236
+
237
+ 8. **Agent completion criteria**
238
+ Mark the skill complete only when all are true:
239
+ - `appium driver list --installed --json` includes `chromium` (fallback to `appium driver list --installed` if `--json` is unsupported)
240
+ - `appium -v` succeeds and is Appium 3.x
241
+ - active Node/npm versions satisfy `appium` and `appium-chromium-driver` engines
242
+ - if supported, `appium driver doctor chromium` reports `0 required fixes needed` (optional warnings are allowed)
243
+ - if unsupported, result explicitly marks doctor status as `not-supported`
244
+ - if no chromedriver binary was present initially and no pinned version was requested, task result includes successful execution of `appium driver run chromium install-chromedriver`
245
+ - if Microsoft Edge automation was explicitly requested, task result includes installed Edge version, `msedgedriver --version` output, and the absolute path intended for `appium:executable`
246
+ - task result includes browser availability check and the selected browser target (`chrome`, `chromium`, or `msedge`)
247
+ - if optional browser setup was requested, task result includes browser install command(s) used and the post-install browser detection output
248
+ - `/status` check returns a successful status response (`curl` on macOS/Linux, `Invoke-RestMethod` retry loop recommended on Windows)
249
+ - Appium server logs show startup/readiness successfully after the status check, or readiness is confirmed by `/status` plus JSON driver listing that includes `chromium`
250
+ - if logs are available, `Available drivers:` includes a `chromium` entry
251
+ - Appium smoke-test server process is cleanly stopped after validation
252
+
253
+ ## Constraints
254
+ - Use global npm/Appium commands as the default execution mode.
255
+ - Use `npx appium` only if the user explicitly asks for local execution.
256
+ - Treat optional doctor warnings as non-blocking.
257
+ - Ask before installing optional dependencies or browser packages.
258
+ - Prefer deterministic CLI checks over assumptions.
259
+ - If elevated privileges are required, pause and provide exact commands for the user to run.
260
+ - Do not claim success until compatibility checks and smoke-test checks are green.
@@ -0,0 +1,216 @@
1
+ ---
2
+ name: "environment-setup-espresso"
3
+ description: "Set up and validate an Espresso Appium environment on Android"
4
+ metadata:
5
+ last_modified: "Mon, 06 Apr 2026 00:00:00 GMT"
6
+
7
+ ---
8
+ # appium-espresso-environment-setup
9
+
10
+ ## Goal
11
+ Prepares a reliable Appium Espresso execution environment by installing Node.js and Appium prerequisites, configuring Android and Java dependencies, running Appium doctor checks, and iterating until doctor reports `0 required fixes needed`.
12
+
13
+ ## Decision Logic
14
+ - If the host OS is not macOS, Linux, or Windows: stop and ask the user to use a supported OS.
15
+ - If current Node.js does not satisfy `engines.node` for both `appium` and `appium-espresso-driver`: install/upgrade Node.js to a compatible active LTS version.
16
+ - If Appium CLI is not installed: install `appium` globally.
17
+ - Use global npm/Appium commands by default (`npm install -g appium`, `appium ...`).
18
+ - Use local Appium commands (`npx appium ...`) only when the user explicitly requests local execution.
19
+ - If Android SDK prerequisites are missing (`adb`, emulator binary, SDK packages): run `environment-setup-android` first.
20
+ - If the user explicitly requests media features that require FFmpeg: run `environment-setup-ffmpeg` before final validation.
21
+ - If the user explicitly requests automatic bundletool setup: run `environment-setup-bundletool` before final validation.
22
+ - Always include host device/emulator inventory in the final skill result (connected devices, emulator version, and AVD list).
23
+ - If the `espresso` driver is not installed: install it via Appium CLI.
24
+ - If install returns "already installed", ignore the error and continue (or run driver update).
25
+ - If `appium driver doctor espresso` reports missing dependencies: resolve each missing item and re-run doctor.
26
+
27
+ ## Instructions
28
+ 1. **Prepare Node.js + npm environment**
29
+ macOS/Linux:
30
+ ```bash
31
+ node -v
32
+ npm -v
33
+ ```
34
+ Windows PowerShell:
35
+ ```powershell
36
+ node -v
37
+ npm -v
38
+ ```
39
+ If `node` is missing, run `environment-setup-node` first (including Windows PowerShell profile bootstrap), then open a new terminal or run `. $PROFILE`, and re-run the commands.
40
+ Windows PowerShell session bootstrap (recommended before any `appium` command in fresh/background terminals):
41
+ ```powershell
42
+ $fnmDir = "$env:LOCALAPPDATA\Microsoft\WinGet\Packages\Schniz.fnm_Microsoft.Winget.Source_8wekyb3d8bbwe"
43
+ if (Test-Path $fnmDir) { $env:PATH = "$fnmDir;$env:PATH" }
44
+ fnm env --shell powershell | Invoke-Expression
45
+ fnm use lts-latest
46
+ ```
47
+
48
+ 2. **Install Appium npm command**
49
+ ```bash
50
+ npm install -g appium
51
+ appium driver install espresso || appium driver update espresso
52
+ appium driver list --installed --json || appium driver list --installed
53
+ ```
54
+ Prefer `--json` output for machine-readable verification. Confirm an `espresso` key is present; only fallback to plain-text output when `--json` is unsupported.
55
+ If the install command fails only because `espresso` is already installed, continue and do not stop preparation.
56
+
57
+ 3. **Validate Appium npm commands and Node compatibility (after driver setup)**
58
+ macOS/Linux:
59
+ ```bash
60
+ appium -v
61
+ appium driver list --installed --json || appium driver list --installed
62
+ npm view appium engines --json
63
+ npm view appium-espresso-driver engines --json
64
+ ```
65
+ Windows PowerShell:
66
+ ```powershell
67
+ appium -v
68
+ appium driver list --installed --json; if ($LASTEXITCODE -ne 0) { appium driver list --installed }
69
+ npm view appium engines --json
70
+ npm view appium-espresso-driver engines --json
71
+ ```
72
+ If current Node.js does not satisfy the reported `engines.node` ranges, install/upgrade Node.js to a compatible active LTS version and re-run the setup checks.
73
+
74
+ 4. **Run Android environment prerequisite skill**
75
+ Before Espresso doctor checks, execute `environment-setup-android` and do not continue until it passes completion criteria.
76
+
77
+ 5. **Verify Android prerequisites from this skill context**
78
+ macOS/Linux:
79
+ ```bash
80
+ command -v adb
81
+ adb version
82
+ echo "$ANDROID_HOME"
83
+ ls "$ANDROID_HOME/emulator/emulator"
84
+ test -x "$ANDROID_HOME/emulator/emulator" && echo "emulator binary: OK"
85
+ ```
86
+ Windows PowerShell:
87
+ ```powershell
88
+ Get-Command adb.exe -ErrorAction SilentlyContinue
89
+ adb.exe version
90
+ $env:ANDROID_HOME
91
+ Test-Path "$env:ANDROID_HOME\emulator\emulator.exe"
92
+ if (Test-Path "$env:ANDROID_HOME\emulator\emulator.exe") { "emulator binary: OK" }
93
+ ```
94
+
95
+ 6. **Report connected devices and emulator inventory in task result**
96
+ macOS/Linux:
97
+ ```bash
98
+ adb devices -l
99
+ "$ANDROID_HOME/emulator/emulator" -version
100
+ "$ANDROID_HOME/emulator/emulator" -list-avds
101
+ ```
102
+ Windows PowerShell:
103
+ ```powershell
104
+ adb.exe devices -l
105
+ & "$env:ANDROID_HOME\emulator\emulator.exe" -version
106
+ & "$env:ANDROID_HOME\emulator\emulator.exe" -list-avds
107
+ ```
108
+ In the result summary, explicitly state whether emulator preparation was skipped because either connected devices already existed or one/more AVDs already existed.
109
+
110
+ Optional shared dependency:
111
+ - If the user explicitly requests FFmpeg-related capability, run `environment-setup-ffmpeg` before continuing.
112
+ - If the user explicitly requests bundletool installation, run `environment-setup-bundletool` before continuing.
113
+
114
+ 7. **Run Appium doctor for Espresso and fix in a loop**
115
+ ```bash
116
+ appium driver doctor espresso
117
+ ```
118
+ Use `0 required fixes needed` as the pass/fail gate. Optional warnings are non-blocking. If required fixes remain, apply targeted fixes and re-run.
119
+ For deterministic automation, parse the doctor output for that exact phrase instead of relying on visual formatting.
120
+ Bash gate example:
121
+ ```bash
122
+ DOCTOR_OUT="$(appium driver doctor espresso 2>&1)"
123
+ echo "$DOCTOR_OUT" | grep -q "0 required fixes needed" || { echo "$DOCTOR_OUT"; exit 1; }
124
+ echo "$DOCTOR_OUT" | grep -E "0 required fixes needed|optional fix"
125
+ ```
126
+ PowerShell gate example:
127
+ ```powershell
128
+ $doctorOut = appium driver doctor espresso 2>&1 | Out-String
129
+ if ($doctorOut -notmatch '0 required fixes needed') { throw "Doctor required fixes remain" }
130
+ $doctorOut | Select-String '0 required fixes needed|optional fix'
131
+ ```
132
+ AI-assisted fallback (only if exact phrase matching is inconclusive due output-format changes):
133
+ 1. Re-run doctor once and capture full output (`appium driver doctor espresso 2>&1 | tee /tmp/appium-doctor-espresso.log`).
134
+ 2. Ask an AI agent to classify required vs optional findings from the captured output.
135
+ 3. Accept a pass only when the output clearly indicates zero required issues (for example: no required-fix section and no required-check failures).
136
+ 4. If still ambiguous, mark status as `needs-manual-review` and do not mark the skill complete.
137
+
138
+ 8. **Start Appium server smoke test**
139
+ ```bash
140
+ appium server
141
+ ```
142
+ Windows PowerShell recommended form (for deterministic log checks):
143
+ ```powershell
144
+ appium server --log "$env:TEMP\appium-espresso-smoke.log" --log-level info
145
+ ```
146
+ Keep this server process running in Terminal A.
147
+ In Terminal B, run:
148
+ ```bash
149
+ curl -s http://127.0.0.1:4723/status
150
+ ```
151
+ First confirm `/status` responds successfully.
152
+ Windows PowerShell reliable variant (recommended on Windows due to `curl` alias behavior):
153
+ ```powershell
154
+ $ok = $false
155
+ for ($i = 0; $i -lt 20; $i++) {
156
+ try {
157
+ $resp = Invoke-RestMethod -Uri "http://127.0.0.1:4723/status" -Method Get -TimeoutSec 5
158
+ if ($resp.value.ready -eq $true) {
159
+ $ok = $true
160
+ $resp | ConvertTo-Json -Depth 5
161
+ break
162
+ }
163
+ } catch {
164
+ Start-Sleep -Milliseconds 500
165
+ }
166
+ }
167
+ if (-not $ok) { throw "Appium /status did not become ready in time" }
168
+ ```
169
+ Then confirm startup/readiness from server logs and ensure the `Available drivers:` block contains `espresso` (for example: `- espresso@<version> (automationName 'Espresso')`).
170
+ If startup banner logs are not available in your terminal integration, use this fallback verification path:
171
+ - `appium driver list --installed --json` includes `espresso`
172
+ - `/status` reports server readiness
173
+ Windows PowerShell log verification example:
174
+ ```powershell
175
+ Get-Content "$env:TEMP\appium-espresso-smoke.log" | Select-String "listener started|Available drivers:|espresso@"
176
+ ```
177
+ After smoke validation, clean up the running Appium server:
178
+ - In Terminal A, stop the server with `Ctrl+C`.
179
+ - Verify no leftover Appium server process (Terminal B, macOS/Linux):
180
+ ```bash
181
+ pgrep -fl "appium.*server" || echo "no appium server process"
182
+ ```
183
+ - Verify no leftover Appium server process (Terminal B, Windows PowerShell):
184
+ ```powershell
185
+ if (Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'appium.*server' }) {
186
+ Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'appium.*server' } | Select-Object ProcessId, Name, CommandLine
187
+ } else {
188
+ "no appium server process"
189
+ }
190
+ ```
191
+
192
+ 9. **Agent completion criteria**
193
+ Mark the skill complete only when all are true:
194
+ - `appium driver list --installed --json` includes `espresso` (fallback to `appium driver list --installed` if `--json` is unsupported)
195
+ - `appium -v` succeeds
196
+ - `appium driver doctor espresso` reports `0 required fixes needed` (optional warnings are allowed)
197
+ - task result includes the doctor summary line with required/optional fix counts
198
+ - `environment-setup-android` completion criteria are satisfied
199
+ - task result includes connected-device output (`adb devices -l`) and emulator inventory (`emulator -version`, `emulator -list-avds`)
200
+ - task result explicitly states whether emulator preparation was skipped (and why)
201
+ - `/status` check returns a successful status response (`curl` on macOS/Linux, `Invoke-RestMethod` retry loop recommended on Windows)
202
+ - Appium server logs show startup/readiness successfully after the status check, or (if banner logs are unavailable) readiness is confirmed by `/status` plus JSON driver listing that includes `espresso`
203
+ - If logs are available, `Available drivers:` includes an `espresso` entry
204
+ - Appium smoke-test server process is cleanly stopped after validation
205
+
206
+ ## Constraints
207
+ - Always run `appium driver doctor espresso` after each environment change.
208
+ - Use global npm/Appium commands as the default execution mode.
209
+ - Use `npx appium` only if the user explicitly asks for local execution.
210
+ - Do not skip Android prerequisite validation; rely on `environment-setup-android` for source-of-truth checks.
211
+ - Use shell-appropriate commands (`bash` for macOS/Linux, PowerShell/cmd for Windows).
212
+ - Treat optional doctor warnings as non-blocking.
213
+ - Ask the user before installing optional dependencies, and install them only when the user explicitly needs that capability.
214
+ - Prefer deterministic CLI checks over assumptions.
215
+ - If elevated privileges are required, pause and provide exact commands for the user to run.
216
+ - Do not claim success until doctor and smoke-test checks are actually green.
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: "environment-setup-ffmpeg"
3
+ description: "Install and validate FFmpeg on macOS, Linux, or Windows for optional Appium media capabilities"
4
+ metadata:
5
+ last_modified: "Mon, 09 Mar 2026 13:10:00 GMT"
6
+
7
+ ---
8
+ # environment-setup-ffmpeg
9
+
10
+ ## Goal
11
+ Installs and validates FFmpeg in a cross-platform way so Appium environments can use optional media-related capabilities when explicitly requested.
12
+
13
+ ## Decision Logic
14
+ - If host OS is unsupported: stop and ask the user to run on macOS, Linux, or Windows.
15
+ - If `ffmpeg` is already available in `PATH`: do not reinstall; only validate version output.
16
+ - If user has not explicitly requested FFmpeg-related capability: skip this skill.
17
+ - If host OS is macOS: prefer Homebrew install.
18
+ - If host OS is Linux: use distro package manager install.
19
+ - If host OS is Windows: prefer `winget`; fallback to Chocolatey if `winget` is unavailable.
20
+
21
+ ## Instructions
22
+ 1. **Detect OS and current FFmpeg availability**
23
+ macOS/Linux:
24
+ ```bash
25
+ uname -s
26
+ command -v ffmpeg || echo "ffmpeg not found"
27
+ ffmpeg -version || true
28
+ ```
29
+ Windows PowerShell:
30
+ ```powershell
31
+ [System.Environment]::OSVersion.VersionString
32
+ Get-Command ffmpeg.exe -ErrorAction SilentlyContinue
33
+ ffmpeg -version
34
+ ```
35
+
36
+ 2. **Install FFmpeg when missing**
37
+ macOS (Homebrew):
38
+ ```bash
39
+ brew install ffmpeg
40
+ ```
41
+ Linux (Debian/Ubuntu):
42
+ ```bash
43
+ sudo apt-get update
44
+ sudo apt-get install -y ffmpeg
45
+ ```
46
+ Linux (RHEL/CentOS/Fedora):
47
+ ```bash
48
+ sudo dnf install -y ffmpeg
49
+ ```
50
+ Linux (Arch):
51
+ ```bash
52
+ sudo pacman -S --noconfirm ffmpeg
53
+ ```
54
+ Windows PowerShell (`winget` preferred):
55
+ ```powershell
56
+ winget install --id Gyan.FFmpeg --exact --accept-package-agreements --accept-source-agreements
57
+ ```
58
+ Windows PowerShell (Chocolatey fallback):
59
+ ```powershell
60
+ choco install ffmpeg -y
61
+ ```
62
+
63
+ 3. **Validate installation and PATH**
64
+ macOS/Linux:
65
+ ```bash
66
+ command -v ffmpeg
67
+ ffmpeg -version
68
+ ```
69
+ Windows PowerShell:
70
+ ```powershell
71
+ Get-Command ffmpeg.exe -ErrorAction SilentlyContinue
72
+ ffmpeg -version
73
+ ```
74
+
75
+ 4. **Report capability in task result**
76
+ Include:
77
+ - resolved FFmpeg executable path
78
+ - first line of `ffmpeg -version`
79
+ - whether installation was skipped because FFmpeg was already present
80
+
81
+ ## Completion criteria
82
+ Mark complete only when all are true:
83
+ - `ffmpeg` is resolvable from `PATH`
84
+ - `ffmpeg -version` succeeds
85
+ - result summary states whether install was performed or skipped
86
+
87
+ ## Constraints
88
+ - This is an optional skill; run only when the user explicitly requests FFmpeg-related setup.
89
+ - Ask before installing optional dependencies.
90
+ - If privileged commands are required, pause and provide exact commands for user execution.
91
+ - Do not modify unrelated Appium, Java, Android SDK, or Xcode configuration in this skill.