Skip to main content
A good prompt is a short brief: what should exist when the turn ends, how you will know it works, and what to leave alone. The agent does the rest, including testing its own work. For what each button in the composer does, see The composer. For choosing between plan mode, queueing and forking, see Choose the right tool.

Work in a short loop

Small, checkable rounds beat one giant request.
  1. State the outcome. Say what should exist when the turn ends, in plain words.
  2. Say what success looks like. Name the check you will make: “I can book a seat in the Preview.”
  3. Set boundaries. Say what to leave alone: “Don’t add payments yet.”
  4. Let it test. The agent has its own browser inside the session’s machine. It is told to open your app at laptop and phone sizes and check the page before it reports back.
  5. Change one thing at a time. Look at the result in the Preview, then send the next focused change.

Say what done looks like

Give the agent a finish line. Each pair below comes from the Harbor Sailing School booking app.

A new app

Weak
Why it’s weak:
  • Nothing says who books, what they book or what the staff need.
  • There is no finish line, so the agent guesses one.
Strong
Why it works:
  • Users, data and screens are named.
  • “Done means” gives the agent a test to run before it hands back.

A bug: describe the symptom, not the fix

Weak
Why it’s weak:
  • It prescribes a cause you haven’t confirmed. If the cause is elsewhere, the agent patches the wrong thing.
Strong
Why it works:
  • It says what you did, what you expected and what happened instead.
  • The agent can reproduce it, so it looks for the real cause instead of guessing.

A design tweak

Weak
Why it’s weak:
  • “Better” means something different to everyone. Expect a redesign you didn’t ask for.
Strong
Why it works:
  • Sent with the heading picked in the Preview (see the next section), “this heading” is exact.
  • It names one change, the reason for it, and what must not move.

Show it instead of describing it

Pointing beats describing. Each of these puts exact context ahead of your text, so the agent never guesses which button or line you mean.
The composer of the Harbor bookings session with one chip above the typed text Make this text larger on mobile. The chip has a dashed-pointer icon, reads p and the quoted start of the paragraph it holds, Find your balance, catch t…, and has a small X on its right. Below the text sit the + button, the model chip gpt-6.… · high, the plan chip p… · on, a microphone and the white Send button.

A chip waits above your text until you send.

Long text works better as a file than pasted in: one message holds at most 100,000 characters.

Let the agent ask

When only you can decide something, the agent asks with a question card instead of guessing. Pick an option, type into Something else…, or choose Skip — let the agent decide to let it go with its recommendation. When the shape of the work isn’t settled yet, switch on plan mode with the plan chip or ⇧ Tab. The agent explores, asks a few questions and proposes a plan. It changes no files until you press Implement this plan.

Keep keys out of your messages

Anything you type lands in the transcript. When the composer holds something shaped like a known key, a warning strip names it.
Never paste API keys, passwords or database URLs into a message. Add them under Secrets instead. The agent reads them as environment variables, and the values stay out of the transcript. For a GitHub token, connect GitHub in the GitHub tab instead.

Split big jobs

One message with many unrelated asks gets uneven attention. Break it up.

Start from an example prompt

These come from the suggestion chips under the composer on the home screen. Click a chip, hover a row to preview its prompt, and click the row to fill the composer. A pick replaces whatever you had typed, and nothing is sent, so edit it first.
The home composer showing the first suggestion's full prompt in grey: Build a portfolio website to show my projects, with an about page and a contact form, then publish it live. Its bottom row shows the paperclip, the chips codex, gpt-6.1-sol · high, plan, blank machine and repos, the microphone and a dimmed round send button. Below it, in place of the suggestion chips, the Apps panel is open, with the Apps icon and title in its header and a close X on the right. Its rows read: Build a portfolio site and publish it live, highlighted with a chevron; Track habits with streaks and reminders; Take bookings for my small business; Manage my team's time-off requests; Run an online store with Stripe checkout; Make a neon snake game for the browser.

The Apps list opens where the chip row was, and the highlighted row's prompt previews in the composer.

Each suggestion is a starting point. Add your own “done means” line and a boundary before you send it.

Next steps

Build your first app

Put the loop to work on a real app, from the first prompt to the Preview.

Point at and draw on your app

Every way to hand the agent an element, a sketch or a selection.

Plan mode and the agent's questions

Agree the approach before any file changes.

Choose the right tool

Plan or build, queue or steer, fork or start fresh.