원클릭으로
ui-components
Structure and routing guide for composeApp screens, components, and their relationships.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Structure and routing guide for composeApp screens, components, and their relationships.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Audit repo dependencies by default and only apply library upgrades when explicitly requested.
Use Gradle commands to build and run the app by platform.
How to run, write, and debug local UI tests for Android, iOS, and browser builds.
How to list, pick, and boot Android emulators and iOS simulators for local app runs.
Guidance on where to place different types of code in this Kotlin Multiplatform project.
Guidelines for where to place different types of code in a Kotlin Multiplatform project.
| name | ui-components |
| description | Structure and routing guide for composeApp screens, components, and their relationships. |
Use this skill when working on UI in composeApp, especially to decide where to place new screens/components and how they connect.
composeApp/src/commonMain/kotlin/tech/arnav/twofac/screens/composeApp/src/commonMain/kotlin/tech/arnav/twofac/components/<domain>/composeApp/src/commonMain/kotlin/tech/arnav/twofac/navigation/NavigationRoutes.ktcomposeApp/src/commonMain/kotlin/tech/arnav/twofac/App.ktCurrent component domains:
components/accountscomponents/homecomponents/otpcomponents/securitycomponents/settingsHomeScreenAccountsScreenAddAccountScreenAccountDetailScreencomponents/* imports).SettingsScreenPlatformSettingsContent.PlatformSettingsContent (expect/actual)commonMain: expect declaration.desktopMain: tray/menu-bar toggle + quit button card.androidMain, iosMain, wasmJsMain: currently no-op actuals.HomeScreen
components/home/HomeLoadingStatecomponents/home/HomeEmptyStatecomponents/home/HomeLockedStatecomponents/otp/HomeOtpListSectioncomponents/security/PasskeyDialogAccountsScreen
components/accounts/AccountsLockedStatecomponents/accounts/AccountsErrorStatecomponents/accounts/AccountsListContentcomponents/security/PasskeyDialogAddAccountScreen
components/accounts/OtpUriInputFieldcomponents/accounts/QrImportActionscomponents/accounts/AddAccountPasskeyFieldcomponents/accounts/InlineErrorMessageSettingsScreen
components/settings/StorageLocationCardcomponents/settings/RememberPasskeyCardcomponents/settings/BackupProvidersCardcomponents/settings/CompanionSyncCardcomponents/settings/DeleteStorageDialogcomponents/security/PasskeyDialogscreens/PlatformSettingsContentAccountDetailScreen
HomeOtpListSection → renders OTPCard rows.AccountsListContent → renders AccountListItem rows.BackupProvidersCard → renders BackupProviderRow rows.components/<domain>/ComponentName.kt.components/accountscomponents/homecomponents/otpcomponents/securitycomponents/settingscomponents/*.tech.arnav.twofac.components.<domain>.ComponentName.screens/ (e.g. NewFeatureScreen.kt).navigation/NavigationRoutes.kt using @Serializable object/data class.App.kt NavHost with a composable<...> entry.TopLevelDestinationshouldShowBottomBar, isSelected)expect/actual only when platform API differences are required.screens/ and reusable UI in components/<domain>/?NavigationRoutes.kt?App.kt navigation wiring updated?components root?