kotlin-project-modularization

Guide modular Kotlin Multiplatform and Android project design with module boundaries and ownership.

1|Updated Apr 22, 2026
One-click install
npx skills add https://github.com/cedric-champeix/SpoonFeeder --skill kotlin-project-modularization
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kotlin-project-modularization
Source: https://github.com/cedric-champeix/SpoonFeeder/tree/main/.claude/skills/kotlin-project-modularization
Command: npx skills add https://github.com/cedric-champeix/SpoonFeeder --skill kotlin-project-modularization

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Designing, reviewing, or refactoring module boundaries in Kotlin Multiplatform and Android projects to improve ownership, visibility, and maintainability.

Core Features & Use Cases

  • Guidelines to identify module types (data, feature, app, common) and strategies for dependency direction, visibility, and granularity.
  • Provides criteria for app-entry-point discipline and build hygiene to reduce coupling and improve scalability.
  • Use cases include onboarding teams, performing architecture reviews, and planning refactors.

Quick Start

Review your Kotlin project against these modularization guidelines to identify boundary improvements.

Frequently Asked Questions about kotlin-project-modularization

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

FAQPage Schema
How do I structure module boundaries in a Kotlin Multiplatform project?

Structure Kotlin Multiplatform module boundaries by defining clear module types like data, feature, app, and common, then enforcing strict dependency direction and visibility control to reduce coupling and improve maintainability.

What is the best way to control visibility across Kotlin modules?

Control visibility across Kotlin modules by applying granularity guidelines that restrict internal access, ensuring dependencies flow in a single direction and module ownership remains isolated during architecture reviews.

When should I use KMP versus a plain Kotlin or Android library module?

Use KMP when sharing business logic across platforms, plain Kotlin for platform-agnostic logic, and Android library modules for UI-specific code to maintain clean module boundaries and build hygiene.

How do I plan a modularization refactor for an existing Android app?

Plan a modularization refactor by evaluating your current app-entry-point discipline and build hygiene, then mapping existing code to defined module types to clarify ownership and dependency direction.

Does this modularization approach work for large Kotlin codebases?

This modularization approach suits large Kotlin codebases by enforcing app-entry-point discipline and build hygiene criteria, which reduces coupling and improves scalability across feature, data, and common modules.