Manus에서 모든 스킬 실행
원클릭으로
원클릭으로
원클릭으로 Manus에서 모든 스킬 실행
시작하기kotlin-android
Modern Android development - Jetpack, Compose, Architecture Components
스타7
포크1
업데이트2025년 12월 30일 12:44
파일 탐색기
6 개 파일SKILL.md
readonly메뉴
Modern Android development - Jetpack, Compose, Architecture Components
Jetpack Compose - composables, state, effects, theming
Kotlin coroutines - structured concurrency, Flows, exception handling
Dependency Injection - Hilt, Koin, scopes, testing
Kotlin DSL - type-safe builders, Gradle DSL, @DslMarker
Kotlin Flow - StateFlow, SharedFlow, operators, testing
Ktor framework - routing, authentication, WebSockets
| name | kotlin-android |
| description | Modern Android development - Jetpack, Compose, Architecture Components |
| version | 1.0.0 |
| sasmp_version | 1.3.0 |
| bonded_agent | 02-kotlin-android |
| bond_type | PRIMARY_BOND |
| execution | {"timeout_ms":30000,"retry":{"max_attempts":3,"backoff":"exponential","initial_delay_ms":1000}} |
| parameters | {"required":[{"name":"component","type":"string","validation":"^(viewmodel|compose|navigation|room|workmanager)$"}],"optional":[{"name":"min_sdk","type":"integer","default":24}]} |
| logging | {"level":"info","events":["skill_invoked","component_loaded","error_occurred"]} |
Production-ready Android development with Jetpack libraries.
@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) } }
}
}
@Composable
fun UserScreen(viewModel: UserViewModel = hiltViewModel()) {
val state by viewModel.uiState.collectAsStateWithLifecycle()
UserContent(state)
}
@Serializable
data class ProfileRoute(val userId: String)
composable<ProfileRoute> { entry ->
val route: ProfileRoute = entry.toRoute()
}
| Issue | Resolution |
|---|---|
| Recomposition loop | Mark class @Stable or use derivedStateOf |
| ViewModel recreated | Use hiltViewModel() not viewModel() |
Skill("kotlin-android")