Visão geral das habilidades do Android

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

Você pode usar uma skill do Android para fazer tarefas como:

  • Migrar do XML para o Compose
  • Fazer upgrade para o AGP 9
  • Configurar frameworks mais recentes, como o Navigation 3
  • Modernize a interface do seu app mostrando conteúdo de ponta a ponta
  • Melhore a performance auditando sua configuração do R8

Ao usar habilidades do Android, você pode ajudar a fundamentar os LLMs com conhecimento e contexto mais recentes sobre fluxos de trabalho especializados do Android.

As habilidades do Android seguem o padrão aberto de habilidades do agente, então são compatíveis com qualquer ferramenta de IA que ofereça suporte a habilidades. Nesta página, explicamos como usar habilidades no Android Studio e a CLI do Android para instalar habilidades e usar 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 seu fluxo de trabalho de agente para produzir código Android de alta qualidade com mais eficiência:

  • Basear em conhecimento especializado:forneça mais contexto específico do Android aos agentes, embasando-os sob demanda e estendendo o conhecimento e a experiência padrão além do ciclo regular de treinamento de modelo.
  • Fluxos de trabalho repetíveis:forneça instruções padrão para garantir que 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.
  • Experiência compartilhada:agrupe 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 estã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 baixar uma habilidade do repositório do GitHub de habilidades do Android e importar para seu 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 encontra e usa automaticamente a habilidade se ela estiver disponível.

No Android Studio, você também pode 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 habilidade, 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 skill personalizada, siga estas etapas:

  1. Crie um diretório para sua skill (por exemplo, my-new-skill/).
  2. Crie um arquivo SKILL.md (sensível a maiúsculas e minúsculas) no novo diretório.

As habilidades precisam seguir estas regras:

  • Um diretório por habilidade:cada habilidade precisa ter um diretório exclusivo que inclua um arquivo SKILL.md e recursos adicionais.
  • Aninhamento:todas as habilidades precisam estar no diretório .skills/ ou .agent/skills/ na raiz do projeto. No entanto, é possível usar subdiretórios para melhor organização (por exemplo, skills/ui-flows/<skill name>/SKILL.md ou skills/testing/<skill name>/SKILL.md).
  • Escopo:somente as habilidades localizadas na base de código do projeto são compatíveis.
Estrutura de diretórios mostrando a localização dos arquivos de habilidade em um projeto
Estrutura de arquivos de habilidade.

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 em Markdown abaixo do bloco YAML contém as instruções que orientam o comportamento do agente quando a skill 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:no máximo 1.024 caracteres.
  • Conteúdo do corpo:tente usar de 10 mil a 20 mil caracteres (~2.500 a 5.000 tokens). Se as instruções excederem esse limite, mova 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, inclua recursos adicionais nos seguintes diretórios opcionais na pasta da sua skill:

  • 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 do usuário ou esquemas JSON.

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

Como as habilidades funcionam

As habilidades representam a experiência sob demanda. Essa estrutura permite que o agente mantenha um grande número de recursos especializados sem poluir 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 dela. Quando uma habilidade relevante é identificada, o modelo busca dinamicamente as instruções e os recursos completos necessários para concluir a tarefa.