Descripción general de las habilidades de Android

Las habilidades de Android son instrucciones optimizadas por IA que ayudan a las herramientas y los agentes de IA a comprender y ejecutar mejor patrones específicos que siguen las prácticas recomendadas y la orientación sobre el desarrollo de Android. Se encuentran en el repositorio de GitHub de Android Skills.

Puedes usar una skill de Android para realizar tareas como las siguientes:

  • Migra de XML a Compose
  • Actualiza a AGP 9
  • Configurar frameworks más nuevos, como Navigation 3
  • Moderniza la IU de tu app para que admita el gesto de borde a borde
  • Mejora el rendimiento auditando tu configuración de R8

Si usas las habilidades de Android, puedes ayudar a fundamentar los LLMs con conocimiento y contexto más recientes sobre flujos de trabajo especializados de Android.

Las habilidades de Android siguen el estándar abierto de habilidades de agente, por lo que son compatibles con cualquier herramienta de IA que admita habilidades. En esta página, se explica cómo usar habilidades en Android Studio y la CLI de Android para instalar habilidades que se puedan usar con cualquier agente y herramienta que elijas.

Beneficios clave de las habilidades de Android

Las habilidades de Android proporcionan varios beneficios clave que tienen como objetivo acelerar tu flujo de trabajo de agente para producir de manera más eficiente código de Android de alta calidad:

  • Fundamentación con conocimiento experto: Proporciona más contexto específico de Android a los agentes, fundamentándolos on demand y extendiendo su conocimiento y experiencia predeterminados más allá del ciclo de entrenamiento de modelos regular.
  • Flujos de trabajo repetibles: Proporciona instrucciones estándar para garantizar que las tareas de varios pasos en el desarrollo de Android se realicen de manera coherente.
  • Agrupación de recursos: Incluye secuencias de comandos, plantillas o documentación adicional junto con las instrucciones principales de tu archivo SKILL.md para que el agente tenga todo lo que necesita en un solo lugar y no sea necesario adjuntar archivos manualmente para una instrucción.
  • Experiencia compartida: Empaqueta los patrones de desarrollo de Android de tu equipo en carpetas compartidas para un acceso y una colaboración unificados.

Usa tus habilidades de Android

Las habilidades de Android están integradas en la CLI de Android para usarse con cualquier agente que elijas.

gemini_cli_skills_demo.gif

CLI de Android

Te recomendamos instalar una habilidad para Android con la CLI de Android, que facilita el descubrimiento, la descarga y la administración de habilidades para cualquier agente que elijas.

Android Studio

Puedes descargar una habilidad desde el repositorio de GitHub de habilidades para Android y importarla a tu proyecto en Android Studio.

Cómo activar una habilidad

El agente activa automáticamente las habilidades que son relevantes para tu tarea. Para usar una habilidad, pídele al agente que complete una tarea relacionada con ella, por ejemplo, "Haz que la IU de mi app se extienda de borde a borde". El agente debería encontrar y usar automáticamente la habilidad si está disponible.

En Android Studio, también puedes invocar una habilidad manualmente escribiendo @skill-name en la ventana de chat.

Crea tus propias habilidades

Puedes crear tus propias habilidades para empaquetar y compartir los flujos de trabajo de tu equipo. Para obtener más información sobre los requisitos de habilidades, consulta la especificación de habilidades del agente.

El agente busca habilidades a partir de los directorios .skills/ o .agent/skills/ ubicados en la raíz del proyecto. Para crear una skill personalizada, sigue estos pasos:

  1. Crea un directorio para tu skill (por ejemplo, my-new-skill/).
  2. Crea un archivo SKILL.md (distingue mayúsculas de minúsculas) dentro del directorio nuevo.

Las skills deben cumplir con las siguientes reglas:

  • Un directorio por skill: Cada skill debe tener su propio directorio único que incluya un archivo SKILL.md y cualquier recurso adicional.
  • Anidamiento: Todas las habilidades deben estar en el directorio .skills/ o .agent/skills/ en la raíz del proyecto. Sin embargo, puedes usar subdirectorios para una mejor organización (por ejemplo, skills/ui-flows/<skill name>/SKILL.md o skills/testing/<skill name>/SKILL.md).
  • Alcance: Solo se admiten las habilidades ubicadas dentro de la base de código del proyecto.
Estructura de directorio que muestra la ubicación de los archivos de habilidades en un proyecto
Estructura de archivos de la skill.

El archivo SKILL.md usa un bloque YAML para los metadatos y Markdown estándar para las instrucciones.

  • name: Es un identificador único de la skill. Debe coincidir con el nombre del directorio.
  • description: Es una explicación clara de lo que hace la habilidad y cuándo el agente debe usarla.
  • Cuerpo: El cuerpo de Markdown que se encuentra debajo del bloque YAML contiene las instrucciones que guían el comportamiento del agente cuando la habilidad está activa.
---
name: skill-name
description: A description of what this skill does and when to use it.
metadata:
  author: example-org
  version: "1.0"
---

Skill content

Lineamientos de formato

  • Nombre: Máximo de 64 caracteres (solo letras en minúscula, números y guiones).
  • Descripción: Máximo de 1,024 caracteres
  • Contenido del cuerpo: Intenta usar entre 10,000 y 20,000 caracteres (entre 2,500 y 5,000 tokens). Si tus instrucciones superan este límite, considera trasladar la documentación detallada a un archivo de recursos, como se describe en Directorios de habilidades opcionales.

Directorios de habilidades opcionales

Para que tu archivo SKILL.md sea conciso y modular, puedes incluir recursos adicionales en los siguientes directorios opcionales dentro de la carpeta de tu skill:

  • scripts/: Contiene código ejecutable (por ejemplo, Python o Bash) que el agente puede ejecutar.
  • references/: Contiene documentación técnica detallada, referencias de API o guías específicas del dominio.
  • assets/: Contiene recursos estáticos, como plantillas de documentos, diagramas de IU o esquemas JSON.

Cuando hagas referencia a estos archivos en tus instrucciones de SKILL.md, usa rutas de acceso relativas desde la raíz de la skill. Por ejemplo: Run the script at scripts/cleanup.py.

Cómo funcionan las habilidades

Las habilidades representan la experiencia a pedido. Esta estructura permite que el agente mantenga una gran cantidad de capacidades especializadas sin saturar la ventana de contexto inmediata del modelo.

El modelo decide de forma autónoma cuándo emplear una habilidad según tu solicitud y la descripción de la habilidad. Cuando se identifica una habilidad pertinente, el modelo extrae de forma dinámica las instrucciones y los recursos completos necesarios para completar la tarea.