<!-- https://zerolog.ch/docs/prompt · Docs / Chat -->
# Prompt builder

Build a clearer instruction, then decide whether to copy it or use it in a chat. In the app this page is called **Prompt builder**.

## The pass

1. Rough

   Write a rough instruction and press **Sharpen**.
2. Sharpened

   Press **Ask me a question** to be asked clarifying questions, one at a time, with no fixed limit. Answer or skip, then review and edit the improved version. It lists what changed and the assumptions it made.
3. Use it

   Copy it, or send it to a chat.

## Start with a clear instruction

The result is not sent until you choose to send it, unless you switch on sending without asking. It can help with instructions you want to get right before using:

- A review checklist
- A commit-message format
- A [scheduled task](https://zerolog.ch/docs/tasks)'s instruction

## What it learns and what it costs

The builder keeps short notes about your preferences, up to 40. You can read, edit and delete each one, or delete them all. Every pass runs on the everyday model against its own budget per session; when that budget is spent it stops and the text stays usable. Two switches control it: sharpen every message before it goes out, and send the sharpened version without asking.

## From rough text to a sharpened prompt

Mermaid source of the diagram on this page:

```mermaid
%% Prompt optimiser (Prompt builder): from rough text to a sharpened prompt. Facts from web/apps/web/app/(app)/prompt/page.tsx and server/optimizer.js, server/routes/optimizer.js.
flowchart TB
  rough["Rough instruction"]
  sharp["Sharpen:<br/>suggestion with<br/>changes and assumptions"]:::hot
  ask["Ask me a question:<br/>answer or skip,<br/>no fixed limit"]
  edit["You review and edit"]
  use["Copy it, or send it to a chat"]

  rough --> sharp
  rough --> ask
  ask -->|fold answer in| sharp
  sharp --> edit --> use

  linkStyle 0 stroke:#8f7ac9
```
