domain

Centralizes business rules into a reusable domain layer for multiple screens.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Domain logic often duplicates across screens; this skill helps you centralize business rules in the domain layer so they can be reused and tested consistently.

Core Features & Use Cases

  • Behavior models for validation, formatting, and transformation that can be shared across screens.
  • Reactive sources for shared state and cross-screen coordination.
  • Clear guidance on when to extract logic to the domain layer versus keeping it in the UI layer.

Quick Start

Create a new EmailValidator behavior model in the domain module and wire it into shared screens.

Frequently Asked Questions about domain

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

FAQPage Schema
How do I centralize validation and formatting logic so it doesn't duplicate across screens?

Centralize validation and formatting logic by extracting it into reusable domain layer behavior models. This ensures business rules are shared consistently and tested independently across multiple screens.

What is the best way to separate domain logic from presentation in my architecture?

Separating domain logic from presentation involves moving business rules into a dedicated domain layer. Keep UI-specific behavior in the presentation layer while the domain layer handles transformation and validation.

How do I create a DI-friendly behavior model for domain layer validation?

Create a DI-friendly behavior model by defining validation rules in a domain module, then wiring the implementation into your screens using dependency injection for clear separation of concerns.

When should I move shared state logic to a reactive source instead of keeping it in the UI layer?

Move shared state logic to a reactive source when cross-screen coordination is required. Extracting it into the domain layer prevents state duplication and ensures consistent updates across screens.

Can I use behavior models for data transformation across multiple screens without coupling?

Yes, behavior models handle data transformation independently of the UI. By placing transformation logic in the domain layer, screens reuse the rules without direct coupling to each other.