[Bug] android-cli skill should ask the user to install rather than auto-installing
- Dominant language
- Python
- Stars
- 7.3k
- Forks
- 476
- Avg merge
- 8h 59m
- Merged PRs (30d)
- 7
Description
### Affected Skill
devtools/android-cli
### Description
The android-cli skill instructs the agent to install the Android CLI onto the user's machine via curl | bash if it's not found in PATH. This is a system-wide install, not a project-scoped dependency. The skill is written as an imperative instruction to the agent ("install it") rather than informing the user and letting them decide.
This is inconsistent with how other skills in this repo handle external dependencies. Skills like `device-ai/appfunctions`, `system/edge-to-edge`, `jetpack-compose/adaptive`, and `xr/display-glasses-with-jetpack-compose-glimmer` all use a Prerequisites section that declares what's needed without instructing the agent to install it. For example, `appfunctions` states:
▎ The app must targetSdk 36 or newer and use compileSdk 37 or newer
The `android-cli` skill could follow the same pattern.
### Expected Behavior
The skill should check whether android is in PATH and, if missing, inform the user with installation instructions for their platform — letting them choose to install. This matches the Prerequisites pattern used by other skills in the repo.
### Actual Behavior
The skill tells the agent to run the install directly:
> If the android tool is not in the path, install it. To install run the following command: Linux: curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash
The agent treats this as an instruction to execute, not a suggestion to present. While agent runtimes may gate shell execution behind a permission prompt, the skill's intent is "do this" not "ask the user about this."
### Steps to Reproduce
1. Use any supported model (tested with Claude Opus via Claude Code)
2. Invoke the android-cli skill in a project where the android CLI is not installed
3. The agent attempts to run `curl -fsSL .../install.sh | bash` as part of its workflow
### Suggested Fix
Change the Installation section from an imperative "install it" to a prerequisite check with user notification:
```
## Prerequisites
This skill requires the `android` CLI tool to be in PATH. If it is not installed,
inform the user and provide the installation instructions for their platform:
- Linux: `curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash`
- Mac Arm: `curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash`
- Mac Intel: `curl -fsSL https://dl.google.com/android/cli/latest/darwin_x86_64/install.sh | bash`
- Windows: `curl -fsSL https://dl.google.com/android/cli/latest/windows_x86_64/install.cmd -o "%TEMP%\i.cmd" && "%TEMP%\i.cmd"`
```
Additionally, consider adding a metadata field to the skill frontmatter (e.g. `external-tools: [android-cli]`) to let agents and users distinguish skills with system-level dependencies from pure guidance skills. 5 of 18 skills already use a Prerequisites section — standardising this pattern across all skills would improve consistency.
Contributor guide
Research direction
Open the devtools/android-cli skill and locate its Installation instructions; compare the wording with the Prerequisites sections in device-ai/appfunctions, system/edge-to-edge, jetpack-compose/adaptive, and xr/display-glasses-with-jetpack-compose-glimmer. Done when a missing android CLI is reported with platform-specific instructions instead of being directed to install automatically; consider the metadata suggestion separately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, shell
- Domain
- devtools, documentation
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100