Skip to content

Repository files navigation

android-skills

Agent skills for modern Android development with Kotlin and Jetpack Compose. Every skill follows Google's official documentation; a skill only goes further than Google where a rule is stricter, and those rules are marked (stricter than Google).

Skills

Architecture

Skill Covers Sources
android-architecture Layers, dependency direction, Hilt, modularization, models per layer, naming Guide to app architecture, Recommendations, Modularization patterns
android-domain-layer When to add use cases, naming, invoke, main-safety, testing Domain layer
android-data-layer Repositories, data sources, models, lifetimes, errors, caching, offline-first Data layer, Offline-first
android-viewmodel UI state production, events as state, lifecycle-aware collection UI layer, State production, UI events

UI

Skill Covers Sources
compose-ui remember and saveable state, state hoisting, screen vs reusable composables, component API conventions, modifiers, lifecycle effects, CompositionLocal, Material 3 theming, resources, previews State hoisting, API guidelines, CompositionLocal
compose-side-effects Effect APIs, effect keys, derivedStateOf, snapshotFlow, backwards writes Side-effects
compose-lists Lazy lists, grids, pagers, keys, contentType, Paging Lists and grids, Pager
compose-adaptive-layouts Window size classes, canonical layouts, NavigationSuiteScaffold Adaptive apps
compose-navigation Navigation 3 back stacks, entry decorators and lifecycle, ViewModel keys, scenes, transitions, results, deep links, modular features, Navigation 2 migration Navigation 3, nav3-recipes
compose-performance Release builds, composition tracing, Layout Inspector, Macrobenchmark and JankStats, phases and deferred reads, backwards writes, stability, Baseline Profiles Compose performance, Stability
compose-images painterResource vs AsyncImage, Coil 3, sizing and downsampling, lists, painter state, ImageLoader with OkHttp and caching, previews, tests Loading images, Coil
compose-accessibility Touch targets, labels, semantics properties, merging and clearing, custom actions, traversal, text scaling, contrast, debugging, automated checks Accessibility in Compose

Async

Skill Covers Sources
android-coroutines Dispatchers, main-safety, scopes, Flow context and sharing, lifecycle collection, cancellation, timeouts, exceptions, shared state, testing, concurrency review Coroutines best practices, Kotlin flows, Testing coroutines
android-retrofit Retrofit declarations and return types, remote data sources, OkHttp and Hilt setup, interceptors, auth, logging, errors, security, R8, MockWebServer Data layer, Connect to the network, Retrofit, OkHttp

Testing

Skill Covers Sources
android-testing Test scopes per layer, fakes, ViewModel and Flow tests, Hilt test bindings, Room DAO tests, Robolectric, Roborazzi and Compose Preview Screenshot Testing Testing strategies, Test doubles, Testing flows
compose-testing Compose test rules, finders, synchronization, state restoration, accessibility checks Testing Compose
android-emulator Android CLI and adb for AVDs, deploying APKs, UI layout, input, screenshots, logcat; Gradle Managed Devices Android CLI, Emulator command line, adb, Gradle Managed Devices

Gradle

Skill Covers Sources
gradle-build-logic Settings and repositories, version catalogs, convention plugins, AGP 9 built-in Kotlin and new DSL, Compose Compiler plugin Gradle build overview, Version catalogs, Built-in Kotlin
gradle-build-performance Build Analyzer, gradle-profiler, configuration and build cache, remote CI cache, KSP, heap tuning, AGP 9 defaults, Isolated Projects Optimize build speed, Profile your build

Migrations

Skill Covers Sources
migrate-xml-to-compose Incremental migration, interop, layout and widget mappings Migration strategy, Interoperability APIs
migrate-rxjava-to-coroutines Type and operator mappings, threading, UI state, interop, tests Kotlin flows, StateFlow and SharedFlow

Install

Pick one method; combining them loads every skill twice.

skills.sh (Claude Code, Codex, Cursor and other agents)

npx skills add pablitoarango/android-skills --global

The skills CLI asks which skills and agents to install. Without --global it installs into the current project instead of your user directory.

npx skills add pablitoarango/android-skills --list
npx skills add pablitoarango/android-skills --skill compose-ui android-coroutines --global
npx skills update
npx skills remove compose-ui

Symlinks (Claude Code and other agents)

git clone https://github.com/pablitoarango/android-skills.git ~/Development/android-skills
~/Development/android-skills/install.sh

install.sh links every skill into ~/.claude/skills and ~/.agents/skills, and removes links for skills that were renamed or deleted. Run it again after pulling changes. ./install.sh --uninstall removes the links.

Claude Code plugin

/plugin marketplace add pablitoarango/android-skills
/plugin install android-skills@android-skills

Plugin skills are namespaced, for example android-skills:compose-ui.

Repository layout

<category>/<skill-name>/SKILL.md     skill entry point
<category>/<skill-name>/*.md         reference files loaded only when needed
<category>/<skill-name>/scripts/     scripts the skill runs
.claude-plugin/                      plugin and marketplace manifests
skills.sh.json                       groupings for the skills.sh repository page
tools/validate_skills.py             checks run locally and in CI
install.sh                           symlink installer

Contribution rules are in AGENTS.md.

Validate

python3 tools/validate_skills.py
python3 -m unittest discover -s tools/tests -v

The validator checks frontmatter and names, description length, SKILL.md size, the opening Google source links, references between skills, relative links, em dashes, skills.sh.json groupings, and script syntax/help behavior. Regression tests cover ui.py element matching, device targeting and text input quoting, plus source-header and grouping validation. CI runs both on every push and pull request.

License

MIT. Some code samples are adapted from Apache 2.0 projects such as the Android Developers documentation, Now in Android, Retrofit, OkHttp and Coil; see THIRD_PARTY_NOTICES.md.

Not affiliated with or endorsed by Google. Android is a trademark of Google LLC.

Releases

Packages

Used by

Contributors

Languages