Cómo crear habilidades de agente para Gemini CLI

1. Introducción

En este lab, aprenderás a crear habilidades del agente para proporcionar a los LLM acceso a conocimientos y flujos de trabajo personalizados. La crearás como una habilidad local a la que se puede acceder desde Gemini CLI.

Actividades

  • Crea tus propias habilidades de agente para tus cosas favoritas.
  • Usa Gemini CLI para consultar tu habilidad.
  • Instala las habilidades de agentes oficiales para Firebase y úsalas para compilar e implementar una app.

Qué aprenderás

  • Cómo estructurar una habilidad
  • Cómo escribir un archivo SKILL.md
  • Cómo usar habilidades locales con Gemini CLI

2. Configuración del proyecto

  1. Si aún no tienes una Cuenta de Google, debes crear una.
    • Usar una cuenta personal en lugar de una cuenta laboral o educativa Es posible que las cuentas de trabajo y de instituciones educativas tengan restricciones que te impidan habilitar las APIs necesarias para este lab.
  2. Accede a la consola de Google Cloud.
  3. Habilita la facturación en la consola de Cloud.
    • Completar este lab debería costar menos de USD 1 en recursos de Cloud.
    • Puedes seguir los pasos al final de este lab para borrar recursos y evitar cargos adicionales.
    • Los usuarios nuevos pueden acceder a la prueba gratuita de USD 300.
  4. Crea un proyecto nuevo o elige reutilizar uno existente.
    • Si ves un error sobre la cuota del proyecto, reutiliza un proyecto existente o bórralo para crear uno nuevo.

3. Abre el editor de Cloud Shell

  1. Haz clic en este vínculo para navegar directamente al editor de Cloud Shell.
  2. Si se te solicita autorización en algún momento, haz clic en Autorizar para continuar. Haz clic para autorizar Cloud Shell
  3. Si la terminal no aparece en la parte inferior de la pantalla, ábrela:
    • Haz clic en Ver.
    • Haz clic en Terminal.Abre una terminal nueva en el editor de Cloud Shell
  4. En la terminal, configura tu proyecto con este comando:
    • Formato:
      gcloud config set project [PROJECT_ID]
      
    • Ejemplo:
      gcloud config set project lab-project-id-example
      
    • Si no recuerdas el ID de tu proyecto, haz lo siguiente:
      • Puedes enumerar todos los IDs de tus proyectos con el siguiente comando:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Establece el ID del proyecto en la terminal del editor de Cloud Shell
  5. Deberías ver el siguiente mensaje:
    Updated property [core/project].
    
    Si ves un WARNING y se te pregunta Do you want to continue (Y/n)?, es probable que hayas ingresado el ID del proyecto de forma incorrecta. Presiona n, presiona Enter y vuelve a intentar ejecutar el comando gcloud config set project.

4. Crea tu habilidad “Cosas favoritas”

Las habilidades del agente son directorios que contienen, como mínimo, un archivo SKILL.md que proporciona instrucciones y conocimientos a un agente de IA. En esta sección, crearás una habilidad que le enseñará a Gemini CLI sobre tus cosas favoritas.

  1. Crea un directorio para almacenar tu skill:
    mkdir -p ~/.gemini/skills/my-favorite-things
    
  2. Crea y abre un nuevo archivo SKILL.md para tu skill:
    cloudshell edit ~/.gemini/skills/my-favorite-things/SKILL.md
    
    El comando cloudshell edit abrirá el archivo SKILL.md en el editor que se encuentra sobre la terminal.
  3. Agrega el siguiente contenido al archivo SKILL.md:
    ---
    name: my-favorite-things
    description: Information about my favorite things. Use this skill to answer questions about my favorite color, food, or programming language.
    ---
    
    My favorite color is blue.
    My favorite food is pizza.
    My favorite programming language is Python.
    
    If asked about one of my favorite things, please respond with the information provided above.
    

Con solo un archivo SKILL.md, creaste tu primera skill. Es hora de usar esta habilidad en Gemini CLI.

5. Usa tu habilidad desde Gemini CLI

Ahora que creaste correctamente una habilidad, puedes usarla con Gemini CLI. Gemini CLI descubre automáticamente las habilidades colocadas en ~/.gemini/skills.

  1. Inicia Gemini CLI en Cloud Shell
    gemini
    
    Es posible que debas presionar Enter para aceptar algunos parámetros de configuración predeterminados.
  2. Haz que Gemini enumere las habilidades disponibles en su contexto
    /skills
    
    Deberías ver my-favorite-things en la lista de habilidades disponibles.
  3. Pregúntale a Gemini sobre tu color favorito:
    What is my favorite color?
    
    Gemini CLI debería usar la habilidad my-favorite-things para responder tu pregunta. Si se te solicita, permite que Gemini CLI use la habilidad.

El resultado debería mostrar que Gemini CLI usó tu habilidad y respondió con "Azul".

¡Lo lograste! Creaste correctamente una habilidad y la probaste con Gemini CLI.

Cuando quieras finalizar tu sesión, escribe /quit y, luego, presiona Enter para salir de Gemini CLI.

6. Instala habilidades de agentes para Firebase

Además de crear tus propias habilidades, puedes instalar las que crearon otras personas. Las habilidades de agentes para Firebase (GitHub) son módulos portátiles y autónomos de conocimiento, instrucciones y flujos de trabajo específicos de Firebase. Están diseñados para ayudar a los asistentes de IA a comprender las prácticas recomendadas de Firebase y ejecutar tareas complejas con mayor precisión y un menor costo de tokens.

Puedes instalar todas las habilidades de agentes para Firebase con la CLI de habilidades en tu terminal:

npx skills add firebase/agent-skills

Este comando descargará e instalará habilidades, incluidas firebase-basics, firebase-auth-basics, firebase-firestore-basics y firebase-app-hosting-basics, lo que las hará disponibles para su uso en Gemini CLI junto con tu habilidad my-favorite-things.

Para obtener más información sobre las habilidades de agentes para Firebase, consulta Habilidades disponibles.

7. Explora las habilidades de los agentes para Firebase

Las habilidades de Agent Skills para Firebase ya están instaladas y listas para usarse en Gemini CLI. Para verlos, ejecuta Gemini CLI y escribe /skills firebase:

gemini

Luego, en Gemini CLI, haz lo siguiente:

/skills firebase

Verás una lista de las habilidades de Firebase instaladas, como firebase-basics, firebase-auth-basics, firebase-firestore-basics y firebase-app-hosting-basics.

8. (Opcional) Usa las habilidades de agentes de Firebase para crear e implementar una aplicación

Ahora usa las Agent Skills for Firebase instaladas para crear una aplicación web de "tareas pendientes" con autenticación de usuarios y una base de datos, y, luego, impleméntala en Firebase App Hosting.

  1. Si aún estás en Gemini CLI, escribe /quit para salir.
  2. Crea un directorio nuevo para tu proyecto y navega hasta él:
    mkdir todo-app && cd todo-app
    
  3. Accede a Firebase con tu Cuenta de Google. Si estás en Cloud Shell o en otro entorno sin navegador, usa la marca --no-localhost.
    firebase login --no-localhost
    
    Sigue las instrucciones para autorizar Firebase CLI.
  4. Inicia Gemini CLI:
    gemini
    
  5. Ahora, pídele a Gemini que genere el código de la aplicación:
    Generate HTML, CSS, and Javascript for a single page  application. It should use Google Sign-in with Firebase Authentication, and save tasks in Cloud Firestore for the signed-in user. A user should be able to add new tasks and see a list of their tasks.
    
    Es posible que Gemini te pida que crees archivos como index.html, style.css y script.js. Permite que lo haga.
  6. Por último, implementa la aplicación en Firebase App Hosting:
    /firebase-app-hosting-basics deploy my web app to Firebase App Hosting.
    
    Sigue las indicaciones para configurar App Hosting y completar la implementación. Una vez que se implemente, deberías recibir una URL para tu aplicación activa.

9. Conclusión

¡Felicitaciones! Creaste correctamente una habilidad y aprendiste a instalar habilidades adicionales para Gemini CLI.

(Opcional) Limpieza

Si deseas limpiar el proyecto, puedes borrarlo para evitar que se generen cargos adicionales.

Si quieres, borra el proyecto:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

También puedes borrar los recursos innecesarios de tu disco de Cloud Shell. Puedes hacer lo siguiente:

  1. Borra el directorio de la habilidad:
    rm -rf ~/.gemini/skills/my-favorite-things
    
  2. Advertencia. Esta próxima acción no se puede deshacer. Si quieres borrar todo el contenido de Cloud Shell para liberar espacio, puedes borrar todo tu directorio principal. Ten cuidado y asegúrate de que todo lo que quieras conservar esté guardado en otro lugar.
    sudo rm -rf $HOME