OpenAppSkill
Skill21 starsChanged 4 months agoMITView on GitHub
Guide the Android agent to open an app, and use Google Play lookup and install tools when the app is missing.
In this repository8 other files it gives its agents.
- bluetoothSkill
- daily-device-briefSkill
- mailSkill
- RoutePlanningNavigationSkillSkill
- shoppingSkill
- my-skillSkill
- web researchSkill
- wifiSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
38 rules. About 0 are common, 27 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈27
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
When the user says "open," "launch," "enter," "use," "open," "launch," or "go to," treat it as an open intent.
- Distinctive: line 29
When the user says "download," "install," "get," "install," or "download," treat it as an install intent.
- Very specific: line 30
When the user asks to "install then open," after a successful install you must call launch_app.
- Distinctive: line 31
When the user explicitly says "install only," "download only," or "do not open," stop after installation.
- Distinctive: line 32
When the user provides neither an app name nor a package name, first ask which app to open.
- Very specific: line 39
If launch_app completes normally, the task is complete.
- Distinctive: line 40
If the Tool failure says the app was not found, proceed to package-name resolution and the Google Play lookup flow.
- Distinctive: line 41
If the Tool failure says the match is ambiguous, let the user choose one of the returned candidate package names.
- Distinctive: line 42
If the Tool failure reports no launcher entry, a system denial, or another launch failure, stop and report the reason.
- Distinctive: line 43
Only skip this step when the user explicitly asks to "download only / install only."
- Distinctive: line 47
If the user provided a valid Android package name, use it directly.
- Very specific: line 48
If only an app name is available, use web_search to find the exact package name, preferring official or Google Play results.
- Distinctive: line 49
Prefer recognizing Google Play URLs in this form:
- Distinctive: line 61
When recording candidates, keep at least:
- Distinctive: line 68
If multiple candidates are reasonable, ask the user to choose.
- Distinctive: line 69
If the exact package name cannot be reliably determined, stop and state that the package name could not be confirmed.
- Distinctive: line 75
If the normal query result says the Google Play listing is available, proceed to install.
- Distinctive: line 76
If the normal query result says the listing was not found, stop and state that this exact package name is not listed on Google Play.
- Distinctive: line 77
If another regional-variant candidate exists, you must first ask the user whether to switch.
- Distinctive: line 78
If the Tool fails because of HTTP, network, or package-name validation, stop and report that the Google Play lookup could not be completed.
- Very specific: line 82
Call play_store_install only after the normal play_store_check_app result confirms that the listing is available.
- Very specific: line 84
If play_store_install completes normally, the installation succeeded.
- Very specific: line 85
If the Tool failure says the app is already installed, treat it as installed.
- Very specific: line 91
If the user's original goal is to open, launch, enter, or use the app, after a successful install you must call launch_app, using the exact …
- Very specific: line 92
If a subsequent task depends on the app already being in the foreground, you must also call launch_app after a successful install.
- Distinctive: line 93
If the user only asks to download/install, or explicitly says not to open, stop after a successful install.
- Very specific: line 94
If launch_app after install fails, stop and report the failure reason.
- Distinctive: line 98
Stop immediately and explain the reason when any of the following occurs:
- Distinctive: line 112
Use Google Play tools only when the app is not installed or the user explicitly asks to install.
- Very specific: line 113
Use play_store_check_app as the gate step for Google Play lookup and installability.
- Very specific: line 114
Use play_store_install as the Google Play download/install step.
- Distinctive: line 115
Always use the exact package name when calling Google Play tools.
- Distinctive: line 116
Do not fabricate package names.
- Distinctive: line 117
Do not install third-party APKs.
- Distinctive: line 118
Do not claim to support installation from third-party app stores in the China region.
- Distinctive: line 119
Do not silently swap regional variants or similar products.
- Distinctive: line 120
Do not rely on cached installed-state, historical search results, or previous tool results.
- Distinctive: line 121
Stop and report on any failure, unless the user explicitly asks to try an alternative or retry.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Open App Skill
Skill Name
Open App
Description
Use this skill when the user asks to open, launch, enter, or use an Android app. The core goal is to bring the user-specified app to the foreground. Only when the app is not installed, or the user explicitly asks to download/install it, do you enter the Google Play lookup and install flow.
This skill must fail fast. Do not, on failure, try other apps, other regional variants, third-party app stores, or fuzzy substitutes unless the user explicitly asks.
Required Tools
launch_app: Open a launchable app by Android package name or installed app display name.web_search: Query official Google Play links, package names, and regional variant information when needed.play_store_check_app: Check whether an app exists on Google Play using an exact package name.play_store_install: Open the Google Play detail page for an exact package name, tap Install, and wait for installation to finish.
Intent Rules
- When the user says "open," "launch," "enter," "use," "open," "launch," or "go to," treat it as an open intent.
- When the user says "download," "install," "get," "install," or "download," treat it as an install intent.
- When the user asks to "install then open," after a successful install you must call
launch_app. - When the user explicitly says "install only," "download only," or "do not open," stop after installation; do not open the app.
- When the user provides neither an app name nor a package name, first ask which app to open.
Main Workflow
1. Open First For Open Intent
- For an open intent, call
launch_appfirst, using the app name or package name from the user's current request. - If
launch_appcompletes normally, the task is complete. Do not infer success from a text prefix. - If the Tool failure says the app was not found, proceed to package-name resolution and the Google Play lookup flow.
- If the Tool failure says the match is ambiguous, let the user choose one of the returned candidate package names. Do not install any app before the user confirms.
- If the Tool failure reports no launcher entry, a system denial, or another launch failure, stop and report the reason. Do not treat Google Play as a universal fix.
- Only skip this step when the user explicitly asks to "download only / install only."
2. Resolve Exact Package Name
- If the user provided a valid Android package name, use it directly.
- If only an app name is available, use
web_searchto find the exact package name, preferring official or Google Play results. Prefer recognizing Google Play URLs in this form:
https://play.google.com/store/apps/details?id=<packageName>- Recommended queries:
<app name> Android Google Play package namesite:play.google.com/store/apps/details <app name> Android<app name> official Android app packageName
- For apps with regional variants, also query regional package names, but do not treat regional variants as interchangeable apps:
<app name> global Android package name<app name> China region Android package name<app name> domestic version Android packageName
- When recording candidates, keep at least:
app_namepublisherregionpackageNamesource_url
- Accept a candidate package name only when the app name, publisher, region, and product identity all strongly match.
- If multiple candidates are reasonable, ask the user to choose. Do not default to installing the first search result.
- If the exact package name cannot be reliably determined, stop and state that the package name could not be confirmed.
3. Check App In Google Play
- For an install intent, or after
launch_appreports that the app was not found, you must callplay_store_check_app. play_store_check_appaccepts only a single exact package name. Do not pass app names, search terms, or fuzzy candidates.- If the normal query result says the Google Play listing is available, proceed to install.
- If the normal query result says the listing was not found, stop and state that this exact package name is not listed on Google Play.
- If another regional-variant candidate exists, you must first ask the user whether to switch. Do not automatically replace Douyin with TikTok, or treat another regional version as the same app.
- If the Tool fails because of HTTP, network, or package-name validation, stop and report that the Google Play lookup could not be completed.
4. Install From Google Play
- Call
play_store_installonly after the normalplay_store_check_appresult confirms that the listing is available. play_store_installaccepts only an exact package name. Do not pass app names, search terms, or URLs.- If
play_store_installcompletes normally, the installation succeeded. - If the Tool failure says the app is already installed, treat it as installed; if the original intent requires opening, continue with
launch_app. - For any other Tool failure, stop and report the reason. When the outcome is unknown, ask the user to check Google Play or installed apps before any retry.
5. Open After Install When Needed
- Remember that
play_store_installis only responsible for downloading/installing; it does not open the app. - If the user's original goal is to open, launch, enter, or use the app, after a successful install you must call
launch_app, using the exact package name just installed. - If a subsequent task depends on the app already being in the foreground, you must also call
launch_appafter a successful install. - If the user only asks to download/install, or explicitly says not to open, stop after a successful install.
- If
launch_appafter install fails, stop and report the failure reason. Do not switch apps or stores.
Stop Conditions
Stop immediately and explain the reason when any of the following occurs:
- The user has not provided a target app.
- The exact package name cannot be reliably determined.
- Multiple candidate apps or regional variants are all reasonable and require user selection.
launch_appfails for a reason other than not-installed or ambiguous candidates.play_store_check_appshows the exact package name is not listed on Google Play.- The Google Play lookup fails, the network fails, or the package name is invalid.
- Google Play installation fails, times out, is interrupted, or shows a paid/purchase/subscription/pre-registration/update-only entry.
- The user denies the open or install approval.
Behavior Requirements
- For open-type requests, always try
launch_appfirst. - Use Google Play tools only when the app is not installed or the user explicitly asks to install.
- Use
play_store_check_appas the gate step for Google Play lookup and installability. - Use
play_store_installas the Google Play download/install step. - Always use the exact package name when calling Google Play tools.
- Do not fabricate package names.
- Do not install third-party APKs.
- Do not claim to support installation from third-party app stores in the China region.
- Do not silently swap regional variants or similar products; a regional-variant switch must be confirmed by the user.
- Do not rely on cached installed-state, historical search results, or previous tool results; treat each task according to the current tool's return value.
- Stop and report on any failure, unless the user explicitly asks to try an alternative or retry.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

