Visão geral das habilidades do Android

As habilidades do Android são instruções otimizadas por IA para ajudar as ferramentas e os agentes de IA a entender e executar melhor padrões específicos que seguem as práticas recomendadas e orientações sobre o desenvolvimento do Android. Elas estão hospedadas no repositório de habilidades do Android no GitHub (link em inglês).

Você pode usar uma habilidade do Android para realizar tarefas como as seguintes:

  • Migrar do XML para o Compose
  • Fazer upgrade para o AGP 9
  • Configurar frameworks mais recentes, como o Navigation 3
  • Modernizar a interface do app, tornando-a de ponta a ponta
  • Melhorar a performance auditando a configuração do R8

Ao usar as habilidades do Android, você pode ajudar a fundamentar LLMs com conhecimentos e contextos mais recentes sobre fluxos de trabalho especializados do Android.

As habilidades do Android seguem o padrão aberto de habilidades do agente, então elas são compatíveis com qualquer ferramenta de IA que ofereça suporte a habilidades. Esta página explica como usar habilidades no Android Studio e como usar a CLI do Android para instalar habilidades para uso com qualquer agente e ferramenta de sua escolha.

Principais benefícios das habilidades do Android

As habilidades do Android oferecem vários benefícios importantes que visam acelerar o fluxo de trabalho do agente para produzir código Android de alta qualidade com mais eficiência:

  • Fundamentação com conhecimento especializado:forneça mais contexto específico do Android aos agentes, fundamentando-os sob demanda e estendendo o conhecimento e a experiência padrão além do ciclo normal de treinamento de modelo.
  • Fluxos de trabalho repetíveis:forneça instruções padrão para ajudar a garantir que as tarefas de várias etapas no desenvolvimento do Android sejam realizadas de forma consistente.
  • Pacotes de recursos:inclua scripts, modelos ou documentação adicional junto com as instruções principais do SKILL.md para que o agente tenha tudo o que precisa em um só lugar, evitando a necessidade de anexar arquivos manualmente para um comando.
  • Expertise compartilhada:empacote os padrões de desenvolvimento do Android da sua equipe em pastas compartilhadas para acesso e colaboração unificados.

Usar habilidades do Android

As habilidades do Android são integradas à CLI do Android para serem usadas com qualquer agente de sua escolha.

gemini_cli_skills_demo.gif

CLI do Android

Recomendamos instalar uma habilidade do Android usando a CLI do Android, que facilita a descoberta, o download e o gerenciamento de habilidades para qualquer agente de sua escolha.

Android Studio

Você pode fazer o download de uma habilidade no repositório de habilidades do Android no GitHub e importar para o projeto no Android Studio.

Ativar uma habilidade

O agente ativa automaticamente as habilidades relevantes para sua tarefa. Para usar uma habilidade, peça ao agente para concluir uma tarefa relacionada a ela, por exemplo, "Deixe a interface do meu app de ponta a ponta". O agente vai encontrar e usar a habilidade automaticamente se ela estiver disponível.

No Android Studio, também é possível invocar uma habilidade manualmente digitando @skill-name na janela de chat.

Criar suas próprias habilidades

Você pode criar suas próprias habilidades para empacotar e compartilhar os fluxos de trabalho da sua equipe. Para saber mais sobre os requisitos de habilidades, consulte a especificação de habilidades do agente.

O agente procura habilidades nos diretórios .skills/ ou .agent/skills/ localizados na raiz do projeto. Para criar uma habilidade personalizada, siga estas etapas:

  1. Crie um diretório para sua habilidade (por exemplo, my-new-skill/).
  2. Crie um arquivo SKILL.md (com distinção entre maiúsculas e minúsculas) dentro do novo diretório.

As habilidades precisam seguir estas regras:

  • Um diretório por habilidade: cada habilidade precisa ter seu próprio diretório exclusivo que inclua um arquivo SKILL.md e outros recursos adicionais.
  • Aninhamento:todas as habilidades precisam estar no diretório .skills/ ou .agent/skills/ na raiz do projeto. No entanto, você pode usar subdiretórios para melhor organização (por exemplo, skills/ui-flows/<skill name>/SKILL.md ou skills/testing/<skill name>/SKILL.md).
  • Escopo:no momento, apenas as habilidades localizadas na base de código do projeto são aceitas.

O arquivo SKILL.md usa um bloco YAML para metadados e Markdown padrão para as instruções.

  • name: um identificador exclusivo da habilidade. Ele precisa corresponder ao nome do diretório.
  • description: uma explicação clara do que a habilidade faz e quando o agente deve usá-la.
  • Corpo:o corpo do Markdown abaixo do bloco YAML contém as instruções que orientam o comportamento do agente quando a habilidade está ativa.
---
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

Diretrizes de formato

  • Nome:máximo de 64 caracteres (somente letras minúsculas, números e hifens).
  • Descrição:máximo de 1.024 caracteres.
  • Conteúdo do corpo:procure usar entre 10 mil e 20 mil caracteres (~2.500 a 5.000 tokens). Se as instruções excederem esse limite, considere mover a documentação detalhada para um arquivo de recursos , conforme descrito em Diretórios de habilidades opcionais.

Diretórios de habilidades opcionais

Para manter o arquivo SKILL.md conciso e modular, você pode incluir outros recursos nos seguintes diretórios opcionais na pasta da habilidade:

  • scripts/: contém código executável (por exemplo, Python ou Bash) que o agente pode executar.
  • references/: contém documentação técnica detalhada, referências de API ou guias específicos do domínio.
  • assets/: contém recursos estáticos, como modelos de documentos, diagramas de interface ou esquemas JSON.

Ao se referir a esses arquivos nas instruções SKILL.md, use caminhos relativos da raiz da habilidade. Por exemplo: Run the script at scripts/cleanup.py.

Como as habilidades funcionam

As habilidades representam expertise sob demanda. Essa estrutura permite que o agente mantenha um grande número de recursos especializados sem sobrecarregar a janela de contexto imediato do modelo.

O modelo decide de forma autônoma quando usar uma habilidade com base na sua solicitação e na descrição da habilidade. Quando uma habilidade relevante é identificada, o modelo extrai dinamicamente as instruções e os recursos completos necessários para concluir a tarefa.