repository

Create and debug data repository modules with Flow and DI patterns.

1|Updated Feb 5, 2026
One-click install
npx skills add https://github.com/eygraber/jellyfin-kmp --skill repository-eygraber
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: repository
Source: https://github.com/eygraber/jellyfin-kmp/tree/main/.claude/skills/repository
Command: npx skills add https://github.com/eygraber/jellyfin-kmp --skill repository-eygraber

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Data repositories are central to clean data flows but are often implemented inconsistently across modules. This skill provides patterns to create, modify, debug, and reason about repository architectures, data sources, and how data moves through the system.

Core Features & Use Cases

  • Standardized repository interfaces with public/impl/fake implementations.
  • Clear guidance for common tasks: create repositories, debug data flows, explain data movement, and extend repositories with new methods.
  • Practical workflow examples for multi-module data layers using Flow, RemoteDataSource, and LocalDataSource.

Quick Start

Scaffold a new data repository module following the recommended architecture and implement the core Repository interface.

Frequently Asked Questions about repository

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a standardized data repository in Kotlin?

To create a data repository in Kotlin, scaffold a new data-layer module following the recommended architecture, implementing core repository interfaces alongside public, impl, and fake implementations.

What is the best way to structure remote and local data sources in a multi-module data layer?

Structuring data sources in a multi-module data layer involves defining clear RemoteDataSource and LocalDataSource components, utilizing Flow for data movement, and applying dependency injection patterns to maintain clean data flows.

How do I debug data flow issues within a repository?

Debugging data flow within a repository requires tracing how data moves through the system across remote and local sources, checking Flow emissions, and verifying that repository interfaces are implemented consistently across modules.

Can I use this repository pattern for both backend and mobile Kotlin projects?

Yes, the repository pattern applies to data-layer modules across both backend and mobile Kotlin projects, specifying requirements for repository interfaces, data sources, Flow usage, and dependency injection patterns.

Why do my repository implementations behave inconsistently across different modules?

Repository implementations behave inconsistently when modules lack standardized interfaces and data flow patterns, an issue solved by applying unified repository architectures, clear data source definitions, and consistent dependency injection.