# First afternoon with a coding agent



From "Field Notes from a Centaur" by Michell Zappa. Canonical: https://www.michellzappa.com/field-notes/first-afternoon
Cite as: Michell Zappa, "First afternoon with a coding agent", Field Notes from a Centaur, https://www.michellzappa.com/field-notes/first-afternoon

---

It's a one-minute skill. What you're really teaching is giving people the confidence to ask these questions. They don't know they can build software by asking their computer.

There's about a minute of skill building. The rest is the framing, the state of mind and the problem-solving approach you bring to this work.

## What a coding agent is

All models can do all kinds of coding. But some harnesses, the tool that manages the models, are geared towards software development. Claude Code (Anthropic's coding agent, which works directly in your files) is a harness. It uses Claude's models through a piece of software called the harness. ChatGPT is a very general harness. It does a little bit of everything: a little bit of cooking, a little bit of wayfinding.

Both GPT and Claude have full web design capabilities in the chat version now. But they're not going to help you host the site. You have to manage that jump yourself. Middle-ground tools like v0 and Lovable (app builders that make a web page from a prompt) do a lot more handholding between the space in which you experiment and build and how you get it published. The things you can pull off in a v0 are very limited compared to what you can do once you're in a coding agent. And if you want to build an app and test it on your own computer, then you have to have the desktop app. For everything else, it works in the cloud.

All models are more or less equally good. The moment you're going to need one very specific model is pretty rare, and it's going to take a long time before you even notice the difference from one model to the next. So treat them all as more or less the same.

In my workshops nobody opens the agent first. They think in the chat they already use and build in v0, and the agent comes last.

## What you need

We don't need very much to get started. If we're online, we have all we need. In terms of pricing, you don't have to spend any money on this. You can spend a little bit of money, or a little bit more. There's very little reason to spend a lot. There's v0, and they give you enough credits to experiment. All of these companies are eager to have new customers.

> **Me:** You will need a paid account to either Claude, ChatGPT or Gemini to get the most out of the session. […] Free accounts on GitHub and Vercel (to privately save your code online, and to publish your website).

Make the accounts before you start: Vercel first, then sign in to v0 with your Vercel account, then GitHub. Later you add the desktop app of Claude Code or Codex (OpenAI's coding agent).

## Picking your first project

A personal website. It's a handful of pages with some images and some interactivity. That's the guaranteed output everyone can get to. It doesn't have to be a sales brochure for your services. It can be a moment of self-expression, something that helps you think about yourself in a greater sense.

If you're building your personal website, you have all the answers, because it's your thing. It is the thing you know the most about. If you're moving in a very different direction, it can be super helpful to have it ask you questions, because you're also learning what the categories are in that space.

Everyone left with a thing they built. Someone made a bedtime story generator to teach their five-year-old new words, with their favorite characters. Someone had just bought a horse, and horses are a lot of work: a veterinary schedule, certificates, a bunch of things. She built an app for her horse.

## Writing the brief

Everything I've built follows the same procedure. You open up GPT or Claude or whatever, saying: hey, I want to build this app. Don't build the app, but rather tell me the things I need to know in order to end up with something like that. Its technical knowledge is a million times more than mine.

In the workshops, one big prompt helps you come up with your personal website project in great detail. You paste that prompt into your own GPT and spend about ten minutes in that conversation. Once that's done, it produces another prompt, a briefing, that you put into a vibe coding tool like v0 or Lovable. You start with a much more advanced foundation, because you thought through the basics somewhere you know, rather than: here's Lovable, knock yourself out. That's the only methodology thing we've done, and it was my partner's idea.

If you start somewhere that is not visual, you force yourself to stay in the thinking mode for longer. Three to five rounds of questions is usually enough. At some point it stops adding fidelity, and it's just insisting on asking questions without getting any more answers out of it.

The prompt from the workshop page, shortened:

> Act as a friendly website-planning assistant helping a beginner turn a rough idea into a simple website brief they can paste into a website builder like v0.
>
> Start by asking them to describe their website idea, however messy or incomplete. Then ask AT MOST THREE more rounds of questions, one round at a time. Offer simple options instead of making them invent everything from scratch. After the third round, stop asking and write the brief, even if some things are still vague. Fill gaps with sensible defaults and say which ones you chose. […]
>
> Keep scope small. When an idea grows, suggest a simpler first version rather than rejecting it.
>
> Then output the brief inside a single fenced code block, ready to copy. […] End with one line naming what is deliberately left out of the first version.

Save the brief where you can find it. It is the thing you keep.

## Building it once

Open v0, paste the brief once and send it. Leave the model on the default, so the free credits last.

It does something called a one-shot. One-shot just means that you have a single interaction with the model, and its output is what you get. We're not going to do anything more. The question is how far good documentation can go in getting it right the first time. It's usually quite remarkable how far it goes in a single shot.

The instructions we prepared for the session three months earlier were already out of date, because there used to be an auto option there. It's hard to keep up.

When you see a page built, you start noticing which pieces weren't clear upfront. What about the design? What about my photos? What about the research? You only really feel them when you don't have them, because we don't think about them upfront.

## Doing it again

Take the briefing, the thing Claude or GPT gave you, iterate on that, and put it back into v0. If it veered in a direction you didn't want, throw out the whole prompt and just do it again. Most text writing is in chat: say, hey, help me rework this in this direction.

You learn more by starting again. You go a bit further if you stick to the thing you're already in. There's no right answer, and you can mix and match.

## Publishing it

In v0, click Publish, let it create a GitHub repository, then publish to production.

That's going to give you a permalink, a website address. If you want to buy a domain, you can connect it to the thing you've just built. v0 connects to your GitHub, and then the model will help you through that.

## Opening the coding agent

A personal website can mean such different things to every one of us. Having a thousand travel photos, and that comes across infrastructure questions very quickly. That's the difference between the cloud and local: you can only do that if you're running locally.

Install the desktop app of Claude Code or Codex and sign in with the Claude or ChatGPT account you already have. Give it your project: open the folder, or ask the agent to get the repository v0 made on GitHub.

Ask a question before you ask for a change: "read this project and tell me what each file does. don't change anything yet." Then ask for one small change, look at what it changed, and publish again.

It will ask to run commands and install things. They will break in very safe ways. Never say never, but it's very difficult to break your computer from setting up a development environment if you're just following instructions. What I do to this day: whenever I feel uncomfortable, like, should I really install this package it's asking for? Then I just ask GPT or Claude: hey, what does this do? Do I need it?

Every step should be tracked. You should be committing your code to something like Git.

## When it goes wrong

There's going to be a lot of assumptions these tools are making. The prompt we gave you doesn't request any design directions, so the design that comes up is the most obvious one. With design, you can be extremely specific and extremely detailed.

You have those credits, and they're going to go very quickly. So iterate on the brief in the chat, not in the builder. You can try the same problem in different tools to see what sticks.

Every time something technical and weird comes up, ask the model. If you do it a couple of times, you start learning all the ways these things will break.

When it fixes one thing and breaks another, ask whether the errors are changing, cut the scope, or start a new chat with what works and what doesn't.

You have to know your risk profile: what you are exposing, and to whom. If it's client work and there's confidential data, all of those. You can ask those questions while you're building. You don't have to go somewhere else.

## What to try next

This little loop we just did, these five steps, is almost exactly the same thing I do three years later. It's still the same shape of work.

The amount of time a model can work for you without interruption and get to the right response is growing. If you have a very clearly defined goal, you can put very advanced models to work towards it for hours.
