multi-module-reference

Organize Kotlin multi-module projects with module boundaries and dependency mapping.

1|Updated Feb 21, 2026
One-click install
npx skills add https://github.com/kssumin/claude-playground --skill multi-module-reference
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: multi-module-reference
Source: https://github.com/kssumin/claude-playground/tree/main/.claude/skills/multi-module-reference
Command: npx skills add https://github.com/kssumin/claude-playground --skill multi-module-reference

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a canonical blueprint for organizing Kotlin multi-module projects with clear module boundaries and dependency mapping to streamline development, review, and onboarding.

Core Features & Use Cases

  • Detailed module responsibilities for api, admin, batch, domain, infra, client-external, and common layers.
  • Domain↔Infra mapping patterns, including Port/Entity relationships and sample Gradle configurations for scaling projects.
  • Guidance for adding new domains or modules and conducting code reviews using the reference.

Quick Start

Follow this guide to scaffold a new domain and module according to the reference architecture.

Frequently Asked Questions about multi-module-reference

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

FAQPage Schema
How do I structure a Kotlin multi-module architecture with clear domain and infra boundaries?

Structure a Kotlin multi-module architecture by defining explicit module responsibilities for api, admin, batch, domain, and infra layers. Use Domain↔Infra mapping patterns with explicit ports and sample Gradle dependencies to establish clear boundaries and dependency mapping.

What is the best way to organize Gradle KTS dependencies for a large multi-module project?

Organize Gradle KTS dependencies by aligning them with module responsibilities across domain, infra, and client-external layers. Use the canonical blueprint to map Gradle configurations, ensuring explicit ports and infra scaffolding examples scale correctly when adding new domains.

How does Domain to Infra mapping work when adding new modules in Kotlin?

Domain to Infra mapping works by defining Port and Entity relationships within the Kotlin multi-module project. When adding new modules, you scaffold the infra layer based on domain ports, maintaining clear dependency mapping and module boundaries throughout the architecture.

Can I use this multi-module architecture reference for code reviews?

Yes, you can use this multi-module architecture reference for code reviews. It provides a canonical blueprint to verify module boundaries, check Domain↔Infra mapping patterns, and validate package structure and Gradle dependencies against the expected layering.

When do I need to separate batch and admin modules in a modularized architecture?

Separate batch and admin modules when their module responsibilities require distinct entry points and dependency mappings within the multi-module architecture. The reference blueprint defines specific layer responsibilities for api, admin, batch, and common layers to maintain proper separation.

Why define explicit ports between the domain and infra layers in a Kotlin project?

Define explicit ports between domain and infra layers to enforce strict module boundaries and dependency mapping within the Kotlin multi-module architecture. This pattern ensures the domain layer remains isolated, allowing infra scaffolding to implement ports without coupling.