How to write a coding agent prompt

How to write a coding agent prompt that pins the first estimate and a skip list, so the agent ships a v1 you can cancel instead of the marketplace.

  • getting-started
  • vibe-coding
  • scope

How to write a coding agent prompt is the part that decides what you get. A skip list and a stop line turn the Buffer page prompt into a queue you can cancel with, instead of an analytics suite.

Yesterday I wrote about how Plausible works. That was a teardown. This one is a regular backlog topic. The scope post is which row you pick. This post is what you paste after you pick it.

Every product page already has a complete prompt. Copy it. Then add three lines of your own so the agent cannot wander into the marketplace.

How to write a coding agent prompt

The useful prompt has four parts: audience, the first estimate, a skip list, and a stop line the agent can check.

The audience is one sentence from the card. Buffer is one creator publishing to two social accounts. Trello is a small team managing one shared project board. If that line is not you, pick a different card.

The first estimate is the cancel. Buffer is 8 hours: a post queue, one network, scheduled publish. Trello is 3 hours: columns and drag-and-drop cards. Linktree is 30 minutes: a links list, an avatar, one theme.

The skip list is the non-goal plus the third row. Buffer says do not add AI writing, social listening, approval workflows, or every network in v1. Trello says do not build workspace billing, Power-Ups, complex automation, or portfolio views.

The stop line is one check. You can draft a post and it publishes at the chosen time. You can move a card from Idea to Done. You can publish one bio page and click a link.

AUDIENCE One creator, two social accounts Copy the line from the card FIRST ESTIMATE 8 hours, one network, a queue The row you can cancel with SKIP LIST No AI writing, no every network The non-goal plus the third row STOP LINE A draft publishes at the chosen time One check, then you stop
Four lines. The skip list does more work than another feature.

What to put in a coding agent prompt

Start with the page prompt. It already names journeys, screens, rules, the data model, and tests. You do not need to invent that stack of requirements.

Then pin the v1 so the agent cannot treat the whole prompt as “clone the company”.

Build only the first estimate: a post queue, one network, and scheduled publish.
Do not add AI writing, social listening, approval workflows, or every network.
Stop when I can draft a post and it publishes at the chosen time.

Paste those three lines after the copied prompt. The long prompt describes the product. These three lines decide which slice ships.

Typeform gets the same shape with a different first row. $29–$99 a month. $348–$1,188 a year. Two hours for one question at a time and a table of answers.

Build only the first estimate: a one-question form and a response table.
Do not create a visual builder, payment fields, or an integrations gallery.
Stop when I can publish one form and download a CSV of answers.

If you are not using a card from this site, write the four parts yourself: who uses it, what ships this week, what never ships, and one check you can do on Monday. That is enough to start. You can add journeys and rules after the first slice runs.

I would also paste the guardrail. Buffer wants encrypted tokens and idempotent publish jobs. Typeform wants server-side validation, a rate limit, and a honeypot. GetWaitlist counts positions only after double opt-in.

The guardrail stays in v1, because it is not a later hardening pass.

How a skip list keeps the agent on v1

“Do not build X” saves more time than another feature bullet.

Agents add surfaces readily, and they rarely notice you did not ask for them. A composer leads to a calendar, then analytics, then every network API, when you only asked for a queue.

The Typeform walkthrough ships seven questions and a CSV. The non-goal says do not create a general visual workflow builder or payment fields. Without that line, the agent starts a builder other people can use.

Tally is the same job with a different first row. 8 hours for a block builder, a response table, and a CSV. The skip list is payments, quizzes, an integration marketplace. $29–$89 a month. $348–$1,068 a year. The marketplace is the month-long third row.

Trello’s skip list is Power-Ups and live sync. The first row is columns and cards. The first-project post is which card to open. This line is how you keep the agent on that card.

Write the skip list as named products, not vibes. “Do not build Power-Ups” is checkable, and “keep it simple” is not.

How to pin the first estimate

Open the product page. Copy the first row’s time and scope. Put both in the prompt.

Buffer is $18–$36 a month. $216–$432 a year. The card says 8 hours for a post queue, one network, and scheduled publish. The solid row is 3 days: a calendar you can drag, previews, retries, a second network. The honest row is a month and up: every network API, approvals, analytics, AI writing.

If you omit the first row, the agent reads the journeys and aims at the calendar. The journeys mention drag-to-reschedule. That is the second row. The pin exists so the first ship is the queue.

const v1 = {
  product: 'Buffer',
  estimate: '8 hours',
  ship: 'post queue, one network, scheduled publish',
  skip: 'every network API, approvals, analytics, AI writing',
  stop: 'a draft publishes at the chosen time',
}

The agent now has a stop condition, which “clone Buffer” never gave it.

GetWaitlist is 3 hours: a signup form, positions, referral links, opt-in. $15–$50 a month. The third row is a multi-waitlist dashboard, integrations, a public API. Pin the form and the position number. Leave paid queue jumping on the skip list. The card names that as a non-goal.

Linktree is 30 minutes. The Linktree walkthrough is that row. The week-long version is billing and a theme marketplace. You are not selling themes.

A stop condition for the agent

A feature list can grow forever, so the prompt needs a check you can finish.

The stop line should be something you can do on Monday with real data. Publish one form and download a CSV. Move one real card to Done. Confirm a waitlist signup and see a position.

The site’s prompts already end with a definition of done. A fresh developer follows the README, signs in, completes every named journey, refreshes without losing state. That is the full v1. Your three extra lines shrink “every named journey” to the first estimate.

If the agent starts a second workspace, a theme shop, or a HubSpot import, stop it. Paste the non-goal again. Then paste the stop line.

THE LINE YOU PASTE CLONE BUFFER Every network API Approvals Analytics suite AI writing A month and up PIN THE QUEUE One network A post queue Scheduled publish A stop line Eight hours Same Buffer page. Same copied prompt. The three extra lines pick the row. Do not build X is the useful one.
Clone Buffer aims at the suite. The pinned prompt ships a queue you can cancel with.

When the agent starts cloning the marketplace

You will see it in the file tree: a second workspace, a billing table, an integrations folder with twelve empty adapters, a theme shop.

Stop the run. Do not ask it to “simplify”. Paste the skip list again, then the stop line. If it already wrote the extra tables, tell it to delete them. Agents keep unused schema if you only say “focus”.

The journeys on the page can pull the agent wide. Buffer’s journeys mention dragging a queued post to a different day. That is the 3-day row. Typeform’s journeys mention a conditional jump. That is the 6-hour row. The first Typeform row is one question at a time and a table of answers.

My advice is to treat journeys as the product, and the three extra lines as the cut. The page prompt is allowed to be complete. Your pin keeps the first ship on the first estimate.

If you are not ready to cancel the whole subscription, use a mini-prompt on the same page. Buffer has one for the publish job that never double-posts, and one for the queue that knows its next open slot. Those are evening-sized. They still need a skip list. “Do not add a second network” belongs there too.

Start now

Go to the audit. Open the app you already pay for.

Copy the prompt. Copy the first estimate. Copy the non-goal. Write one stop line.

Paste all four. Ship that slice. Use it as the real tool. Cancel when the paid tab has been closed for a week.