Coding agents such as Claude Code, GitHub Copilot, Opencode, and OpenAI Codex are transforming software engineering by automating the construction and deployment of applications. In this lab, you'll experiment with Google's Antigravity coding agent to write and deploy a guestbook application.

Cloud Shell

Bring up a session in Cloud Shell, create a directory for your application and change into it.

mkdir antigravity_guestbook
cd antigravity_guestbook

Then, bring up the Antigravity CLI.

agy

When prompted to authenticate the CLI, use the arrow keys to select your Google Cloud project.

Antigravity will provide an authentication link for you to verify that you have access to the project. Select the entire link and it will automatically copy it to the clipboard. Then, paste it into a separate browser window. Perform the authentication to produce an authorization code.

Then, copy the code into the Antigravity CLI to complete the authentication.

Enter your Google Cloud Project ID and select the us location.

Agent skills combined with tools such as those provided by the Model Context Protocol, allow applications to mix predictable, deterministic workflows and program code along with the powerful, but potentially non-deterministic, behavior of generative AI. It is largely the well-designed combination of these approaches that has enabled the success of coding agents. By default, coding agents come with a set of pre-defined skills. To begin with, prompt Antigravity for a list of its skills and slash commands (skills that can be invoked by name via a /).

Can you show me a list of all of your default skills and slash commands related to 
programming?

One skill that is built-in is the grill-me skill that interviews a developer relentlessly about the application they want to build and uses the information gleaned from the interview to develop a detailed software specification that a model can use to produce a functioning prototype. Adapt the prompt below to prompt the Antigravity CLI in order to find out how the skill has been implemented and how it differs from the original implementation.

What are the instructions for the grill-me skill that you have?
How does your implementation differ from the original grill-me skill implementation?

The grill-me skill is typically used to generate a detailed specification and plan that is used internally by the coding agent to implement the subsequent application. The specification and plan are typically hidden from the developer, but we can configure the coding agent with a custom skill that can emit these intermediate outputs in order to examine what is happening underneath the hood. To begin with, prompt the coding agent to create a skill that takes the result of the interview and emits a specification for what the developer wants.

Create a skill called grill-me-to-specification that adds to the grill-me 
skill an output step that emits a markdown file SPECIFICATION.md.

Skills that are custom to a project are typically kept within the project's directory in .agents/skills. Each skill must contain a markdown file SKILL.md that defines the skill. Find the skill you have defined:

Another internal skill that is utilized, but not explicitly shown to a developer is a planning one. This skill generates a detailed plan for implementing the application and allows the coding agent to use it to keep track of what parts it has built and what parts it still needs to build. Prompt the coding agent to create a skill that takes the application specification and generates a detailed implementation plan that can be used to build the application components.

Create a skill called specification-to-plan that examines an application 
specification in SPECIFICATION.md and emits a markdown file PLAN.md that contains a
full implementation plan for building the application from the specification.

Find the skill you have defined:

Another type of skill that is often utilized within coding agents is testing. Such a skill configures an agent to design, create, and run a series of checks and unit tests in order to verify the implementation that is being produced. By invoking these skills after every change that is made to the application, the coding agent is able to automatically catch and fix errors it has made. We wish to test our application at two different points in the development cycle. The first is at the code production and update step to catch any issues with the application code that may have been produced by the agent. Prompt the agent to create a skill to perform the tests.

Create a skill called pre-deploy-test-application that implements and executes a 
set of tests to be run after the code for the application has been implemented. 
Results of the testing should be emitted in a markdown file PRE-TEST.md.

Find the skill you have defined:

The second place we wish to test our application is after deployment in order to catch any cloud platform issues that may have occurred. Prompt the agent to create a skill to perform tests on the deployed application.

Create a skill called post-deploy-test-application that implements and executes a 
set of tests to be run after the code for the application has been deployed. 
Results of the testing should be emitted in a markdown file POST-TEST.md.

Find the skill you have defined:

Next, prompt the coding agent to utilize the skills you have defined to create the application. In addition, instruct the agent to track the skills and tool calls utilized in doing so in order to make its operation transparent.

Utilize the skills I have defined to help me design, plan, implement, test, and 
deploy a Guestbook application on Cloud Run.  Emit a log of the skills and tools 
utilized and provide a summary of the steps taken in LOG.md .

Bring up the deployed guestbook application when the deployment finishes and add several guestbook entries that include your OdinID.

Exit out of the Antigravity coding agent with /exit.

Examine the LOG.md file listing the skills and tools that were used.

Examine the specification file produced by grill-me-to-specification.

Examine the implementation plan produced by specification-to-plan.

Examine the pre-deploy test output log to find the actual tests the coding agent produced and executed.

Examine the post-deploy test output log to find the actual tests the coding agent produced and executed.

While we have previously performed clean up operations manually in prior labs, we can also create a skill that performs this operation for us. This must be done carefully to avoid disasters as seen here, here, and here.

Create a skill called cleanup that deletes the deployed application, resets the 
backend database, and deletes all source files in the directory while preserving 
the skills that I have defined.  Prompt me for approval for each action you propose
to ensure I do not unintentionally delete something I want.

Prompt the agent to clean-up the application (or if you are not prone to YOLO, manually find and delete the Cloud Run service and database entries you've created along with the source files in the directory).