Descripción general de las habilidades de Android

Las habilidades de Android son instrucciones optimizadas para 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 habilidades de Android.

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

  • Migrar de XML a Compose
  • Actualizar a AGP 9
  • Configurar frameworks más recientes, como Navigation 3
  • Modernizar la IU de tu app para que admita el gesto de borde a borde
  • Mejorar el rendimiento auditando la configuración de R8

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

Las habilidades de Android siguen el estándar abierto de habilidades de agentes, 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 cómo usar la CLI de Android para instalar habilidades para usarlas 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 agentes para producir código de Android de alta calidad de manera más eficiente:

  • Fundamentación con conocimiento experto: Proporciona más contexto específico de Android a los agentes, fundamentándolos a pedido y extendiendo sus conocimientos y experiencia predeterminados más allá del ciclo de entrenamiento del modelo normal.
  • 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 tus instrucciones principales de SKILL.md para que el agente tenga todo lo que necesita en un solo lugar, lo que evita la necesidad de 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 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 que instales una habilidad de Android con la CLI de Android, lo que facilita el descubrimiento, la descarga y la administración de habilidades para cualquier agente que elijas.

Android Studio

Puedes descargar una habilidad del repositorio de GitHub de habilidades de Android y luego, importarla a tu proyecto en Android Studio.

Activa 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 la habilidad, por ejemplo, "Haz que la IU de mi app admita el gesto 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 de forma manual directamente 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 las habilidades, consulta la especificación de habilidades de agentes.

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

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

Las habilidades deben seguir estas reglas:

  • Un directorio por habilidad: Cada habilidad debe tener su propio directorio único que incluya un archivo SKILL.md y cualquier recurso adicional.
  • Anidación: 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: Actualmente, solo se admiten las habilidades ubicadas dentro de la base de código del proyecto.

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

  • name: Es un identificador único para la habilidad. Debe coincidir con el nombre del directorio.
  • description: Es una explicación clara de lo que hace la habilidad y cuándo debe usarla el agente.
  • Cuerpo: El cuerpo de Markdown 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 minúsculas, números y guiones).
  • Descripción: Máximo de 1,024 caracteres.
  • Contenido del cuerpo: Intenta usar entre 10,000 y 20,000 caracteres (~2,500–5,000 tokens). Si tus instrucciones superan este límite, considera mover 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 habilidad:

  • 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 dentro de tus instrucciones SKILL.md, usa rutas relativas desde la raíz de la habilidad. Por ejemplo: Run the script at scripts/cleanup.py.

Cómo funcionan las habilidades

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

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