About android-kotlin
A skill for building Android applications with Kotlin, covering app architecture, UI, navigation, Gradle configuration, and release preparation. It is intended for developers working with Android components and Jetpack libraries.
Key features
- 01Activity and Fragment development
- 02Jetpack Compose UI
- 03ViewModel and state management
- 04Gradle configuration
- 05Navigation and permissions
- 06APK/AAB release preparation
Use cases
- 01Creating Kotlin Android applications
- 02Building Compose interfaces
- 03Configuring dependencies and build variants
- 04Preparing signed APK or AAB releases
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill android-kotlinAfter installing, type/android-kotlinin Claude Code to confirm it loaded.
Bundled filesLICENSE.txt
Details
From the project READMEWhen to use this skill
Use this skill whenever the user wants to:
- Create Android applications using Kotlin with Activities, Fragments, or Jetpack Compose
- Implement ViewModel, LiveData, StateFlow, or other Jetpack architecture components
- Configure Gradle build files (build.gradle.kts), dependencies, or build variants
- Set up navigation, permissions, or Android lifecycle handling
- Build and sign APK/AAB for release or configure ProGuard
How to use this skill
1. Project Setup
Create a new project with Android Studio or configure build files:
// build.gradle.kts (app module)
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0")
implementation("androidx.navigation:navigation-fragment-ktx:2.7.6")
}
2. Architecture (MVVM with ViewModel)
class MainViewModel : ViewModel() {
private val _items = MutableStateFlow<List<Item>>(emptyList())
val items: StateFlow<List<Item>> = _items.asStateFlow()
fun loadItems() {
viewModelScope.launch {
_items.value = repository.getItems()
}
}
}
3. UI with Jetpack Compose
@Composable
fun ItemList(viewModel: MainViewModel = viewModel()) {
val items by viewModel.items.collectAsState()
LazyColumn {
items(items) { item ->
Text(text = item.name, modifier = Modifier.padding(16.dp))
}
}
}
4. Navigation
Register destinations in the navigation graph and navigate programmatically:
findNavController().navigate(R.id.action_home_to_detail)
Best Practices
- Use
viewModelScopefor coroutines tied to ViewModel lifecycle; avoid leaking activities. - Save UI state with
SavedStateHandlein ViewModel; handle process death gracefully. - Use ViewBinding or Jetpack Compose instead of
findViewById. - Apply ProGuard/R8 rules for release builds; keep signing keys secure.
- Test with
@RunWith(AndroidJUnit4::class)and Espresso for UI tests.
Resources
- https://developer.android.com/kotlin
- https://developer.android.com/jetpack/compose
- https://developer.android.com/topic/architecture
Keywords
android, Kotlin, Jetpack, Compose, ViewModel, Navigation, Gradle, AndroidManifest.xml
Comments
Markdown supported