1. Introducción

En este lab, aprenderás a crear Agent Skills para proporcionar a los LLM acceso a conocimientos y flujos de trabajo personalizados. Lo crearás como una habilidad local a la que se puede acceder desde Gemini CLI.
Actividades
- Crea tus propias Agent Skills para tus cosas favoritas.
- Usa Gemini CLI para consultar tu habilidad.
- Instala Agent Skills 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 Cuenta de Google.
- Usa una cuenta personal en lugar de una cuenta de trabajo o institución educativa. Es posible que las cuentas de trabajo y de instituciones 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 Cloud Console.
- 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 hoy, 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:
- Puedes enumerar todos los IDs de tus proyectos con:
gcloud projects list | awk '/PROJECT_ID/{print $2}'

- Puedes enumerar todos los IDs de tus proyectos con:
- Formato:
- Deberías ver el siguiente mensaje:
Si ves unaUpdated 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 ejecutar el comandogcloud config set project.
4. Crea tu habilidad personalizada
Las Agent Skills 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ñe a Gemini CLI sobre tus cosas favoritas.
- Crea un directorio para este lab y navega hasta él:
mkdir ~/agent-skills-lab && cd ~/agent-skills-lab - Crea un directorio para la habilidad de tu proyecto:
mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things - Crea y abre un archivo
SKILL.mdnuevo para tu habilidad: El comandocloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.mdcloudshell editabrirá el archivoSKILL.mden el editor 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 habilidad. 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 puede detectarla 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 hiciste! 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 habilidades creadas por otros. Esto demuestra el uso de habilidades portátiles, módulos autónomos de conocimiento, instrucciones y flujos de trabajo que se pueden compartir y reutilizar fácilmente.
Agent Skills para Firebase son un excelente ejemplo de estos módulos portátiles. 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.
Ahora usa Agent Skills para Firebase para crear una aplicación web "To Do", con autenticación de usuario 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 los mensajes 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 (si no se puede hacer clic, destaca la URL en Cloud Shell para copiarla y, luego, pégala en tu navegador) para abrir la página de acceso en una pestaña nueva del navegador.
- Paso 1 de 3 (Confirmar 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 lo 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
? Enter authorization code:. - Presiona
Enter.
- Vuelve a la terminal de Cloud Shell y pega el código de autorización en el mensaje
✔ Success! Logged in as. - Interactúa con los mensajes de la CLI:
Instala Agent Skills para Firebase
Ahora que creaste el directorio de tu proyecto, debes instalar Agent Skills para Firebase en él.
Puedes instalar Agent Skills para Firebase con la CLI de habilidades en tu terminal:
npx skills add firebase/agent-skills
Durante la instalación, se te pedirá que selecciones las habilidades que deseas 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, 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 Agent Skills para 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 permitir que lo haga.Gemini CLI debería usar Agent Skills para Firebase para crear e implementar tu sitio web. Guía al agente junto con las aprobaciones según sea necesario.
Cuando termine la implementación, debería proporcionar una URL para tu app web. Usa ctrl+click (Windows/Linux) o cmd+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:
Gemini puede hacer preguntas como "¿Confías en esta carpeta?". PresionageminiEnterpara aceptar los valores predeterminados. - Ahora, pídele a Gemini que agregue Acceso con Google:
Gemini puede pedirte 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 hacer la mayoría de estas acciones si le pides que lo intente, 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 termine la implementación, debería proporcionar una URL para tu app web. Usa ctrl+click (Windows/Linux) o cmd+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/Linux) o cmd+shift+R (Mac).
Agrega Cloud Firestore
- Inicia Gemini CLI si aún no lo hiciste:
Gemini puede hacer 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 termine la implementación, debería proporcionar una URL para tu app web. Usa ctrl+click (Windows/Linux) o cmd+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/Linux) 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) Liberar espacio
Si quieres realizar una limpieza, puedes borrar tu proyecto de Cloud para evitar 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 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 afuera):
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.