Kipt

Prompt templates with blanks you fill in

12 reusable prompt templates with blanks: role, task, context and format; few-shot; critique and revise; step by step; JSON extraction; summaries; comparisons.

By the Kipt team · Updated 23 October 2026

A prompt template is a reusable prompt where the structure stays and only the blanks change, like {{topic}} or {{audience:beginners}}. Below are 12 templates to copy, from role, task, context and format to few-shot, critique and revise, extract to JSON and classify.

How blanks and defaults work

Every template on this page uses the same blank syntax:

  • {{topic}} is a blank you must fill in.
  • {{audience:beginners}} is a blank with a default. Keep "beginners" or type something else.

The name before the colon says what goes there. The text after the colon is the value used if you don't change it. Use letters, numbers, underscores or hyphens in names, like {{word_limit:150}}, and keep a default on one line. The same blank can appear twice in a template; fill it once and both places get the value.

This syntax is what Kipt reads. When you copy a prompt with blanks, Kipt opens a small form with one field per blank, prefilled with the default or with what you typed last time. If you use the templates without Kipt, just replace the braces by hand.

A template is worth having when you notice you write the same kind of prompt over and over. The structure stays; only the blanks change. That is also how good prompts become skills: the fixed part becomes the instructions, and the blanks become the things the agent fills in from context.

1. Role, task, context, format

The general-purpose template. It covers the four things a model needs and is a good default for any new prompt.

You are {{role:an experienced editor}}.

Task: {{task}}

Context:
{{context}}

Format: {{format:a short answer, then up to five bullet points}}.
Audience: {{audience:a smart reader who is new to the topic}}.
Length: {{length:under 250 words}}.

2. Few-shot (learn from examples)

When the output has to follow a pattern that's easier to show than describe: a tone, a label set, a format. Two to five varied examples work better than one.

{{instruction:Rewrite each product note as a one-line customer-facing update.}}

<examples>
<example>
Input: {{example_input_1}}
Output: {{example_output_1}}
</example>
<example>
Input: {{example_input_2}}
Output: {{example_output_2}}
</example>
</examples>

Now do the same for this input. Reply with the output only.
Input: {{input}}

3. Critique and revise

When you want quality over speed. The model drafts, criticizes its own draft against your criteria, then fixes it.

Task: {{task}}

Step 1: Write a first draft.
Step 2: Critique the draft against these criteria:
{{criteria:clarity, accuracy, length and whether it fits the audience}}.
List the three biggest weaknesses.
Step 3: Write a revised version that fixes them.

Show only the critique and the final version, not the first draft.

4. Step by step reasoning

For problems with several steps: estimates, logic, planning, debugging. Asking for the reasoning before the answer catches mistakes. Many current models reason on their own, but this still helps you check the work.

Problem: {{problem}}

Think it through step by step before answering. List what you know, what
you need to find out, and any assumptions. Work through the steps in order.

Then give the final answer on its own line, starting with "Answer:", and
say how confident you are ({{confidence_scale:high, medium or low}}).

5. Extract to JSON

For pulling structured data out of messy text: emails, invoices, notes, web pages. Give the exact shape you want and say what to do with missing values.

Extract the following fields from the text below and return valid JSON
only, with no other text.

Fields:
{{fields:name (string), company (string), email (string), meeting_date (YYYY-MM-DD)}}

Rules:
- Use null for any field that isn't in the text. Do not guess.
- Keep values exactly as written, except dates, which use the format above.
- If there are several records, return a JSON array of objects.

<text>
{{text}}
</text>

6. Summarize for an audience

The same document needs a different summary for a CEO, an engineer and a customer. Naming the reader and what they'll do with it is what makes a summary useful.

<document>
{{document}}
</document>

Summarize the document above for {{audience:a busy executive}}, who needs
it to {{purpose:decide whether to approve the project}}.

Start with the bottom line in one sentence. Then give the points that matter
for that decision, at most {{max_points:5}}. Leave out anything this reader
doesn't need. Use plain language and keep it under {{word_limit:150}} words.

7. Compare options

For choosing between tools, plans, vendors or approaches. Your criteria and their order are what turn a generic comparison into a decision.

Compare these options: {{options}}

My situation: {{situation}}
Criteria, most important first: {{criteria:cost, ease of use, how well it scales}}

Make a table with one row per option and one column per criterion, each cell
a short phrase. Then recommend one option for my situation, give the main
reason, and say what would make you choose differently.

8. Ask me first

When the task depends on details you haven't thought through. The model asks before it guesses.

I want help with: {{task}}

Before you start, ask me the {{number:5}} questions whose answers would most
change your output. Ask them as a numbered list and wait for my answers.
Then do the task using my answers, and state any assumptions you still had
to make.

9. Rewrite for tone and length

For adapting text you already have: a formal email made friendly, a long post made short, notes made into prose.

Rewrite the text below.

Tone: {{tone:friendly and direct}}
Length: {{length:about half the original}}
Reader: {{reader:a customer}}

Keep every fact and the main point. Don't add new claims. Return only the
rewritten text.

<text>
{{text}}
</text>

10. Brainstorm, then filter

For ideas: names, angles, features, experiments. Asking for many and then filtering beats asking for "the best three" straight away.

Generate {{count:20}} ideas for {{goal}}. Make them varied: include safe,
unusual and ambitious ones.

Then pick the best {{shortlist:3}} using these criteria:
{{criteria:easy to try, likely impact, fits the audience}}. For each pick,
give one line on why and the first step to try it.

11. Classify

For sorting many items into fixed groups: support tickets, feedback, leads, transactions. A fixed label list and a fallback label keep results consistent.

Classify each item below into exactly one of these categories:
{{categories:bug, feature request, billing, question, other}}

Use "other" only when nothing else fits. Return a table with columns: item
number, category, and a reason of five words or less.

<items>
{{items}}
</items>

12. Explain to a level

For explanations that land with a specific reader, from a child to a specialist.

Explain {{concept}} to {{reader:someone with no technical background}}.

Start with a one-sentence definition, then an everyday analogy, then one
real example. Avoid jargon; if you must use a term, define it. End with the
one thing people most often get wrong about it. Keep it under
{{word_limit:200}} words.

Tips for writing your own templates

  • Blank only what changes. If you fill a blank with the same thing every time, make it part of the template, or give it a default.
  • Give useful defaults. A good default means you can copy the template and fill in one field.
  • Always say the format. Every template above ends with what the output should look like. That is the line people most often leave out.
  • Separate input from instructions. Tags like <text> or <document> stop the model from treating pasted text as instructions. Anthropic's prompting guide recommends this for Claude, and it helps with other models too.

For finished prompts built on these patterns, see Claude prompts and the best ChatGPT prompts.

Make your favorite one a skill

A template you use every week is a skill waiting to happen. Paste it into the SKILL.md generator and it becomes a valid SKILL.md: the fixed text becomes the instructions, and each blank becomes a line like "If the audience isn't given, use 'a smart reader who is new to the topic'." Claude Code and Codex then use it on their own when a task matches. The guide to writing a SKILL.md explains what makes one work well.

To keep templates one keystroke away, save them in Kipt: paste to save, press ⌘K to find one, and Enter copies it. Blanks open the fill-in form described above, with your last answers already there. Your library lives in your own private GitHub repo, and the prompts you promote to skills install with one command.

Questions

What is a prompt template?

A prompt with a fixed structure and blanks for the parts that change, such as the topic, the audience or the input text. You fill in the blanks each time instead of writing the prompt from scratch.

What is the best prompt engineering template?

For most tasks, role, task, context and format: say who the model should act as, what to do, what it needs to know and what the output should look like. The other templates on this page are for specific jobs like extraction or comparison.

What does {{name:default}} mean in a prompt?

It is a blank with a default value. {{audience:beginners}} means use beginners unless you type something else. A blank without a colon, like {{topic}}, has to be filled in.

Do prompt templates work in both ChatGPT and Claude?

Yes. They are plain text. Claude responds especially well to the XML-style tags some templates use to separate instructions from input, and other models read them fine.

Keep your prompts and skills in one place, in your own GitHub. Install every skill with one command.

Get started

Kipt is an independent product, not affiliated with or endorsed by Anthropic, OpenAI, Cursor or GitHub. Claude, ChatGPT, Codex, Cursor and GitHub are trademarks of their owners.