1. Introducción

En este lab, aprenderás a crear habilidades de 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 skill.
- Instala 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
- 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 laborales y educativas tengan restricciones que te impidan habilitar las APIs necesarias para este lab.
- Accede a la consola de Google Cloud.
- 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.
- 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
- Haz clic en este vínculo para navegar directamente al editor de Cloud Shell.
- Si se te solicita autorización en algún momento, haz clic en Autorizar para continuar.

- Si la terminal no aparece en la parte inferior de la pantalla, ábrela:
- Haz clic en Ver.
- Haz clic en Terminal.

- 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}'

- Puedes enumerar todos los IDs de tus proyectos con el siguiente comando:
- Formato:
- Deberías ver el siguiente mensaje:
Si ves unUpdated property [core/project].
WARNINGy se te preguntaDo you want to continue (Y/n)?, es probable que hayas ingresado el ID del proyecto de forma incorrecta. Presionan, presionaEntery vuelve a intentar ejecutar el comandogcloud config set project.
4. Crea tu skill personalizada
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.
- Crea un directorio para este lab y navega a él:
mkdir ~/agent-skills-lab && cd ~/agent-skills-lab - Crea un directorio para la skill de tu proyecto:
mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things - Crea y abre un nuevo archivo
SKILL.mdpara tu skill: El comandocloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.mdcloudshell editabrirá el archivoSKILL.mden el editor que se encuentra sobre la terminal. - Agrega el siguiente contenido al archivo
SKILL.md:--- name: my-favorite-things description: Provides personal information about my favorite color, food, and programming language. Use this skill when the user asks questions about my personal preferences or favorite things. --- # Knowledge - **Favorite Color:** Blue - **Favorite Food:** Pizza - **Favorite Programming Language:** 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, Gemini CLI ya la puede detectar porque se encuentra en el directorio .agents/skills.
- Inicia Gemini CLI:
Deberías ver que Gemini CLI reconoce la nueva habilidad. Es posible que debas presionargeminiEnterpara aceptar algunos parámetros de configuración predeterminados.
- Haz que Gemini enumere las habilidades disponibles en su contexto.
Deberías ver/skillsmy-favorite-thingsen la lista de habilidades disponibles. - Pregúntale a Gemini sobre tu color favorito:
Gemini CLI debería usar la habilidadWhat is my favorite color?my-favorite-thingspara 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 algo como "Azul" o "Mi color favorito es el 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. (Opcional) Compila e implementa una aplicación en Firebase Hosting
Además de crear tus propias habilidades, puedes instalar las que crearon otras personas. Esto demuestra el uso de habilidades portátiles, es decir, módulos autónomos de conocimiento, instrucciones y flujos de trabajo que se pueden compartir y reutilizar fácilmente.
Las Agent Skills para Firebase son un excelente ejemplo de estos módulos portátiles. Están diseñadas 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.
Ahora usa Agent Skills for Firebase 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 Hosting.
Configura tu proyecto
- Si aún estás en Gemini CLI, escribe
/quitpara salir. - Crea un directorio nuevo para tu proyecto y navega hasta él:
mkdir ~/todo-app && cd ~/todo-app - Accede a Firebase con tu Cuenta de Google. Usa la marca
--no-localhost, ya que estás en Cloud Shell:firebase login --no-localhost- Interactúa con las indicaciones de la CLI:
- Cuando se te pregunte
Enable Gemini in Firebase features?, escribeY(para Sí) y presionaEnter. - Cuando se te pregunte
Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?, escribeY(para Sí) y presionaEnter.
- Cuando se te pregunte
- Autoriza en el navegador:
- Verás una URL en la terminal. Haz clic en el vínculo para abrir la página de acceso en una nueva pestaña del navegador.
- Paso 1 de 3 (confirmar el comando): Haz clic en Yes, I just ran this command.
- Paso 2 de 3 (Confirmar ID de sesión): Asegúrate de que el ID de sesión coincida con el que se muestra en tu terminal y, luego, haz clic en Yes, this is my session ID.
- Paso 3 de 3 (Copiar código): Haz clic en Copiar para copiar el código de autorización en el portapapeles.
- Completa el acceso:
- Vuelve a la terminal de Cloud Shell y pega el código de autorización en el mensaje de
? Enter authorization code:. - Presiona
Enter.
- Vuelve a la terminal de Cloud Shell y pega el código de autorización en el mensaje de
✔ Success! Logged in as. - Interactúa con las indicaciones de la CLI:
Instala Agent Skills para Firebase
Ahora que creaste el directorio de tu proyecto, debes instalar las habilidades de agentes para Firebase en él.
Puedes instalar las Agent Skills para Firebase con la CLI de skills en tu terminal:
npx skills add firebase/agent-skills
Durante la instalación, se te pedirá que selecciones qué habilidades instalar. Usa las teclas de flecha para navegar por la lista y la barra espaciadora para seleccionar estas habilidades.
firebase-basicsfirebase-hosting-basicsfirebase-auth-basicsfirebase-firestore-enterprise-native-mode

Para los mensajes posteriores, puedes aceptar los valores predeterminados de forma segura presionando Enter.
Este comando descargará e instalará habilidades, incluidas firebase-basics y firebase-hosting-basics, y las pondrá a disposición para su uso en Gemini CLI junto con tu habilidad my-favorite-things.
Para obtener más información sobre las habilidades de agentes de Firebase, consulta las habilidades disponibles.
Crea e implementa una app web básica
- Habilita las APIs obligatorias para tu proyecto:
gcloud services enable \ cloudresourcemanager.googleapis.com \ firebase.googleapis.com - Habilita Firebase en tu proyecto actual de Google Cloud:
firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT} - Inicia Gemini CLI:
gemini - Pídele a Gemini que genere un
index.htmlbásico: Gemini te pedirá que creesGenerate an index.html file with the content "Hello Firebase Hosting" and deploy the application to Firebase Hosting using the current Google Cloud Project.index.htmly ejecutesfirebase. PresionaEnterpara permitirlo.Gemini CLI debería usar Agent Skills for Firebase para crear e implementar tu sitio web. Guía al agente junto con las aprobaciones según sea necesario.
Cuando finalice la implementación, se debería proporcionar una URL para tu app web. Usa ctrl+click (Windows) o cmc+click (Mac) para abrir vínculos en la terminal del Editor de Cloud Shell. Visita la URL de tu app implementada.
Agrega Firebase Authentication
- Inicia Gemini CLI si aún no lo hiciste:
Es posible que Gemini te haga preguntas como "¿Confías en esta carpeta?". PresionageminiEnterpara aceptar los valores predeterminados. - Ahora, pídele a Gemini que agregue el acceso con Google:
Es posible que Gemini te pida que crees o actualices archivos comoGenerate HTML, CSS, and Javascript for a single page application. It should use Google Sign-in with Firebase Authentication. A user should be able to sign in with their Google Account. Deploy when you are done and give the URL to the user.index.html,style.cssyscript.js. Permite que lo haga. Es posible que Gemini te pida que realices algunas acciones en Firebase console. La CLI puede realizar la mayoría de estas acciones si se lo pides, pero es posible que debas completar los pasos de forma manual (como habilitar Google OAuth) si tu instancia de Cloud Shell tiene instalada una versión anterior de Firebase CLI.
Cuando finalice la implementación, se debería proporcionar una URL para tu app web. Usa ctrl+click (Windows) o cmc+click (Mac) para abrir vínculos en la terminal del Editor de Cloud Shell. Visita la URL de tu app implementada.
Para ver los cambios más recientes, es posible que debas realizar una "actualización forzada" con ctrl+shift+R (Windows) o cmd+shift+R (Mac).
Agrega Cloud Firestore
- Inicia Gemini CLI si aún no lo hiciste:
Es posible que Gemini te haga preguntas como "¿Confías en esta carpeta?". PresionageminiEnterpara aceptar los valores predeterminados. - Pídele a Gemini que agregue Firestore para guardar tareas:
Gemini actualizará los archivos. Permite que lo haga.Update the application to 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. Deploy when you are done and give the URL to the user.
Cuando finalice la implementación, se debería proporcionar una URL para tu app web. Usa ctrl+click (Windows) o cmc+click (Mac) para abrir vínculos en la terminal del Editor de Cloud Shell. Visita la URL de tu app implementada.
Para ver los cambios más recientes, es posible que debas realizar una "actualización forzada" con ctrl+shift+R (Windows) o cmd+shift+R (Mac).
Si tu aplicación no funciona como se espera, sigue trabajando con Gemini CLI para obtener la funcionalidad que esperas. Ejemplo: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.
Sigue experimentando con el lab para agregar las funciones que te gustaría ver en tu nueva aplicación de Firebase.
7. 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 del disco de Cloud Shell para liberar espacio.
- Borra el directorio del lab (esto quita la habilidad y la app):
rm -rf ~/agent-skills-lab - Borra el directorio de la aplicación "To Do" (si lo creaste fuera):
rm -rf ~/todo-app
Si alguna vez necesitas restablecer Cloud Shell a su estado predeterminado, puedes seguir la documentación oficial para obtener instrucciones sobre cómo hacerlo de forma segura.