What problem does it solve? Loading large lists page-by-page in a Kotlin Multiplatform app is error-prone: developers often misplace the Pager in the UI layer, put PagingData inside UiState, forget cachedIn, or mishandle load states, causing re-fetching, blank screens, and broken MVI state diffing. ## Core Features & Use Cases - Cursor and offset PagingSource templates: Complete implementations for token-based and page-number-based APIs, including getRefreshKey handling. - Correct layer placement: PagingSource in :data, Pager with .cachedIn(viewModelScope) in :presenter, and collectAsLazyPagingItems with refresh/append LoadState handling in :ui. - RemoteMediator for network + SQLDelight cache: Serves pages from the local database while refreshing from the network in the background. - Use Case: A shopping app needs an infinitely scrolling product list backed by a cursor-paginated API; the skill scaffolds the PagingSource, repository wiring, ViewModel Pager, Compose UI with retry states, and unit tests. ## Quick Start Ask the agent to add cursor-based Paging 3 infinite scroll to a KMP feature screen backed by your existing API and repository.