Crie pipelines de desenvolvedor autônomos usando agents.md e skills.md no Antigravity

1. Introdução

Neste codelab, vamos mostrar como configurar uma equipe de desenvolvedores de IA autônomos divertida e com assistência de IA diretamente no seu computador usando o ambiente de desenvolvimento integrado do Antigravity. Você vai criar um aplicativo funcional orientando um requisito durante todo o ciclo de vida, desde a especificação técnica até a implantação final, usando um fluxo de trabalho skills.md e agents.md avançado.

Em vez de ficar preso a uma pilha de tecnologia específica ou escrever scripts de orquestração complexos do Python, vamos usar uma abordagem amigável de código zero em que seus requisitos fluem por um ciclo automatizado com base em três princípios principais do Antigravity:

  1. agents.md: para definir exatamente quem está na sua equipe de IA (gerente de produtos, front-end, controle de qualidade, DevOps).
  2. Habilidades e skills.md: um diretório dedicado em que você define habilidades técnicas robustas e regras de transferência de artefatos como arquivos .md modulares.
  3. Fluxos de trabalho (workflows/): para definir comandos de barra personalizados que encadeiam perfeitamente os membros da sua equipe de IA em um pipeline autônomo.

Ao combinar esses três elementos nativamente no Antigravity, você vai orientar o Gemini a automatizar completamente o desenvolvimento de um aplicativo pronto para produção do início ao fim.

O que você vai aprender

  • Inicializar o espaço de trabalho: configure seu projeto para que o Antigravity o entenda profundamente.
  • Definir a equipe: crie um arquivo agents.md para estabelecer suas personas de IA especializadas.
  • Programar as habilidades: crie arquivos .md detalhados em um diretório skills/ para definir regras técnicas rigorosas e loops de retrabalho iterativos.
  • Definir fluxos de trabalho personalizados: crie um comando de barra /startcycle para automatizar o fluxo de trabalho do estúdio.
  • Iniciar a reação em cadeia: use um único comando para executar automaticamente todo o pipeline multiagente de maneira eficiente.

O que você vai tentar

  • Como separar a engenharia de comandos de IA do código do aplicativo.
  • Como construir um agente que pausa ativamente para interpretar comentários e edições do usuário nos arquivos Markdown gerados.
  • Como criar habilidades dinâmicas e independentes de linguagem para geração e implantação de código.
  • Como construir comandos de macro personalizados (fluxos de trabalho) em um ambiente de desenvolvimento integrado de agente.

O que é necessário

Antes de começar

  1. Verifique se o ambiente de desenvolvimento integrado do Antigravity está instalado (disponível em antigravity.google).
  2. Abra o ambiente de desenvolvimento integrado do Antigravity e verifique se você tem um espaço de trabalho novo e dedicado inicializado.
  3. Mantenha um terminal aberto enquanto trabalha no modo Editor.

2. Inicializar o espaço de trabalho

Como o Antigravity entende nativamente os arquivos de fluxo de trabalho colocados no diretório .agents, configurar seu pipeline de desenvolvedor autônomo é tão simples quanto criar algumas pastas padrão.

Você pode configurar seu espaço de trabalho:

  1. Abra o ambiente de desenvolvimento integrado do Antigravity.
  2. Abra o Gerenciador de agentes. A qualquer momento, você pode alternar entre o Gerenciador de agentes e o editor pressionando CMD + E (Mac) ou CTRL + E (Windows) ou usando os botões "Abrir editor" e "Abrir Gerenciador de agentes" no canto superior direito da barra de menus. .
  3. Clique em + Abrir espaço de trabalho.

Para iniciar uma nova conversa em um espaço de trabalho, selecione o espaço de trabalho desejado na guia "Iniciar conversa" ou clique no botão de adição ao lado do nome do espaço de trabalho na barra lateral.

45e7241be5552e42.png

  1. Clique em "Abrir novo espaço de trabalho", nomeie o espaço de trabalho como skills-codelab e selecione um diretório local. Isso garante que o agente tenha uma pasta raiz específica para criar arquivos sem bagunçar outros projetos. Quando terminar, acesse a visualização do editor e siga as etapas (5), (6) e (7).

d84ba507939a5efc.png

  1. Clique com o botão direito do mouse e crie uma pasta skills-codelab.
  2. Dentro dela, crie dois diretórios: production_artifacts e app_build.
  3. Crie um diretório .agents e, dentro dele, crie pastas workflows e skills.

(Alternativa) Se preferir usar o terminal, você pode gerar essa estrutura instantaneamente executando:

mkdir skills-codelab && cd skills-codelab
mkdir -p .agents/workflows .agents/skills
mkdir production_artifacts app_build

Verifique se a pasta tem esta aparência:

7234ea48c2b175a7.png

O que essas novas pastas fazem?

  • .agents/: esse é um diretório especial reconhecido nativamente pelo Antigravity. Ao colocar arquivos aqui, você estende o comportamento de IA integrado do Antigravity.
  • skills/: essa pasta é usada para armazenar manuais de instruções técnicas específicas (arquivos .md) para sua IA. Isso informa à IA como realizar tarefas específicas, como escrever código ou implantar apps, substituindo um comando confuso e enorme por etapas modulares.
  • production_artifacts/: essa é nossa pasta compartilhada em que os membros da equipe automatizada vão intencionalmente soltar arquivos para o próximo agente ler.
  • app_build/: o espaço de trabalho designado para o código do aplicativo real. O agente de engenheiro full-stack vai gerar todo o código (como package.json, app.py, componentes React) e salvá-lo diretamente nessa pasta, isolando a origem do aplicativo das instruções da IA.

3. Definir a equipe (agents.md)

Primeiro, precisamos informar ao Antigravity quem está trabalhando neste projeto. Em vez de manter as instruções em quatro pastas de projetos aninhadas diferentes, centralizamos a identidade da nossa equipe. Crie um arquivo em .agents/agents.md:

Por que precisamos de personas diferentes?

Quando você pede a uma IA para criar um aplicativo inteiro do zero, ela pode ficar facilmente sobrecarregada se você a forçar a ser o arquiteto, o programador, o testador e o líder de implantação de uma só vez. Ao centralizar essas funções em agents.md, você evita que a IA fique confusa. O gerente de produtos se concentra apenas nos requisitos, o engenheiro apenas na geração de código e o controle de qualidade apenas na correção de bugs. Você recebe especialistas para cada estágio do pipeline.

O arquivo agents.md resolve isso centralizando as diferentes personas da sua equipe:

  1. O gerente de produtos (@pm): se concentra apenas no panorama geral. Ele escreve o Technical_Specification.md e gerencia o processo de aprovação com você (o humano).
  2. O engenheiro full-stack (@engineer): não se preocupa com o planejamento. Ele apenas pega a especificação do gerente de produtos e se concentra totalmente em escrever código de alta qualidade em qualquer linguagem que você aprovar.
  3. O engenheiro de controle de qualidade (@qa): atua como um novo conjunto de olhos. Em vez de escrever novos recursos, o único foco deles é encontrar dependências ausentes, erros de sintaxe ou bugs lógicos no código do engenheiro.
  4. O mestre de DevOps (@devops): se concentra estritamente no ambiente de execução. Ele sabe como ler o terminal, instalar pacotes (npm install, pip install) e iniciar o 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!

Observe como definimos metas, características e restrições para cada persona.

  • As metas informam ao agente qual é a responsabilidade exata dele no pipeline.
  • As características dão a ele uma personalidade comportamental, informando como agir (por exemplo, "desenvolvedor sênior 10x" ou "paranoico com segurança").
  • As restrições atuam como barreiras rigorosas (por exemplo, "nunca escreva código", "siga rigorosamente a arquitetura aprovada").

Estruturar seus comandos dessa forma reduz drasticamente as alucinações de IA e garante que o agente siga rigorosamente o fluxo de trabalho necessário.

Verifique se a pasta tem esta aparência:

4. Programar as habilidades especializadas (skills/)

A engenharia de instruções detalhadas é a chave para a mágica de código zero. Vamos criar arquivos de texto altamente específicos para cada habilidade, garantindo que o gerente de produtos faça um loop ativo para trás se você solicitar um retrabalho.

1. Habilidade de especificação

Essa habilidade atua como ponto de partida. O agente do gerente de produtos a usa para entrevistar você e desenvolver a arquitetura antes que qualquer código seja escrito, evitando horas de programação potencialmente desperdiçadas.

Crie .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!

Observe o "Portal de aprovação" rigoroso. Em vez de criar o app inteiro de uma só vez e esperar que ele esteja correto, a IA recebe instruções explícitas para pausar, aguardar sua decisão final e reler ativamente o documento se você deixar comentários inline.

2. A habilidade de geração full-stack

Essa habilidade é o criador principal. O agente do engenheiro lê a pilha de tecnologia exata da especificação do gerente de produtos e cria dinamicamente todos os arquivos de código de front-end e back-end necessários.

Crie .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.

Essa habilidade não tem uma pilha predefinida (como Next.js ou Django). Ela depende explicitamente da pilha de tecnologia dinâmica escolhida pelo gerente de produtos. Isso significa que sua habilidade de geração de código única funciona para qualquer framework aprovado na especificação.

3. A habilidade de auditoria

Essa habilidade oferece uma rede de segurança. O agente de controle de qualidade atua como um revisor independente, instruído especificamente a procurar dependências ausentes e erros lógicos no código recém-gerado.

Crie .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.

A IA generativa naturalmente comete pequenos erros sintáticos ao escrever grandes quantidades de código. Ao ter uma habilidade de auditoria separada, cuja única função é procurar erros, aumentamos drasticamente a taxa de sucesso da execução do aplicativo final.

4. A habilidade de implantação dinâmica

Essa habilidade dá vida ao aplicativo. O agente de DevOps determina que tipo de app foi criado (Node, Python etc.) e executa com segurança os comandos de terminal necessários para instalar módulos e iniciar o servidor.

Crie .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!

Aproveitamos a capacidade do ambiente de desenvolvimento integrado de executar comandos de terminal nativos com segurança.

O agente atua como um engenheiro de DevOps real, descobrindo dinamicamente qual comando de instalação executar com base nos arquivos que ele realmente vê na pasta app_build/.

(Opcional) 5. A habilidade de implantação do Cloud Run

Se você quiser levar seu aplicativo diretamente para a produção em vez de apenas executá-lo localmente, crie uma habilidade de implantação alternativa. Como o Antigravity opera diretamente na sua máquina local, a IA pode usar perfeitamente a CLI gcloud autenticada localmente.

Crie .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. Definir um comando de barra personalizado

O que um comando de barra personalizado faz?

Ao salvar esse arquivo de texto em .agents/workflows/ , você está registrando um novo comando diretamente na interface de chat do Antigravity.

Em vez de solicitar manualmente a IA etapa por etapa ("Atue como o gerente de produtos e escreva uma especificação..." e "Ok, agora atue como o engenheiro e escreva o código..."), o comando /startcycle atua como um orquestrador automatizado. Ele encadeia perfeitamente as personas definidas e as habilidades específicas delas em uma sequência contínua e automatizada. Vamos criar uma única macro que lida com a transferência entre agentes, gerenciando explicitamente o loop de retrabalho para a fase do gerente de produtos.

Crie .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.

Verifique se a pasta tem esta aparência:

de21eeb6012ddbcd.png

6. Iniciar a reação em cadeia

Com sua equipe e regras definidas oficialmente no Antigravity, você pode acionar todo o fluxo de trabalho sem esforço.

Solicite o Antigravity:

  1. Na caixa de chat do Gerenciador de agentes, digite / para abrir o menu de comandos personalizados. Selecione ou digite startcycle.
  2. Dê sua ideia:
/startcycle "I need a fast, real-time chat application for customer support on my ecommerce website."

Relaxe e colabore:

  1. O Gemini se torna o gerente de produtos, cria uma especificação robusta e pede sua aprovação.
  2. Abra Technical_Specification.md no editor do ambiente de desenvolvimento integrado, adicione algumas observações (como "Vamos usar o Python em vez do Node") e peça ao agente para refazer. Ele vai revisar o arquivo de forma autônoma.
  3. Depois de aprovado, o Gemini muda o contexto nativamente para o engenheiro, usando a especificação aprovada para escrever o código de back-end/front-end.
  4. Ele se torna o engenheiro de controle de qualidade, corrige bugs e salva o código final.
  5. Por fim, o mestre de DevOps instala módulos dinamicamente e veicula o aplicativo no seu navegador.

Um exemplo de execução de Technical_Specification.md e espera por aprovações ou comentários

11defe4c48e874cc.png

Após a aprovação do usuário no comando, todo o fluxo de trabalho começa.

b9af07291806ae60.png

7. Resumo e próximas etapas

Parabéns! Você aprendeu a injetar loops de iteração colaborativa e geração de aplicativos full-stack dinâmicos em um pipeline de agente.

Neste codelab, abordamos o seguinte:

  • Como mapear personas de IA usando .agents/agents.md.
  • Crie loops de retrabalho colaborativos em .agents/skills/write_specs.md para que o agente leia seus comentários inline do Markdown.
  • Habilidades .md dinâmicas construídas que escrevem código em qualquer framework (Python, React) dependendo da especificação aprovada.