android-arquitectura-limpia
Arquitectura limpia en Android con MVVM, casos de uso, repositorios, inyección con Hilt y módulos por capas.
Skill by tontojil
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tontojil-android-arquitectura-limpia
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/android-arquitectura-limpia
What's inside
- Skill name
android-arquitectura-limpia- Description
- Arquitectura limpia en Android con MVVM, casos de uso, repositorios, inyección con Hilt y módulos por capas. Úsela cuando construya una app Android ordenada. (Android Clean Architecture, MVVM, repository, Hilt)
- License
- MIT
- Instructions
- 200 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Module Structure
```
app/
├── di/ # Hilt modules
├── navigation/
data/
├── remote/
│ ├── api/ # Retrofit interfaces
│ ├── dto/ # Network models
│ └── mapper/ # DTO → Entity mappers
├── local/
│ ├── dao/ # Room DAOs
│ ├── entity/ # DB entities
│ └── mapper/
├── repository/ # Repository implementations
domain/
├── model/ # Domain models
├── repository/ # Repository interfaces
├── usecase/ # Use cases
feature/
├── login/
│ ├── LoginScreen.kt
│ ├── LoginViewModel.kt
│ └── LoginUiState.kt
├── dashboard/
└── settings/
```
## Domain Layer
### Model
```kotlin
data class User(
val id: String,
val email: String,
val name: String,
val avatarUrl: String?,
)
```
### Repository Interface
```kotlin
interface UserRepository {
suspend fun getById(id: String): Result<User>
suspend fun search(query: String, page: Int): Result<PagedResult<User>>
suspend fun save(user: User): Result<User>
}
```
### Use Case
```kotlin
class GetUserUseCase @Inject constructor(
private val repository: UserRepository,
) {
suspend operator fun invoke(id: String): Result<User> =
repository.getById(id)
}
class SearchUsersUseCase @Inject constructor(
private val repository: UserRepository,
) {
suspend operator fun invoke(query: String, page: Int = 1): Result<PagedResult<User>> {
if (query.isBlank()) return Result.failure(ValidationException("Query cannot be empty"))
return repository.search(query.trim(), page)
}
}
```
## Data Layer
### API (Retrofit)
```kotlin
interface UserApi {
@GET("users/{id}")
suspend fun getUser(@Path("id") id: String): UserDto
@GET("users")
suspend fun searchUsers(
@Query("q") query: String,
@Query("page") page: Int,
@Query("per_page") perPage: Int = 20,
): PagedResponse<UserDto>
}
@Serializable
data class UserDto(
@SerialName("id") val id: String,
@SerialName("email") val email: String,
@SerialName("name") val name: String,
@SerialName("avatar_url") val avatarUrl: String? = null,
)
fun UserDto.toDomain() = User(id = id, email = email, name = name, avatarUrl = avatarUrl)
```
### Repository Implementation
```kotlin
class UserRepositoryImpl @Inject constructor(
private val api: UserApi,
private val dao: UserDao,
) : UserRepository {
override suspend fun getById(id: String): Result<User> = runCatching {
// Cache-first strategy
dao.getById(id)?.toDomain() ?: api.getUser(id).also {
dao.insert(it.toEntity())
}.toDomain()
}
override suspend fun search(query: String, page: Int): Result<PagedResult<User>> = runCatching {
val response = api.searchUsers(query, page)
response.items.map { it.toDomain() }.let {
PagedResult(items = it, total = response.total, page = page)From tontojil/PerfeckCode, MIT.
More from tontojil/PerfeckCode
- 0.526score
constructor-mcp
tontojil
Crea servidores MCP en Python o TypeScript para conectar al agente con APIs externas.
SkillBFreshness: BClaude Code +9 - 0.521score
android-interfaz-compose
tontojil
Desarrollo Android con Jetpack Compose, manejo de estado, navegación, Material 3, side effects y patrones de arquitectura.
SkillBFreshness: BClaude Code +9 - 0.521score
anuncios-pagos
tontojil
Para avisos pagados en Google, Meta, TikTok: revisar con datos, puntaje claro y cambios con permiso.
SkillBFreshness: BClaude Code +9 - 0.521score
experto-node
tontojil
Para servidores Node.js con Express o Nest, APIs REST y pruebas Vitest.
SkillBFreshness: BClaude Code +9 - 0.521score
creador-habilidades
tontojil
Creación de nuevas skills de agente según la especificación oficial, para patrones repetidos o instrucciones nuevas.
SkillBFreshness: BClaude Code - 0.521score
depuracion-sistematica
tontojil
Para bugs, tests fallidos, errores raros o lentitud.
SkillBFreshness: BClaude Code +9 - 0.521score
diseno-api
tontojil
Diseña APIs REST con códigos de estado correctos, paginación, errores, versionado y HATEOAS.
SkillBFreshness: BClaude Code +9 - 0.521score
diseno-frontend
tontojil
Direccion estetica para paginas distintivas sin look generico de IA.
SkillBFreshness: BClaude Code +9 - 0.521score
experto-go
tontojil
Patrones Go de concurrencia con goroutines y channels, servicios gRPC, microservicios y buenas practicas de produccion.
SkillBFreshness: BClaude Code +9 - 0.521score
experto-laravel
tontojil
Patrones Laravel 11 con Eloquent, auth Sanctum, API resources, colas Horizon, eventos, Livewire y tests Pest.
SkillBFreshness: BClaude Code +9 - 0.521score
acciones-github
tontojil
Patrones de GitHub Actions para armar pipelines CI/CD, workflows reutilizables, builds con matriz, cache, secretos y actions a medida.
SkillBFreshness: BClaude Code +9 - 0.521score
buscar-habilidades
tontojil
Te ayuda a encontrar e instalar skills nuevos cuando preguntas cómo hacer algo o si existe un skill para eso.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 13, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/tontojil/PerfeckCode
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tontojil
- 0.526score
constructor-mcp
tontojil
Crea servidores MCP en Python o TypeScript para conectar al agente con APIs externas.
SkillBFreshness: BClaude Code +9 - 0.521score
acciones-github
tontojil
Patrones de GitHub Actions para armar pipelines CI/CD, workflows reutilizables, builds con matriz, cache, secretos y actions a medida.
SkillBFreshness: BClaude Code +9 - 0.521score
android-interfaz-compose
tontojil
Desarrollo Android con Jetpack Compose, manejo de estado, navegación, Material 3, side effects y patrones de arquitectura.
SkillBFreshness: BClaude Code +9 - 0.521score
anuncios-pagos
tontojil
Para avisos pagados en Google, Meta, TikTok: revisar con datos, puntaje claro y cambios con permiso.
SkillBFreshness: BClaude Code +9 - 0.521score
buscar-habilidades
tontojil
Te ayuda a encontrar e instalar skills nuevos cuando preguntas cómo hacer algo o si existe un skill para eso.
SkillBFreshness: BClaude Code +9 - 0.521score
creador-habilidades
tontojil
Creación de nuevas skills de agente según la especificación oficial, para patrones repetidos o instrucciones nuevas.
SkillBFreshness: BClaude Code
Cite this page
android-arquitectura-limpia skill. Agent Mart. https://agentmart.dev/skills/tontojil-android-arquitectura-limpia (last updated 2026-10-24)