Panoramica delle competenze Android

Le competenze Android sono istruzioni ottimizzate per l'AI che aiutano gli strumenti e gli agenti di AI a comprendere ed eseguire meglio pattern specifici che seguono le best practice e le linee guida per lo sviluppo di Android. Sono ospitate nel repository GitHub delle competenze Android.

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

  • Eseguire la migrazione da XML a Compose
  • Eseguire l'upgrade ad AGP 9
  • Configurare framework più recenti come Navigation 3
  • Modernizzare l'UI dell'app rendendola edge-to-edge
  • Migliorare il rendimento eseguendo l'audit della configurazione R8

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

Le competenze Android seguono lo standard aperto delle competenze degli agenti, quindi sono compatibili con qualsiasi strumento di AI che supporti le competenze. Questa pagina spiega come utilizzare le competenze in Android Studio e come utilizzare l'interfaccia a riga di comando Android per installare le competenze da utilizzare con qualsiasi agente e strumento di tua scelta.

Vantaggi principali delle competenze Android

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

  • Basare su conoscenze di esperti: fornisci agli agenti un contesto più specifico per Android, basandoli on demand 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 di 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 competenze Android

Le competenze Android sono integrate nell'interfaccia a riga di comando Android e possono essere utilizzate con qualsiasi agente di tua scelta.

gemini_cli_skills_demo.gif

Interfaccia a riga di comando Android

Ti consigliamo di installare una competenza Android utilizzando l'interfaccia a riga di comando Android, che semplifica l'individuazione, il download e la gestione delle competenze per qualsiasi agente di tua scelta.

Android Studio

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

Attivare una competenza

L'agente attiva automaticamente le competenze pertinenti alla tua attività. Per utilizzare una competenza, chiedi all'agente di completare un'attività correlata alla competenza, ad esempio "Make my app UI edge-to-edge". L'agente dovrebbe trovare e utilizzare automaticamente la competenza, se disponibile.

In Android Studio, puoi anche richiamare manualmente una competenza digitando @skill-name nella finestra di chat.

Creare competenze personalizzate

Puoi creare le tue competenze per raggruppare e condividere i flussi di lavoro del tuo team. Per saperne di più sui requisiti delle competenze, consulta la specifica delle competenze degli agenti.

L'agente cerca le competenze a partire dalle directory .skills/ o .agent/skills/ che si trovano nella root del progetto. Per creare una competenza personalizzata:

  1. Crea una directory per la competenza (ad esempio my-new-skill/).
  2. Crea un file SKILL.md (con distinzione tra maiuscole e minuscole) all'interno della nuova directory.

Le competenze devono rispettare le seguenti regole:

  • Una directory per competenza: ogni competenza deve avere una propria directory univoca che includa un file SKILL.md e qualsiasi risorsa aggiuntiva.
  • Nesting: tutte le competenze devono trovarsi nella directory .skills/ o .agent/skills/ nella root 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: al momento sono supportate solo le competenze che si trovano all'interno della codebase del progetto.

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

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

Directory delle competenze facoltative

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

  • 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'UI o schemi JSON.

Quando fai riferimento a questi file nelle istruzioni SKILL.md, utilizza i percorsi relativi dalla root della competenza. Ad esempio: Run the script at scripts/cleanup.py.

Come funzionano le competenze

Le competenze rappresentano competenze on demand. Questa struttura consente all'agente di mantenere un numero elevato 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 una competenza pertinente, il modello recupera dinamicamente le istruzioni e le risorse complete necessarie per completare l'attività.