android / android/skills

[Bug] android-cli skill should ask the user to install rather than auto-installing

Open Beginner friendly
#61 3 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.