Docs

Placeholders

Placeholders mark the parts of a prompt that change each time. Generate turns them into a form, so you fill in the blanks instead of editing the prompt.

At a glance

Write You get Notes
{{topic}} A text box The default type
{{words:number}} A number field  
{{source:file}} A file picker The file’s text is inserted, read on your device
{{tone:select[formal, friendly]}} A dropdown Options separated by commas

A placeholder is a name in double curly braces, optionally followed by a colon and a type. Use them anywhere in a prompt, as often as you like.

Text

Write a short bio for {{name}}, a {{role}} at {{company}}.

The plain form, and the one to reach for by default. Each becomes a two-line text box you can drag taller, so it works for a single word or a whole paragraph.

Number

Summarize the article below in about {{words:number}} words.

A field that only accepts numbers. Useful for lengths, counts and limits, where a typo like “3oo” would otherwise slip through.

File

Review this code for bugs:

{{code:file}}

A file picker. The chosen file is read as text on your device and inserted where the placeholder is; nothing is uploaded. Text files up to 2 MB work: source code, CSV, Markdown, logs, JSON and so on.

Select

Rewrite this email in a {{tone:select[formal, friendly, direct]}} tone.

A dropdown with the options in square brackets, separated by commas. Spaces around each option are ignored, so [formal,friendly] and [formal, friendly] are the same.

The rules

  • Names use letters, digits and underscores: {{focus_area}}, {{step2}}. Spaces just inside the braces are fine: {{ topic }}.
  • Types are text, number, file and select, in any case. An unknown type is treated as text.
  • A select needs options. {{tone:select}} or {{tone:select[]}} becomes a text box.
  • Options can’t contain commas or a closing square bracket ].
  • Reuse a name to reuse a value. Every {{product}} in a prompt is filled from the same field. The first occurrence decides the field’s type, so you only need to write the type once:
Write a launch tweet for {{product:select[Atlas, Nimbus]}}.
Then write a one-line tagline for {{product}}.
  • Empty fields stay as they are. If you leave a field blank, the placeholder remains in the finished prompt as {{name}}, so you can spot what’s missing.

A complete example

Review the following {{language:select[Python, JavaScript, Go]}} code
for bugs and readability.

{{code:file}}

Focus on {{focus_area}} and keep the review under {{words:number}} words.

Generate shows four fields: a dropdown, a file picker, a text box and a number field. Pick Python, choose parser.py, type “error handling” and 150, and the prompt reads:

Review the following Python code
for bugs and readability.

def load(path):
    f = open(path)
    ...

Focus on error handling and keep the review under 150 words.

Where placeholders show up

  • Library cards list a prompt’s placeholders as chips, so you can see what it asks for at a glance.
  • Add Prompt and Save as prompt detect placeholders when you save; the syntax is summarized right in both forms.
  • Generate, from a card or a prompt’s details, turns them into the form described above. See the guide for the rest of that dialog.