Claude Code Plugins

Community-maintained marketplace

Feedback

MVVM pattern, Clean Architecture, Repository pattern, dependency injection, SOLID principles. Use when designing app architecture.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name architecture
description MVVM pattern, Clean Architecture, Repository pattern, dependency injection, SOLID principles.
version 2.0.0
sasmp_version 1.3.0
bonded_agent 06-architecture
bond_type PRIMARY_BOND
atomic true
single_responsibility App architecture & design patterns
parameters [object Object]
retry [object Object]
logging [object Object]

App Architecture Skill

Quick Start

MVVM Pattern

@HiltViewModel
class UserViewModel @Inject constructor(
    private val repository: UserRepository
) : ViewModel() {
    private val _state = MutableLiveData<UiState>()
    val state: LiveData<UiState> = _state
    
    fun loadUser(id: Int) {
        viewModelScope.launch {
            _state.value = repository.getUser(id)
        }
    }
}

Repository Pattern

interface UserRepository {
    suspend fun getUser(id: Int): User
}

class UserRepositoryImpl(
    private val dao: UserDao,
    private val api: UserApi
) : UserRepository {
    override suspend fun getUser(id: Int): User {
        return dao.getUser(id) ?: api.fetchUser(id)
    }
}

Dependency Injection (Hilt)

@Module
@InstallIn(SingletonComponent::class)
object RepositoryModule {
    @Provides
    fun provideUserRepository(dao: UserDao, api: UserApi): UserRepository {
        return UserRepositoryImpl(dao, api)
    }
}

Key Concepts

MVVM Benefits

  • Lifecycle awareness
  • Configuration change handling
  • Separation of concerns
  • Testability

Clean Architecture Layers

  • Domain: Business rules
  • Application: Use cases
  • Presentation: UI
  • Infrastructure: Data sources

SOLID Principles

  • S: Single Responsibility
  • O: Open/Closed
  • L: Liskov Substitution
  • I: Interface Segregation
  • D: Dependency Inversion

Best Practices

✅ Dependency injection ✅ Interface-based design ✅ Layered architecture ✅ Single responsibility ✅ Testable code

Resources