一键导入
com-android-vending-install-app
Search for an Android app in Google Play and install it from the matching app details page.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Search for an Android app in Google Play and install it from the matching app details page.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Set the AirTouch 5 fan level to auto, low, medium, or high from the Home screen.
Set one or more AirTouch 5 Home-screen controls in a single run.
Set the AirTouch 5 operating mode to cool, heat, fan, dry, or auto from the Home screen.
Set the AirTouch 5 system power state to on or off from the Home screen.
Search for products in the Amazon Shopping Android app.
Open Android Settings, snapshot visible UI text, and capture a screenshot file path.
| name | com.android.vending.install-app |
| clawperator-skill-type | replay |
| description | Search for an Android app in Google Play and install it from the matching app details page. |
Searches Google Play for a named app, opens the matching app details page, and installs it if needed. The skill does not rely on Play suggestions; it submits the query, inspects the results surface, opens the matched result, and then verifies the install outcome from the details page.
Validation commonly targets com.actionlauncher.playstore as the sample app to install.
| State | UI signal | Node attribute |
|---|---|---|
| Ready to install | "Install" button | content-desc="Install" or text="Install" |
| Installation in progress | Progress indicator, "Cancel" button | content-desc="Cancel" present, no "Open" yet |
| Just installed (transition) | "Open" and "Cancel" both present, progress at 100% | text="Open" present |
| Installed (settled state) | "Open" and "Uninstall" both present | text="Open" and text="Uninstall" |
| Already installed | Same as settled: "Open" and "Uninstall" | No "Install" present |
| Update available | "Update" button present | text="Update" |
| Paid app / paywall | Price shown instead of "Install" | Text like "$4.99" in place of "Install" |
| Login required | Account picker or sign-in prompt | text="Sign in" or similar |
| Incompatible device | "Not available for your device" | Informational text, no Install button |
./skills/com.android.vending.install-app/scripts/install_play_app.sh <device_id> <app_name> [operator_package]
Example:
./skills/com.android.vending.install-app/scripts/install_play_app.sh <device_serial> "Spotify"
On success, prints:
✅ summary linecontentDescEquals: "Install".clickable=false but its parent container is clickable=true.
Clawperator clicks the center of the matched node's bounding box, which lands on the
clickable parent. This works correctly.clawperator snapshot and evaluating the result with parseInstallSignals
until install-state signals such as Open appear, which is more robust than a
fixed sleep. The default timeout in this skill is 120 seconds.success: false with
data.error: "SNAPSHOT_EXTRACTION_FAILED", or the skill exits with "Preflight snapshot
returned empty" despite the device showing the app details page, the clawperator binary
may be out of date with the Android Operator APK. Set CLAWPERATOR_BIN to the
local build:
export CLAWPERATOR_BIN=/path/to/clawperator/apps/node/dist/cli/index.js
Then verify with: clawperator snapshot --device <id>