modularization-strategist

Plans Android and KMP module boundaries with Gradle convention plugins and migration sequences.

Updated Jan 2, 2024
One-click install
npx skills add https://github.com/Mithrandir21/game-deals-app --skill modularization-strategist-mithrandir21
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: modularization-strategist
Source: https://github.com/Mithrandir21/game-deals-app/tree/main/.claude/skills/modularization-strategist
Command: npx skills add https://github.com/Mithrandir21/game-deals-app --skill modularization-strategist-mithrandir21

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Deciding how to split an Android or Kotlin Multiplatform codebase into Gradle modules is hard to get right — too few modules wastes build time, too many creates maintenance overhead. This Skill provides a structured process for analyzing the current module graph, choosing a topology, and planning an incremental migration. ## Core Features & Use Cases - Topology Selection: Guides the choice between three-layer, feature-by-layer, API/impl split, and KMP-aware module structures based on team size and goals. - Foundation Setup: Covers version catalogs (gradle/libs.versions.toml) and convention plugins in a build-logic composite build before splitting modules. - Incremental Migration Planning: Orders module extraction from smallest, most independent feature first, with verification via Gradle build scans and incremental build profiling. - Use Case: A team with a monolithic :app module and slow builds uses this Skill to assess the current graph, extract a :core module, then split features one at a time while measuring incremental build improvements. ## Quick Start Ask the assistant to analyze the current Gradle module structure and propose a modularization plan for splitting the monolithic app module.

Frequently Asked Questions about modularization-strategist

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

FAQPage Schema
How do I split a monolithic Android app into Gradle modules?▼

Start by extracting a :core module containing utilities and models with no Android dependencies, then extract the smallest, most independent feature first. Move tests and DI bindings with the code, and repeat per feature rather than splitting everything at once.

What is the difference between API and impl modules in Android?▼

An API module exposes only the public surface other features depend on, while the impl module holds the implementation that only :app consumes. This prevents features from reaching into each other's internals but doubles module count, so it suits larger multi-team projects.

When should I not modularize an Android app?▼

Avoid modularizing small codebases, such as a 5-person team with around 10k lines of code, because module overhead in Gradle configuration and cross-module APIs outweighs the benefits. Aim for roughly one to three modules per developer.

How do convention plugins help with Gradle modularization?▼

Convention plugins in a build-logic composite build encode shared Gradle configuration so each module's build file shrinks to a plugin ID plus a few lines. Without them, every new module becomes repetitive copy-paste configuration that drifts over time.

Why is my build still slow after splitting into modules?▼

Common causes are too many modules depending on one shared module so changes ripple, or the :app module depending on every feature so any change triggers full rebuilds. Measure with Gradle build scans and incremental build profiles to confirm the split actually pays off.