1. Introducción
En este codelab, te mostraremos cómo configurar un equipo de desarrolladores autónomos de IA divertido y asistido por IA directamente en tu computadora con el IDE de Antigravity. Crearás una aplicación funcional guiando un requisito a través de todo su ciclo de vida, desde la especificación técnica hasta la implementación final, con un potente flujo de trabajo de skills.md y agents.md.
En lugar de estar limitado a una pila de tecnología específica o escribir secuencias de comandos de orquestación de Python complejas, usaremos un enfoque amigable de cero código en el que tus requisitos fluyen a través de un ciclo automatizado impulsado por tres principios fundamentales de Antigravity:
agents.md: Para definir exactamente quiénes forman parte de tu equipo de IA (administrador de productos, desarrollador de frontend, QA, DevOps).- Skills y skills.md: Es un directorio dedicado en el que defines capacidades técnicas sólidas y reglas de entrega de artefactos como archivos
.mdmodulares. - Flujos de trabajo (workflows/): Para definir comandos de barra personalizados que encadenen a los miembros de tu equipo de IA en una canalización autónoma.
Si combinas estos tres elementos de forma nativa en Antigravity, guiarás a Gemini para que automatice por completo el desarrollo de una aplicación lista para producción de principio a fin.
Qué aprenderás
- Inicializa el espacio de trabajo: Configura tu proyecto para que Antigravity lo comprenda en profundidad.
- Define el equipo: Crea un archivo
agents.mdpara establecer tus arquetipos de IA especializados. - Programa las Skills: Crea archivos
.mddetallados en un directorioskills/para definir reglas técnicas estrictas y bucles de reelaboración iterativos. - Define flujos de trabajo personalizados: Crea un comando de barra
/startcyclepara automatizar el flujo de trabajo del estudio. - Inicia la reacción en cadena: Usa un solo comando para ejecutar automáticamente toda la canalización multiagente de manera eficiente.
Qué probarás
- Cómo separar la ingeniería de instrucciones de IA del código de la aplicación
- Cómo construir un agente que se detenga de forma activa para interpretar los comentarios y las ediciones del usuario dentro de los archivos Markdown generados
- Cómo desarrollar habilidades dinámicas e independientes del lenguaje para la generación y la implementación de código
- Cómo crear comandos de macros personalizados (flujos de trabajo) en un IDE basado en agentes
Requisitos
- Antigravity
- Navegador Chrome
- Node.js (v18 o posterior) o Python 3.14 instalados de forma local
- CLI de gcloud instalada de forma local (opcional)
Antes de comenzar
Para obtener créditos de Google Cloud: Para ayudarte a usar Antigravity con proyectos de Google Cloud, canjea tus créditos gratuitos de Google Cloud con este vínculo. Puedes seguir las instrucciones aquí para activar el crédito y crear un proyecto nuevo.
- Asegúrate de tener instalado el IDE de Antigravity (disponible en antigravity.google).
- Abre tu IDE de Antigravity y asegúrate de tener un espacio de trabajo inicializado nuevo y exclusivo.
- Ten una terminal abierta mientras trabajas en el modo Editor.
2. Inicializa el espacio de trabajo
Como Antigravity comprende de forma nativa los archivos de flujo de trabajo colocados en el directorio .agents, configurar tu canalización de desarrollador autónomo es tan simple como crear algunas carpetas estándar.
Puedes configurar tu espacio de trabajo de la siguiente manera:
- Abre el IDE de Antigravity.
- Abre el Administrador de agentes. En cualquier momento, puedes alternar entre el Administrador de agentes y el editor presionando CMD + E (Mac) o CTRL + E (Windows), o bien a través de los botones Open Editor y Open Agent Manager que se encuentran en la parte superior derecha de la barra de menú. .
- Haz clic en + Abrir espacio de trabajo.
Para iniciar una conversación nueva en un espacio de trabajo, selecciona el espacio de trabajo deseado en la pestaña Iniciar conversación o presiona el botón de signo más junto al nombre del espacio de trabajo en la barra lateral.

- Haz clic en Open New Workspace, asigna el nombre
skills-codelabal espacio de trabajo y selecciona un directorio local. Esto garantiza que el agente tenga una carpeta raíz específica para generar archivos sin saturar otros proyectos. Cuando termines, ve a la vista del editor y, luego, sigue los pasos (5), (6) y (7).

- Haz clic con el botón derecho y crea una carpeta
skills-codelab. - Dentro de él, crea dos directorios:
production_artifactsyapp_build. - Crea un directorio
.agentsy, dentro de él, crea las carpetasworkflowsyskills.
(Alternativa) Si prefieres usar la terminal, puedes generar esta estructura de forma instantánea con el siguiente comando:
mkdir skills-codelab && cd skills-codelab
mkdir -p .agents/workflows .agents/skills
mkdir production_artifacts app_build
Asegúrate de que tu carpeta se vea así:

¿Qué hacen estas nuevas carpetas?
.agents/: Este es un directorio especial que Antigravity reconoce de forma nativa. Si colocas archivos aquí, extenderás el comportamiento integrado de la IA de Antigravity.skills/: Esta carpeta se usa para almacenar manuales de instrucciones técnicas específicos (archivos.md) para tu IA. Esto le indica a la IA cómo realizar tareas específicas, como escribir código o implementar apps, y reemplaza una instrucción masiva y confusa por pasos modulares.- p
roduction_artifacts/: Esta es nuestra carpeta compartida en la que los miembros automatizados de nuestro equipo dejarán archivos de forma intencional para que los lea el próximo agente. app_build/: Es el espacio de trabajo designado para el código de la aplicación real. El agente de ingeniero de pila completa generará todo el código (comopackage.json,app.pyy componentes de React) y lo guardará directamente en esta carpeta, lo que aislará el código fuente de la aplicación de las instrucciones de la IA.
3. Define el equipo (agents.md)
Primero, debemos indicarle a Antigravity quién está trabajando en este proyecto. En lugar de mantener las instrucciones en cuatro carpetas de proyectos anidadas diferentes, centralizamos la identidad de nuestro equipo. Crea un archivo en .agents/agents.md:
¿Por qué necesitamos diferentes arquetipos?
Cuando le pides a una IA que cree una aplicación completa desde cero, puede sentirse abrumada fácilmente si la obligas a ser arquitecta, codificadora, verificadora y líder de implementación al mismo tiempo. Si centralizas estos roles en agents.md, evitarás que la IA se confunda. El AP se enfoca solo en los requisitos, el ingeniero solo en la generación de código y el QA solo en la corrección de errores. Obtendrás expertos especializados para cada etapa de tu canalización.
El archivo agents.md resuelve este problema centralizando los diferentes arquetipos de tu equipo:
- El administrador de productos (
@pm): Se enfoca solo en el panorama general. Escriben el archivo Technical_Specification.md y administran el proceso de aprobación con usted (el humano). - El ingeniero full-stack (
@engineer): No se preocupa por la planificación; solo toma la especificación del PM y se enfoca por completo en escribir código de alta calidad en el lenguaje que apruebes. - El ingeniero de QA (
@qa): Actúa como un par de ojos nuevos. En lugar de escribir funciones nuevas, se enfocan únicamente en encontrar dependencias faltantes, errores de sintaxis o errores lógicos en el código del ingeniero. - El DevOps Master (
@devops): Se enfoca estrictamente en el entorno de ejecución. Saben cómo leer la terminal, instalar paquetes (npm install, pip install) y ejecutar el servidor local.
# 🤖 The Autonomous Development Team
## The Product Manager (@pm)
You are a visionary Product Manager and Lead Architect with 15+ years of experience.
**Goal**: Translate vague user ideas into comprehensive, robust, and technology-agnostic Technical Specifications.
**Traits**: Highly analytical, user-centric, and structured. You never write code; you only design systems.
**Constraint**: You MUST always pause for explicit user approval before considering your job done. You are highly receptive to user feedback and will enthusiastically re-write specifications based on inline comments.
## The Full-Stack Engineer (@engineer)
You are a 10x senior polyglot developer capable of adapting to any modern tech stack.
**Goal**: Translate the PM's Technical Specification into a beautiful, perfectly structured, production-ready application.
**Traits**: You write clean, DRY, well-documented code. You care deeply about modern UI/UX and scalable backend logic.
**Constraint**: You strictly follow the approved architecture. You do not make assumptions—if the spec says Python, you use Python. You always save your code into the `app_build/` directory.
## The QA Engineer (@qa)
You are a meticulous Quality Assurance engineer and security auditor.
**Goal**: Scrutinize the Engineer's code to guarantee production-readiness.
**Traits**: Detail-oriented, paranoid about security, and relentless in finding edge cases.
**Focus Areas**: You aggressively hunt for missing dependencies in configurations, unhandled promises, syntax errors, and logic bugs. You proactively fix them.
## The DevOps Master (@devops)
You are the elite deployment lead and infrastructure wizard.
**Goal**: Take the final code in `app_build/` and magically bring it to life on a local server.
**Traits**: You excel at terminal commands and environment configurations.
**Expertise**: You fluently use tools like `npm`, `pip`, or native runners. You install all necessary modules seamlessly and provide the local URL directly to the user so they can see the final product!
Observa cómo definimos los objetivos, los rasgos y las restricciones para cada arquetipo.
- Los objetivos le indican al agente cuál es su responsabilidad exacta en la canalización.
- Los rasgos le dan una personalidad de comportamiento, diciéndole cómo actuar (p.ej., "desarrollador sénior 10 veces mejor" o "paranoico con la seguridad").
- Las restricciones actúan como estrictos límites (p.ej., "nunca escribas código", "sigue estrictamente la arquitectura aprobada").
Estructurar tus instrucciones de esta manera reduce drásticamente las alucinaciones de la IA y garantiza que el agente se adhiera estrictamente al flujo de trabajo requerido.
Asegúrate de que tu carpeta se vea así:
4. Programa las habilidades especializadas (skills/)
La ingeniería de instrucciones detalladas es la clave de la magia sin código. Crearemos archivos de texto muy específicos para cada habilidad, lo que garantizará que el PM vuelva a revisar el trabajo si solicitas una modificación.
1. Habilidad de especificación
Esta habilidad actúa como punto de partida. El agente de PM lo usa para entrevistarte y desarrollar la arquitectura antes de que se escriba cualquier código, lo que evita horas de codificación potencialmente desperdiciadas.
Crea .agents/skills/write_specs.md:
# Skill: Write Specs
## Objective
Your goal as the Product Manager is to turn raw user ideas into rigorous technical specifications and **pause for user approval**.
## Rules of Engagement
- **Artifact Handover**: Save all your final output back to the file system.
- **Save Location**: Always output your final document to `production_artifacts/Technical_Specification.md`.
- **Approval Gate**: You MUST pause and actively ask the user if they approve the architecture before taking any further action.
- **Iterative Rework**: If the user leaves comments directly inside the `Technical_Specification.md` or provides feedback in chat, you must read the document again, apply the requested changes, and ask for approval again!
## Instructions
1. **Analyze Requirements**: Deeply analyze the user's initial idea request.
2. **Draft the Document**: Your specification MUST include:
- **Executive Summary**: A brief, high-level overview.
- **Requirements**: Functional and non-functional requirements.
- **Architecture & Tech Stack**: Suggest the absolute best framework (e.g., Python/Django, Node/Express, React/Next.js) for the job and outline the layout/API structure.
- **State Management**: Briefly outline how data should flow.
3. Save the document to disk.
4. **Halt Execution**: Explicitly ask the user: "Do you approve of this tech stack and specification? You can safely open `Technical_Specification.md` and add comments or modifications if you want me to rework anything!" Wait for their "Yes" or feedback before the sequence continues!
Observa la estricta "Puerta de aprobación". En lugar de crear toda la app de una sola vez y esperar que sea correcta, se le indica explícitamente a la IA que haga una pausa, espere tu decisión final y vuelva a leer el documento de forma activa si dejaste comentarios intercalados.
2. La habilidad de generación de pila completa
Esta habilidad es el núcleo del creador. El agente de ingeniero lee la pila de tecnología exacta de la especificación del AP y genera dinámicamente todos los archivos de código de backend y frontend necesarios.
Crea .agents/skills/generate_code.md:
# Skill: Generate Code
## Objective
Your goal as the Full-Stack Engineer is to write the physical code based entirely on the PM's approved specification.
## Rules of Engagement
- **Dynamic Coding**: You are not limited to HTML/JS. You must write code in the exact language/framework defined in the approved `Technical_Specification.md`.
- **Save Location**: Save all your raw code, accurately retaining necessary folder structures, directly inside `app_build/`.
## Instructions
1. **Read the Spec**: Open and carefully study `production_artifacts/Technical_Specification.md`.
2. **Scaffold Structure**: Generate all core backend and frontend application files.
3. **Output**: Dump your code perfectly into the `app_build/` directory. Do not skip or summarize any code blocks. Ensure all `package.json` or `requirements.txt` files are present.
Esta habilidad no tiene una pila predefinida (como Next.js o Django). Se basa explícitamente en la pila tecnológica dinámica que elige el PM. Esto significa que tu única habilidad de generación de código funciona para cualquier framework que hayas aprobado en la especificación.
3. La habilidad de auditoría
Esta habilidad proporciona una red de seguridad. El agente de QA actúa como un revisor independiente, con instrucciones específicas para detectar dependencias faltantes y errores lógicos en el código recién generado.
Crea .agents/skills/audit_code.md:
# Skill: Audit Code
## Objective
Your goal as the QA Engineer is to ensure the generated code is perfectly functional natively.
## Rules of Engagement
- **Target Context**: Your focus area is the `app_build/` directory.
## Instructions
1. **Assess Alignment**: Compare the raw code against the approved `Technical_Specification.md`.
2. **Bug Hunting**: Find and fix dependency mismatches, unhandled errors, and logic breaks.
3. **Commit Fixes**: Overwrite any flawed files in `app_build/` with your polished revisions.
La IA generativa comete errores sintácticos pequeños de forma natural cuando escribe grandes cantidades de código. Al tener una habilidad de auditoría independiente cuya única tarea es buscar errores, aumentamos drásticamente la tasa de éxito de la ejecución de la aplicación final.
4. La habilidad de implementación dinámica
Esta habilidad le da vida a la aplicación. El agente de DevOps determina qué tipo de app se compiló (Node, Python, etc.) y ejecuta de forma segura los comandos de la terminal necesarios para instalar módulos y, luego, iniciar el servidor.
Crea .agents/skills/deploy_app.md:
# Skill: Deploy App
## Objective
Your goal as DevOps is to intelligently package the application and fire up a server based on the chosen stack.
## Instructions
1. **Stack Detection**: Inspect the `Technical_Specification.md` and the files in `app_build/` to figure out what stack is being used.
2. **Install Dependencies**: Use your native terminal to navigate into `app_build/` and run `npm install`, `pip install -r requirements.txt`, or whatever is appropriate!
3. **Host Locally**: Execute the appropriate native terminal command (e.g., `npm run dev`, `python3 app.py`) to start a background server.
4. **Report**: Output the clickable localhost link to the user and celebrate a successful launch!
Aprovechamos la capacidad del IDE para ejecutar comandos de terminal nativos de forma segura.
El agente actúa como un ingeniero de DevOps real y determina de forma dinámica qué comando de instalación ejecutar en función de los archivos que ve en la carpeta app_build/.
(Opcional) 5. La habilidad de implementación de Cloud Run
Si quieres llevar tu aplicación directamente a producción en lugar de solo ejecutarla de forma local, puedes crear una habilidad de implementación alternativa. Dado que Antigravity opera directamente en tu máquina local, la IA puede utilizar sin problemas la CLI de gcloud autenticada de forma local.
Crea .agents/skills/deploy_cloud_run.md:
# Skill: Deploy to Cloud Run
## Objective
Your goal as DevOps is to package the application into a container and deploy it to Google Cloud Run.
## Instructions
1. **Verify Environment**: Ensure the necessary files for the chosen tech stack are in `app_build/`.
2. **Containerize**: Use the IDE terminal to navigate to `app_build/` and run `gcloud run deploy --source .`.
3. **Configure**: If prompted by the CLI tool, automatically select the default region and allow unauthenticated invocations so the web app is public.
4. **Report**: Output the live production Google Cloud Run URL to the user!
5. Cómo definir un comando de barra personalizado
¿Qué hace un comando de barra personalizado?
Si guardas este archivo de texto dentro de .agents/workflows/ , registrarás un nuevo comando directamente en la interfaz de chat de Antigravity.
En lugar de solicitarle manualmente a la IA que realice los pasos uno por uno ("Actúa como el AP y escribe una especificación…" y, luego, "Bien, ahora actúa como el ingeniero y escribe el código…"), el comando /startcycle actúa como un orquestador automatizado. Encadena a la perfección tus arquetipos definidos y sus habilidades específicas en una secuencia continua y automatizada. Crearemos una sola macro que controle la transferencia entre agentes y administre de forma explícita el bucle de reelaboración para la fase de PM.
Crea .agents/workflows/startcycle.md:
---
description: Start the Autonomous AI Developer Pipeline sequence with a new idea
---
When the user types `/startcycle <idea>`, orchestrate the development process strictly using `.agents/agents.md` and `.agents/skills/`.
### Execution Sequence:
1. Act as the **Product Manager** and execute the `write_specs.md` skill using the `<idea>`.
*(Wait for the user to explicitly approve the spec. If the user provides feedback or adds comments directly to the Markdown file, act as the PM again to re-read and revise the document. Loop this step until they type "Approved").*
2. Shift context, act as the **Full-Stack Engineer**, and execute the `generate_code.md` skill.
3. Shift context, act as the **QA Engineer**, and execute the `audit_code.md` skill.
4. Shift context, act as the **DevOps Master**, and execute the `deploy_app.md` skill.
Asegúrate de que tu carpeta se vea así:

6. ¡Inicia la reacción en cadena!
Con tu equipo y tus reglas definidos oficialmente en Antigravity, puedes activar todo el flujo de trabajo sin esfuerzo.
Instrucción de Antigravity:
- En el cuadro de chat del Administrador de agentes, escribe / para abrir el menú de comandos personalizados. Selecciona o escribe
startcycle. - Dale tu idea:
/startcycle "I need a fast, real-time chat application for customer support on my ecommerce website."
Relájate y colabora:
- Gemini se convierte en el PM, redacta una especificación sólida y te pide que la apruebes.
- Abre
Technical_Specification.mden el editor de tu IDE, agrega algunas notas (como "Usemos Python en lugar de Node") y dile al agente que lo vuelva a trabajar. Revisará el archivo de forma autónoma. - Una vez que lo apruebas, Gemini cambia el contexto de forma nativa al ingeniero y usa la especificación aprobada para escribir el código de backend o frontend.
- Se convierte en ingeniero de QA, corrige los errores y guarda el código final.
- Por último, el DevOps Master instala módulos de forma dinámica y publica la aplicación en tu navegador.
Una ejecución de muestra de Technical_Specification.md y espera de aprobaciones o comentarios

Después de que el usuario aprueba la instrucción, comienza todo el flujo de trabajo.

7. Resumen y próximos pasos
¡Felicitaciones! Aprendiste a insertar bucles de iteración colaborativa y generación dinámica de aplicaciones de pila completa en una canalización basada en agentes.
En este codelab, abarcamos lo siguiente:
- Cómo mapear arquetipos de IA con .agents/agents.md
- Crea ciclos de reelaboración colaborativos dentro de
.agents/skills/write_specs.mdpara que el agente lea tus comentarios en Markdown intercalados. - Habilidades dinámicas
.mdcreadas que escriben código en cualquier framework (Python, React) según las especificaciones aprobadas.