一键导入
RickAndMorty
RickAndMorty 收录了来自 ericwafula 的 17 个 skills,并提供仓库级职业覆盖和站内 skill 详情页。
这个仓库中的 skills
Add a screen's composables to a feature module using the Route → Screen → Content structure. Use when asked to "add a screen", "build the <X> screen", "wire up a screen's UI", or to render a feature's state. Pairs with add-viewmodel.
Add a ViewModel to a feature module using the Action / State / Event triad, depending on use case / repository interfaces. Use when asked to "add a viewmodel" or to wire a screen's state, actions, and events. The screen's composables are a separate skill (add-screen).
Add a reusable design-system Composable to the :ui module — stateless, themed via RickAndMortyTheme tokens, with a preview. Use when asked to "add a button", "add a shared component", "add a card/loader/empty state", or to build any reusable UI primitive shared across screens.
Unit-test a use case with hand-written fake repositories. Use when asked to "test a use case", "add use case tests", or to verify a use case's aggregation and error-propagation logic.
Unit-test a ViewModel's Action → State → Event behaviour with fakes. Use when asked to "test a viewmodel", "add viewmodel tests", or to verify a screen's state transitions and one-time events.
Add a repository to :data:core as composable single-unit repositories ([Verb][Name]Repository) encapsulated by a parent contract, each mapping a data source's RemoteResult into DataResult. Use when asked to "add a repository", "wire up a repository", or to expose data-layer operations to domain/presentation.
Unit-test a repository with a hand-written fake data source. Use when asked to "test a repository", "add repository tests", or to verify a [Verb][Name]Repository maps RemoteResult into DataResult correctly.
Add a mapper that converts a remote DTO into a data-layer model. Use when asked to "map a dto", "add a mapper", "convert <X>Dto to a model", or whenever a data source's DTO needs turning into the data layer's own model type.
Add Paging 3 pagination to the :data:core layer — a PagingSource controller that loads pages from a remote data source, plus the Pager a repository exposes. Use when asked to "add pagination", "paginate <X>", "infinite scroll", "load more", or to expose a Flow<PagingData<...>> from a repository.
Add a WorkManager worker to the :data:core layer — a CoroutineWorker controller that orchestrates data sources for background/deferred work, injected by Koin. Use when asked to "add a worker", "background sync", "schedule a job", "periodic refresh", or "do <X> in the background".
Unit-test a remote data source with a Ktor MockEngine. Use when asked to "test a data source", "add datasource tests", "test the API call", or to verify a [Verb][Name]RemoteDatasource parses success and maps errors correctly.
Add a remote data source to :datasources:remote as composable single-unit data sources ([Verb][Name]RemoteDatasource) encapsulated by a parent contract. Use when asked to "add a remote data source", "add an API call", "fetch <X> from the network", or to expose a new remote endpoint to the data layer.
Add a new Gradle convention plugin to this project's build-logic. Use when asked to "create a convention plugin", "add a build-logic plugin", "add a gradle plugin", or to introduce a reusable module configuration (e.g. a feature/data/network/test convention) that modules apply by alias.
Set up Koin dependency-injection modules inside a Gradle module, following this project's single-responsibility + internal-children/public-parent convention. Use when asked to "add a di module", "set up koin", "provide a dependency via koin", "wire up DI", or to expose a module's graph to the app.
Add one use case to the :data:domain layer — a public functional-interface contract with an internal impl that AGGREGATES repositories. Use when an operation combines multiple repositories or coordinates a multi-step flow. Do NOT use for a one-shot passthrough to a single repository method.
Add a library, bundle, or plugin dependency via the Gradle version catalog and wire it into the right place. Use when asked to "add a dependency", "add a library", "pull in <library>", "add <X> to the catalog", or to introduce any new artifact (Ktor, Koin, Navigation, etc.) to a module.
Add a Navigation 3 destination — a route key, a per-screen route function, and one line in the host. Use when asked to "add a screen to navigation", "add a destination", "wire a screen into the nav graph", or "navigate to X".