Agent skill

android-dfm

Create Android dynamic feature modules with Gradle, Koin DI, Navigation registration. Use for new features, modularization, feature flags.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/android-dfm

SKILL.md

Android Dynamic Feature Module Creator

Create new dynamic feature modules for Android projects using Play Feature Delivery.

When to Use

  • Adding new feature modules to modularized Android apps
  • Creating install-time, on-demand, or conditional delivery features
  • Setting up feature-specific Koin DI modules
  • Implementing feature navigation registration

Quick Reference

Module structure:

feature/{name}/
├── build.gradle.kts           # Plugin: android.dynamic.feature
├── src/main/
│   ├── AndroidManifest.xml    # dist:module delivery config
│   ├── kotlin/.../{name}/
│   │   ├── di/{Name}FeatureModule.kt
│   │   ├── navigation/{Name}NavigationProvider.kt
│   │   └── screen/{Name}Route.kt
│   └── res/values/strings.xml # title_{name} required

Creation Steps

  1. Read structure template: references/dfm-structure.md
  2. Create module files: Build script, manifest, DI, navigation
  3. Register in app: Update app/build.gradle.kts dynamicFeatures
  4. Register in settings: Add include(":feature:{name}")
  5. Register DI: Add to FeatureRegistry.KNOWN_FEATURE_INITIALIZERS
  6. Register Nav: Add to FeatureNavigationRegistry.KNOWN_NAVIGATION_PROVIDERS
  7. Add route: Create {Name}RouteData in core/navigation/Routes.kt

Key Patterns

  • DI: {Name}FeatureInitializer : FeatureModuleInitializer interface
  • Nav: {Name}NavigationProvider : FeatureNavigationProvider interface
  • Build: implementation(project(":app")) required in feature modules
  • Manifest: Use <dist:install-time /> for install-time delivery

References

Didn't find tool you were looking for?

Be as detailed as possible for better results