Install the "android-java" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/android-java into .claude/skills/android-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-java", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add alinaqi/maggy --skill android-java -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "android-java" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/android-java into .agents/skills/android-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-java", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add alinaqi/maggy --skill android-java -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "android-java" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/android-java into .cursor/skills/android-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-java", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add alinaqi/maggy --skill android-java -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "android-java" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/android-java into .gemini/skills/android-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-java", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
GitHub CLI
$ gh skill install alinaqi/maggy android-java
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add alinaqi/maggy --skill android-java -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "android-java" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/android-java into .github/skills/android-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-java", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add alinaqi/maggy --skill android-java -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "android-java" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/android-java into .opencode/skills/android-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-java", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
android-java
GitHub stars
707
Token cost
~3.9k tokens
SKILL.md length
172 words
Files
1
Skills in repo
71
Repo updated
First seen
Licence
MIT
At a glance
Android Java development with MVVM, ViewBinding, and Espresso testing
Tasks that involve Mobile testing and debugging
SKILL.md covers Project Structure, Gradle Configuration, Architecture Patterns and Activity & Fragment Patterns, plus 5 more sections
Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
What it does
Android Java is an agent skill from alinaqi/maggy. Android Java development with MVVM, ViewBinding, and Espresso testing
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Mobile, covering Mobile testing and debugging. It works with Java and Android. The repository describes itself as: What started as an opinionated Claude Code setup kit is now an autonomous AI engineering command center. The licence is MIT.
When your agent uses it
Tasks that involve Mobile testing and debugging
Example prompts
“/android-java”
What it can do on your machine
Read from SKILL.md and the folder at commit 72a456e. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
No scripts in the folder and no shell commands in SKILL.md (its code samples are java, groovy, yaml and xml).
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Android Java loads about 3.9k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 172 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~21
When it runs· the whole SKILL.md, loaded when a task matches
~3.9k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check: notes
The automated check noted patterns worth knowing about, such as sudo or a known installer.
NoteRuns commands with sudoSKILL.md:438
DE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
NoteRuns commands with sudoSKILL.md:439
sudo udevadm control --reload-rules
NoteRuns commands with sudoSKILL.md:440
sudo udevadm trigger --name-match=kvm
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
// Define callback interface
public interface Callback<T> {
void onSuccess(T result);
void onError(String message);
}
// Use with null checks
public void fetchData(Callback<Data> callback) {
if (callback == null) return;
try {
Data result = performFetch();
callback.onSuccess(result);
} catch (Exception e) {
callback.onError(e.getMessage());
}
}
Safe Context Usage
java
// Use application context for long-lived objects
public class DataManager {
private final Context appContext;
public DataManager(Context context) {
// Always use application context to prevent Activity leaks
this.appContext = context.getApplicationContext();
}
}
// Check for null context in callbacks
private void updateUI() {
Context context = getContext();
if (context == null || !isAdded()) return;
// Safe to use context
}
Thread-Safe Singleton
java
public class ApiClient {
private static volatile ApiClient instance;
private final Retrofit retrofit;
private ApiClient() {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public static ApiClient getInstance() {
if (instance == null) {
synchronized (ApiClient.class) {
if (instance == null) {
instance = new ApiClient();
}
}
}
return instance;
}
}
Android Anti-Patterns
❌ Context leaks - Never hold Activity/Fragment references in static fields or singletons
❌ Memory leaks in callbacks - Always use WeakReference or clear callbacks in onDestroy
❌ UI updates on background thread - Always post to main thread for UI changes
❌ Hardcoded strings - Use string resources for all user-visible text
❌ God Activities - Keep Activities under 200 lines, extract logic to ViewModels
❌ NetworkOnMainThreadException - Never perform network calls on main thread
❌ Ignoring lifecycle - Always respect Activity/Fragment lifecycle states
❌ Blocking the main thread - Keep main thread operations under 16ms
❌ Not handling configuration changes - Use ViewModel to survive rotation
❌ Hardcoded dimensions - Use dp/sp units and dimension resources
❌ Deep view hierarchies - Keep layout depth under 10 levels, use ConstraintLayout
❌ Not closing resources - Always close Cursor, InputStream, database connections
Android Java next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
A skill your agent uses when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line…
Provides idiomatic Kotlin extension (KTX) patterns, reactive Flow event streams, and multi-subscriber shareIn rules for Google Maps SDK for Android and its Utility Library.
Android Java development with MVVM, ViewBinding, and Espresso testing. Android Java is an agent skill from alinaqi/maggy.
When should I use Android Java?
Android Java fits situations like: tasks that involve Mobile testing and debugging.
How do I install Android Java in Claude Code?
Run `npx skills add alinaqi/maggy --skill android-java -a claude-code`. Or copy the skill folder (skills/android-java in alinaqi/maggy) into .claude/skills/android-java in your project. Claude Code loads it when a task matches its description.
How do I install Android Java in Codex?
Run `npx skills add alinaqi/maggy --skill android-java -a codex`. Or copy the skill folder (skills/android-java in alinaqi/maggy) into .agents/skills/android-java in your project. Codex loads it when a task matches its description.
Can I use Android Java in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alinaqi/maggy --skill android-java -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/android-java, .gemini/skills/android-java, .github/skills/android-java and .opencode/skills/android-java in your project.
What does Android Java need to run?
SKILL.md names no scripts, command-line tools or credentials: Android Java is instructions for the agent only.
Does Android Java access the network?
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Is Android Java safe to install?
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
What licence does Android Java use?
Android Java is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Android Java use?
About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Android Java?
Skills that share tags, products or a category with Android Java: Frb Android Emulator Prepare (fzyzcjy/flutter_rust_bridge, 5.4k stars), Android Maps Ktx (googlemaps/android-maps-ktx, 360 stars), Dpis Hyperos Smoke (Kwensiu/DPIS, 107 stars) and Verify Dreamdroid (sreichholf/dreamDroid, 116 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Android Java?
alinaqi (a GitHub user) maintains it in alinaqi/maggy, which has 707 GitHub stars. The repository holds 71 skills in this directory. The repository was last updated on September 24, 2026.
Source: alinaqi/maggy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.