Panoramica delle competenze Android

Le competenze Android sono istruzioni ottimizzate per l'AI, per aiutare gli strumenti e gli agenti AI a comprendere ed eseguire meglio pattern specifici che seguono le best practice e le indicazioni sullo sviluppo per Android. Si trovano nel repository GitHub delle skill per Android.

Puoi utilizzare una skill per Android per svolgere attività come le seguenti:

  • Eseguire la migrazione da XML a Compose
  • Esegui l'upgrade ad AGP 9
  • Configurare framework più recenti come Navigation 3
  • Modernizzare l'interfaccia utente dell'app rendendola edge-to-edge
  • Migliora il rendimento controllando la configurazione di R8

Utilizzando le skill Android, puoi aiutare a basare gli LLM su conoscenze e contesti più recenti relativi a flussi di lavoro Android specializzati.

Le competenze di Android seguono lo standard aperto delle competenze dell'agente, pertanto sono compatibili con qualsiasi strumento di AI che supporti le competenze. Questa pagina spiega come utilizzare le skill in Android Studio e come utilizzare la CLI Android per installare le skill da utilizzare con qualsiasi agente e strumento di tua scelta.

Vantaggi principali delle skill per Android

Le competenze Android offrono una serie di vantaggi chiave che mirano ad accelerare il tuo flusso di lavoro agentico per produrre in modo più efficiente codice Android di alta qualità:

  • Grounding con conoscenze esperte: fornisci un contesto più specifico per Android agli agenti, basandoti sulla domanda ed estendendo le loro conoscenze ed competenze predefinite oltre il normale ciclo di addestramento del modello.
  • Flussi di lavoro ripetibili:fornisci istruzioni standard per garantire che le attività in più passaggi nello sviluppo per Android vengano eseguite in modo coerente.
  • Raggruppamento delle risorse:includi script, modelli o documentazione aggiuntiva insieme alle istruzioni principali di SKILL.md in modo che l'agente abbia tutto ciò di cui ha bisogno in un unico posto, evitando la necessità di allegare manualmente i file per un prompt.
  • Competenze condivise:raggruppa i pattern di sviluppo Android del tuo team in cartelle condivise per un accesso e una collaborazione unificati.

Utilizzare le skill per Android

Le competenze Android sono integrate nella CLI Android e possono essere utilizzate con qualsiasi agente a tua scelta.

gemini_cli_skills_demo.gif

Interfaccia a riga di comando Android

Ti consigliamo di installare un'abilità Android utilizzando Android CLI, che semplifica l'individuazione, il download e la gestione delle abilità per qualsiasi agente di tua scelta.

Android Studio

Puoi scaricare una skill dal repository GitHub delle skill per Android e importarla nel tuo progetto in Android Studio.

Attivare una skill

L'agente attiva automaticamente le skill pertinenti per la tua attività. Per utilizzare un'abilità, chiedi all'agente di completare un'attività correlata all'abilità, ad esempio "Rendi la UI della mia app edge-to-edge". L'agente dovrebbe trovare e utilizzare automaticamente la skill, se disponibile.

In Android Studio, puoi anche richiamare un'abilità manualmente digitando @skill-name nella finestra della chat.

Crea le tue skill

Puoi creare le tue competenze per raggruppare e condividere i workflow del tuo team. Per saperne di più sui requisiti delle competenze, consulta le specifiche delle competenze dell'agente.

L'agente cerca le skill a partire dalle directory .skills/ o .agent/skills/ che si trovano nella directory root del progetto. Per creare un'abilità personalizzata, segui questi passaggi:

  1. Crea una directory per la tua skill (ad esempio my-new-skill/).
  2. Crea un file SKILL.md (sensibile alle maiuscole) all'interno della nuova directory.

Le skill devono rispettare queste regole:

  • Una directory per skill:ogni skill deve avere una propria directory univoca che includa un file SKILL.md e tutte le risorse aggiuntive.
  • Nesting:tutte le skill devono trovarsi nella directory .skills/ o .agent/skills/ nella radice del progetto. Tuttavia, puoi utilizzare le sottodirectory per una migliore organizzazione (ad esempio, skills/ui-flows/<skill name>/SKILL.md o skills/testing/<skill name>/SKILL.md).
  • Ambito:sono supportate solo le competenze che si trovano all'interno del codebase del progetto.
Struttura delle directory che mostra la posizione dei file di skill in un progetto
Struttura dei file di skill.

Il file SKILL.md utilizza un blocco YAML per i metadati e Markdown standard per le istruzioni.

  • name: un identificatore univoco per la skill. Deve corrispondere al nome della directory.
  • description: una spiegazione chiara di cosa fa la skill e quando l'agente deve utilizzarla.
  • Corpo:il corpo in Markdown sotto il blocco YAML contiene le istruzioni che guidano il comportamento dell'agente quando la skill è attiva.
---
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

Linee guida per il formato

  • Nome:massimo 64 caratteri (solo lettere minuscole, numeri e trattini).
  • Descrizione:massimo 1024 caratteri.
  • Contenuto del corpo:punta a 10.000-20.000 caratteri (~2500-5000 token). Se le tue istruzioni superano questo limite, valuta la possibilità di spostare la documentazione dettagliata in un file di risorse come descritto in Directory delle skill facoltative.

Directory delle skill facoltative

Per mantenere il file SKILL.md conciso e modulare, puoi includere risorse aggiuntive nelle seguenti directory facoltative all'interno della cartella della skill:

  • scripts/: contiene codice eseguibile (ad esempio Python o Bash) che l'agente può eseguire.
  • references/: contiene documentazione tecnica dettagliata, riferimenti API o guide specifiche per il dominio.
  • assets/: contiene risorse statiche come modelli di documenti, diagrammi dell'interfaccia utente o schemi JSON.

Quando fai riferimento a questi file all'interno delle istruzioni SKILL.md, utilizza percorsi relativi dalla radice della skill. Ad esempio: Run the script at scripts/cleanup.py.

Come funzionano le competenze

Le competenze rappresentano le competenze on demand. Questa struttura consente all'agente di mantenere un gran numero di funzionalità specializzate senza ingombrare la finestra contestuale immediata del modello.

Il modello decide autonomamente quando utilizzare una competenza in base alla tua richiesta e alla descrizione della competenza. Quando viene identificata un'abilità pertinente, il modello recupera dinamicamente le istruzioni complete e le risorse necessarie per completare l'attività.