android-source-search
Use when needing to fetch Android source code — AOSP platform internals (@hide APIs, framework classes, system services) or AndroidX/Jetpack library source and samples. Also use when public docs are insufficient to complete a task and implementation details must be read directly from source.
How do I install this agent skill?
npx skills add https://github.com/rcosteira79/android-skills --skill android-source-searchIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides instructions for accessing and fetching Android source code from official Google and GitHub repositories. It guides the agent to use specific MCP tools or fallback to standard web fetching and GitHub CLI commands. All referenced external sources are well-known, official repositories for Android development.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Android Source Search
Two source trees, two access strategies. AOSP lives on android.googlesource.com (Gitiles); AndroidX lives on GitHub. cs.android.com blocks automated fetching — it's a human-browse JS SPA only (never WebFetch it).
Preferred: the android-sources MCP
If mcp__android-sources__* tools are available, always prefer them over WebFetch/gh — local source, sub-10ms lookups:
| Goal | MCP tool |
|---|---|
| Find a class by name/pattern | search_classes (glob, e.g. *ViewModel*) |
| Read full class / a method / its members | lookup_class / lookup_method / list_class_members |
| Class hierarchy | get_class_hierarchy |
| Search text/regex across sources | search_in_source |
| List AndroidX artifact versions | list_available_versions |
| Definition / references / type info (LSP) | goto_definition / find_references / get_type_info |
Fall back to the WebFetch/gh strategies below only when the MCP tools aren't available.
Fallback: WebFetch + gh
AOSP (framework internals, @hide APIs, internal constants, default attr values) → Gitiles. Raw text is base64-encoded and smaller:
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/{path}?format=TEXT
Use refs/heads/main (the active default branch), or a tag like android-14.0.0_r74 for a specific API level. Key repos: platform/frameworks/base (core/java/android/ → View/Activity/Context; services/core/java/ → system services; core/res/ → default attrs/styles), platform/libcore (ojluni/src/main/java/ → Java core).
AndroidX (androidx.* source + samples) → GitHub. File content via raw.githubusercontent.com; directory listings via gh api:
https://raw.githubusercontent.com/androidx/androidx/androidx-main/{path}
gh api repos/androidx/androidx/contents/{path} --jq '.[].name'
Samples live next to the source as {ClassName}Samples.kt under a samples/ subpath. Key path prefixes: Compose UI compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/, Foundation compose/foundation/foundation/src/commonMain/kotlin/, Animation compose/animation/animation/src/commonMain/kotlin/. AndroidX is mirrored on Gitiles (platform/frameworks/support, androidx-main), but the GitHub layout is the canonical, better-documented path for androidx.* — prefer it.
When the path is unknown
Use cs.android.com as a human search UI (not WebFetch — JS SPA) to locate the class/file, then fetch via Gitiles (AOSP) or raw.githubusercontent.com / gh api (AndroidX):
https://cs.android.com/search?q=ClassName+methodName&ss=android # &ss=androidx for AndroidX
Both trees change frequently — always fetch current source rather than trusting remembered line numbers.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/rcosteira79/android-skills/android-source-search">View android-source-search on skillZs</a>