Claude-skill-registry kotlin-android
Modern Android development - Jetpack, Compose, Architecture Components
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/kotlin-android" ~/.claude/skills/majiayu000-claude-skill-registry-kotlin-android && rm -rf "$T"
manifest:
skills/data/kotlin-android/SKILL.mdsource content
Kotlin Android Skill
Production-ready Android development with Jetpack libraries.
Topics Covered
MVVM Pattern
@HiltViewModel class UserViewModel @Inject constructor( private val repository: UserRepository ) : ViewModel() { private val _uiState = MutableStateFlow(UiState()) val uiState = _uiState.asStateFlow() fun load() = viewModelScope.launch { _uiState.update { it.copy(isLoading = true) } repository.getUsers() .onSuccess { users -> _uiState.update { it.copy(users = users, isLoading = false) } } } }
Compose UI
@Composable fun UserScreen(viewModel: UserViewModel = hiltViewModel()) { val state by viewModel.uiState.collectAsStateWithLifecycle() UserContent(state) }
Type-Safe Navigation
@Serializable data class ProfileRoute(val userId: String) composable<ProfileRoute> { entry -> val route: ProfileRoute = entry.toRoute() }
Troubleshooting
| Issue | Resolution |
|---|---|
| Recomposition loop | Mark class @Stable or use derivedStateOf |
| ViewModel recreated | Use hiltViewModel() not viewModel() |
Usage
Skill("kotlin-android")