/ Directorio / Playground / jetpack-compose-skills
● Comunidad anhvt52 ⚡ Instantáneo

jetpack-compose-skills

por anhvt52 · anhvt52/jetpack-compose-skills

Convierte Claude en un desarrollador de Android Compose — @Composable idiomático, elevación de estado, Material 3, previsualizaciones correctas.

jetpack-compose-skills codifica patrones modernos de desarrollo de Android para Jetpack Compose: elevación de estado, ámbito de @Composable, reglas de orden de Modifier, theming de Material 3, vinculación de ViewModel + StateFlow, navigation-compose y testing compatible con Compose. Ideal tanto para proyectos nuevos en Compose como para migrar pantallas basadas en Views.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

jetpack-compose-skill.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "jetpack-compose-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/anhvt52/jetpack-compose-skills",
        "~/.claude/skills/jetpack-compose-skills"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "jetpack-compose-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/anhvt52/jetpack-compose-skills",
        "~/.claude/skills/jetpack-compose-skills"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "jetpack-compose-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/anhvt52/jetpack-compose-skills",
        "~/.claude/skills/jetpack-compose-skills"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "jetpack-compose-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/anhvt52/jetpack-compose-skills",
        "~/.claude/skills/jetpack-compose-skills"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "jetpack-compose-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/anhvt52/jetpack-compose-skills",
        "~/.claude/skills/jetpack-compose-skills"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "jetpack-compose-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/anhvt52/jetpack-compose-skills",
          "~/.claude/skills/jetpack-compose-skills"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add jetpack-compose-skill -- git clone https://github.com/anhvt52/jetpack-compose-skills ~/.claude/skills/jetpack-compose-skills

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: jetpack-compose-skills

Cómo construir una nueva pantalla Compose con elevación de estado

👤 Desarrolladores de Android que escriben UI en Compose ⏱ ~30 min intermediate

Cuándo usarlo: Pantalla nueva en una app Compose — hazlo bien a la primera en lugar de refactorizar después.

Requisitos previos
  • Android Studio con un Compose BOM reciente — Usa el Compose BOM estable más reciente en tu build
  • Skill clonado — git clone https://github.com/anhvt52/jetpack-compose-skills ~/.claude/skills/jetpack-compose-skills
Flujo
  1. Describe la pantalla
    Construye una pantalla de Perfil: avatar, nombre, bio, botón de seguir. El estado viene de un ProfileViewModel.✓ Copiado
    → Composable sin estado + wrapper con estado + previsualización
  2. Vincula el ViewModel
    Vincula el ViewModel usando collectAsStateWithLifecycle.✓ Copiado
    → Recopilación de estado consciente del lifecycle
  3. Añade una previsualización
    Añade variantes de @Preview para estados vacío, cargado y error.✓ Copiado
    → Tres previsualizaciones que se renderizan sin un ViewModel en vivo

Resultado: Una pantalla Compose limpia con previsualizaciones y una estructura testeable.

Errores comunes
  • Composables con estado que no puedes previsualizar — Mantén el composable sin estado; traslada el estado a un wrapper
  • Orden incorrecta de Modifier — El Skill indica la regla de orden — padding antes de background para un background con padding, etc.
Combinar con: filesystem

Migra una pantalla basada en Views a Compose

👤 Equipos que convierten pantallas antiguas de Android ⏱ ~90 min advanced

Cuándo usarlo: Quieres convertir una pantalla a la vez sin reescribir toda la app.

Flujo
  1. Mapea el XML
    Aquí está fragment_profile.xml. Mapea cada widget a su equivalente en Compose con notas sobre comportamientos a preservar.✓ Copiado
    → Mapeo de XML → Compose con notas de comportamiento
  2. Reescribe
    Produce la pantalla Compose. Mantén el estado + acciones idéntico al Fragment.✓ Copiado
    → Archivo Composable + ViewModel intacto
  3. Mantén la navegación híbrida si es necesario
    Cambia solo esta pantalla, deja el resto en Fragments usando ComposeView.✓ Copiado
    → La navegación híbrida sigue funcionando

Resultado: Una pantalla portada limpiamente sin desestabilizar el resto.

Errores comunes
  • Fugas de Observer al mezclar con el lifecycle de Fragment — Usa viewLifecycleOwner con ComposeView; libera en destroy
Combinar con: android

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

jetpack-compose-skill + android

Ejecuta la pantalla resultante en un emulador e itera

Construye la app, lánzala en el emulador y muéstrame la pantalla de Perfil.✓ Copiado
jetpack-compose-skill + filesystem

Trabaja entre módulos en un proyecto Compose

Lee feature/profile/ y añade una pantalla de Perfil en ui/.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
compose-authoring intención de pantalla + estado Cualquier UI nueva en Compose 0
state-hoisting-review composable existente Cuando un composable es difícil de previsualizar 0
view-to-compose-migration XML + comportamientos Migraciones pantalla a pantalla 0

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
ninguno
Tokens por llamada
3–15k por pantalla
Monetario
gratis
Consejo
Limita el alcance a una pantalla + su ViewModel a la vez

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: ninguno a nivel de Skill
Salida de datos: ninguno

Resolución de problemas

Errores comunes y soluciones

La previsualización no se renderiza

Haz que los composables sean sin estado; elimina el ViewModel de la ruta de previsualización.

StateFlow no recoge en segundo plano

Usa collectAsStateWithLifecycle, no collectAsState, en pantallas que pueden enviarse a segundo plano.

Alternativas

jetpack-compose-skills vs otros

AlternativaCuándo usarlaContrapartida
apple-hig-designer-skillEstás en iOS SwiftUI en lugar de Android ComposePlataforma diferente
claude-android-skillNecesitas ayuda más amplia de Android más allá de UIMenos específico para Compose

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills