A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
AI coding skills and prompts for Android lead engineers, works with Claude, GitHub Copilot, Gemini, and Cursor. Covers J
Encode your team's Android engineering standards into Claude Code and other AI assistants — once, consistently, forever.
Claude already knows what Hilt, Room, and Compose are. You don't need to teach it Android.
What you do need is for every AI-generated screen in your project to follow your architectural decisions — your spacing grid, your state modelling pattern, your animation standards, your colour token hierarchy. Without a skill, Claude will make different choices on different days, and your codebase slowly diverges.
This skill is a team standards document for AI. Install it once. Every Claude Code session — yours, your teammates', your CI's — follows the same patterns.
Without skill → Claude produces correct-but-generic Android code
With skill → Claude produces your project's Android code
| Without Skill | With Skill | |
|---|---|---|
| Color system | 6–8 Material roles, hardcoded hex | All 29 roles defined, 3-layer token architecture |
| Shared element transitions | Instant navigation or basic slide | sharedBounds() / sharedElement() with correct scope threading |
| Loading states | CircularProgressIndicator centred on grey | Skeleton shimmer mirroring real content geometry |
| State modelling | var isLoading, var error, var data | sealed interface with Loading, Ready(data), Error(message) |
| ViewModel events | StateFlow for everything (toast replays on rotation) | SharedFlow(replay=0) for events, StateFlow for state |
| UI quality | Ships when it compiles | Blocked by 29-item binary checklist |
| Spacing | Random dp values | 4dp grid enforced via AppSpacing.* tokens |
| Dark mode | Inverted colours or forgotten | Correct tonal mapping, all 29 roles defined in both schemes |
Loading / Ready(data) / Error(message, canRetry)StateFlow for persistent state, SharedFlow(replay=0) for one-time eventsSingletonComponent → ViewModelComponentSavedStateHandle.toRoute<T>() for type-safe argument extractionCompositionLocal extensions: gradient colors, warning/success roles, dimensionsSharedTransitionLayout / SharedTransitionScope / AnimatedVisibilityScopesharedElement() vs sharedBounds() decision guide with comparison tableCompositionLocal — when to use eachSharedTransitionLayout)stiffness × dampingRatio decision table)AnimatedVisibility stagger pattern — delay = min(index × 40ms, 300ms)Animatable for gesture-coupled drag-to-dismiss and swipe-to-revealupdateTransition for multi-property state machinesAnimatedContent for tab switching with directional slide@Serializable data classesTaskStackBuilder for notifications)popUpTo, saveState, restoreState for multi-backstacksSavedStateHandle.toRoute<T>() in ViewModelBackHandlerWindowSizeClass — Compact / Medium / Expanded breakpointsNavigationSuiteScaffold — automatic bottom bar / rail / drawer selectionListDetailPaneScaffold — list+detail on tablet, single-pane on phoneFoldingFeature detection, table-top mode layoutsafeDrawingPadding, imePadding, systemGesturesPaddingAppDispatchers — testable dispatcher selectioncollectAsStateWithLifecycle() vs collectAsState() — why it mattersflatMapLatest vs flatMapMerge vs flatMapConcat — decision tablestateIn(SharingStarted.WhileSubscribed(5000)) — the correct patternawaitItem(), advanceTimeBy(), cancelAndIgnoreRemainingEvents()CancellationException must always be rethrownGlobalScope prohibition with explanationFlow<DomainResult<T>> + suspend DomainResult<T>DomainError sealed interface — NetworkUnavailable, Unauthorized, NotFound, ServerError@Upsert, Flow<T> DAOs, in-memory testingEncryptedSharedPreferences + EncryptedFile for sensitive storageBiometricPrompt implementationCertificatePinner + Network Security Config XMLBuildConfig from env vars@Stable, @Immutable, ImmutableList, lambda stabilityderivedStateOf — prevent threshold-driven over-recompositionBaselineProfileRule, critical user journeysStartupTimingMetric, FrameTimingMetricNotifications: FCM setup, channels grouped by user intent, POST_NOTIFICATIONS permission, action receivers with goAsync(), notification groups
Background Work: @HiltWorker with retry logic, work chaining, expedited workers, Foreground Services (Android 14 service types), AlarmManager for exact alarms
Image Loading: Coil3 ImageLoader configuration (OkHttp, memory/disk cache), SubcomposeAsyncImage for custom loading states, lazy list performance traps, video thumbnails, SVG, animated GIF
Accessibility: Semantic roles, contentDescription rules, custom accessibility actions, focus management, live regions, WCAG AA contrast guide, TalkBack testing checklist
Testing: Testing pyramid (unit/integration/screenshot/E2E), FakeRepository over mocks, Roborazzi JVM screenshot tests, Turbine for Flow testing, MainDispatcherRule
→ references/notifications.md · references/background-work.md · references/image-loading.md · references/accessibility.md · references/testing.md
Gradle: Convention plugins (build-logic/ composite build), version catalog (libs.versions.toml), AGP↔Gradle compatibility matrix, gradle-wrapper.properties — the file everyone forgets
Bootstrap: Minimum res/ files for any app module (themes.xml, adaptive icons, strings), VectorDrawable element restrictions
ADB / MCP: Screenshot-driven UI review loop, logcat filtering, UI hierarchy dump, animation frame-interval debugging, responsive testing (font scale, RTL, density, foldable states)
→ references/build-and-modules.md · references/android-mcp.md
Luminary — a news reader built entirely with this skill. Demonstrates shared element transitions, full 29-role colour system, skeleton loading, staggered animations, and Clean Architecture end-to-end.
Every pattern in that codebase traces to a specific section of this skill.
# From your project root
git clone https://github.com/ayush016/android-lead-agent-skills.git \
.claude/skills/android
Add to your project's CLAUDE.md:
## Active Skills
- **android**: `.claude/skills/android/SKILL.md`
Covers architecture, Compose, animations, theming, navigation, security, performance, testing, and more.
mkdir -p ~/.claude/skills
git clone https://github.com/ayush016/android-lead-agent-skills.git \
~/.claude/skills/android
Add to ~/.claude/CLAUDE.md:
## Skills
- android: ~/.claude/skills/android/SKILL.md
Copy SKILL.md into the relevant rules/instructions location for your tool:
| Tool | Location |
|---|---|
| GitHub Copilot | .github/copilot-instructions.md |
| Cursor | .cursor/rules/android.mdc |
| Gemini Code Assist | .gemini/context.md |
The skill auto-loads when it detects Android-related work — any .kt file with Compose imports, mentions of ViewModel / Hilt / Room / Coroutines, Gradle config, or ADB / MCP usage.
Using the android skill, build a product detail screen with a shared element
transition from the list thumbnail. Use the offline-first data layer pattern.
Review this composable against the android skill's UI excellence checklist.
Using the android skill, set up Baseline Profiles and Macrobenchmark
for the critical cold-start and scroll paths.
Be clear-eyed about limitations:
android-lead-agent-skills/
│
├── SKILL.md ← Load this into your AI tool
│
├── references/ ← Deep-dive guides (load on demand)
│ ├── theming-and-color.md ★ All 29 M3 roles, 3-layer tokens
│ ├── shared-element-transitions.md ★ 4 full Kotlin patterns + 6 pitfalls
│ ├── compose-ui-system.md ★ Design system, shimmer, gradients
│ ├── motion-and-animation.md ★ Spring physics, Canvas, choreography
│ ├── navigation.md Type-safe nav, deep links, multi-module
│ ├── architecture.md ViewModel, state, DI, Clean Architecture
│ ├── adaptive-layouts.md WindowSizeClass, foldables, insets
│ ├── coroutines-and-flow.md Dispatchers, operators, cancellation
│ ├── data-layer.md Offline-first, Room, Retrofit
│ ├── performance.md Baseline Profiles, R8, recomposition
│ ├── security.md Encryption, biometrics, cert pinning
│ ├── background-work.md WorkManager, Foreground Services, Alarms
│ ├── image-loading.md Coil3, SubcomposeAsyncImage, caching
│ ├── notifications.md FCM, channels, action receivers
│ ├── accessibility.md Semantics, TalkBack, WCAG AA
│ ├── testing.md Roborazzi, Turbine, fakes
│ ├── build-and-modules.md Gradle, convention plugins, bootstrap
│ └── android-mcp.md ADB, screenshot review, debugging
│
└── assets/
└── ui-excellence-checklist.md ← 29-item binary quality gate
Files marked ★ are the most impactful — start here if you're evaluating the skill.
| Component | Version |
|---|---|
| AGP | 8.5.2 |
| Gradle | 8.7 (pinned via wrapper) |
| Kotlin | 2.0.21 |
| Compose BOM | 2024.09.00 |
| Navigation Compose | 2.8.4 |
| Hilt | 2.52 |
| min SDK | 26 (API 26 = ~99% device coverage) |
| target SDK | 35 |
Versions are pinned at time of last update. Always verify against the official AGP compatibility table before upgrading.
The skill improves when patterns fail in the real world. Open a PR if:
PR format: Include the specific file and section, the problem with the current content, the replacement, and ideally a link to the relevant Android documentation.
MIT © 2025 Ayush Shrivastava
See LICENSE for full terms. TL;DR: use it, fork it, build on it — attribution appreciated but not required.
If this skill improved your Android + AI workflow, a ⭐ on the repo helps others find it.
1000+ skills curated from Anthropic, Vercel, Stripe, and other engineering teams
Design enforcement with memory — keeps your UI consistent across a project
Universal SEO skill for Claude Code. 25 sub-skills + 18 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, bac
Route Claude Code traffic to any of 17 provider backends including free or local models