Prompt Engineering Examples: 12 Ready-Made Templates for Work
Twelve prompt templates for everyday tasks: what each one says, why it is built that way, and what a single API call costs.
4 min · · development · models
Most articles about prompts explain theory, while the reader needs a template to paste and get a result. This is prompt engineering by example: twelve templates for summarizing, data extraction, classification, rewriting and analysis. Each comes with a note on why it is built that way, so you can adapt it to your own task.
All templates work with any model in the catalog. Curly braces {{...}} mark where you insert your own data.
The general scheme: what a working prompt contains
A good prompt answers four questions: what to do, on what data, in what format to answer, and what not to do. If one is missing, the model guesses and results drift between runs. Separate data from instructions with tags or triple quotes so the model does not mistake document text for a command. More on this in the article about system prompts.
Prompt engineering examples: the templates
Summarization
1. Short summary with a limit
Shorten the text to 5 sentences for a manager who has not read it.
Keep numbers, dates and names. Do not add anything that is not in the text.
<text>
{{text}}
</text>
Why it works: the audience ("a manager who has not read it") sets the level of detail better than "briefly" or "in detail". The explicit ban on adding facts reduces invention.
2. Bullet digest with decisions
From the minutes below, write three lists: "Decisions", "Tasks (who, what, due date)",
"Open questions". If the due date or owner is not in the text, write "not specified".
<protocol>
{{minutes}}
</protocol>
Why it works: fixed headings turn free text into structure, and the "not specified" rule stops the model from inventing owners.
Data extraction
3. Fields as JSON
Extract the fields from the email and return only JSON with no commentary:
{"company": string|null, "amount": number|null, "currency": string|null, "deadline": "YYYY-MM-DD"|null}
If a field is not in the email, use null. Do not guess.
<email>
{{email}}
</email>
Why it works: a schema with types and null for missing values makes the answer predictable. How to guarantee valid JSON is covered in the article on structured output.
4. Extraction with a confirming quote
Find the payment term in the contract. Return the value and a verbatim quote from the text.
If the contract has no payment term, answer "not found".
The quote lets you check the answer by eye and filter out false hits.
Classification
5. One label from a closed list
Determine the topic of the request. Allowed values: payment, access, error, other.
Answer with one word from the list.
Request: {{text}}
6. Classification with examples
Review sentiment: positive, neutral or negative. Answer with one word.
Review: "Delivered fast, but the box was dented" -> neutral
Review: "I will not order again" -> negative
Review: {{review}} ->
Why it works: a closed list and a one-word answer simplify parsing in code. Two or three examples set the boundaries better than a description; see the article on few-shot prompting.
Rewriting
7. Change tone, keep meaning
Rewrite the message in a business but friendly tone. Do not change meaning, numbers or links.
Length no greater than the original.
{{message}}
8. Simplify for a new reader
Explain the passage so that a first-year student understands. Keep terms that cannot be
replaced and give a gloss in parentheses.
Why it works: two constraints ("do not change meaning", "no longer than") keep the model from improvising. Without them a model often lengthens the text.
Analysis
9. Pros, cons, risks
Analyze the proposal below. Return a table: item, pro or con,
which line of the text you rely on. Do not use facts from outside the text.
Finish with one paragraph on the main risk.
10. Code review
Check the function for errors. For each problem: line, essence, suggested fix.
If there are no errors, write "no remarks". Do not rewrite the whole code.
11. Comparing options
Compare options A and B on: price, timeline, risk. Return a table.
In the last row, say what is missing for a confident decision.
Working from a source
12. Answer only from the document
Answer the question using only the text below. If the answer is not in the text,
say "the document does not say this". At the end, give the quote you rely on.
<document>
{{document}}
</document>
Question: {{question}}
Why it works: the permitted phrase "the document does not say this" gives the model a way out, so it does not make things up. This is the basis of knowledge-base search.
Calling a template from code
All twelve templates drop into the same call. A Python example with the OpenAI SDK, with the key read from an environment variable:
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key=os.environ["ZUKKO_API_KEY"])
TEMPLATE = """Shorten the text to 5 sentences for a manager.
Keep numbers, dates and names. Do not add anything that is not in the text.
<text>
{text}
</text>"""
def summarize(text: str) -> str:
r = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": TEMPLATE.format(text=text)}],
temperature=0.2,
)
return r.choices[0].message.contentFor tasks with an exact answer (extraction, classification) keep the temperature low; for rewriting it can be higher. Note that some newer models ignore temperature or reject it: if you get a 400 error, drop the parameter.
What one call costs
Prices as of October 18, 2026, $ per 1M tokens. Take summarization with illustrative volumes: 3000 input tokens, 300 output.
| Model | Input / output | Formula | One call |
|---|---|---|---|
deepseek-v4.1-flash | 0.013 / 0.038 | 3000 × 0.013 / 1M + 300 × 0.038 / 1M | about $0.00005 |
claude-sonnet-5-5 | 0.4 / 2 | 3000 × 0.4 / 1M + 300 × 2 / 1M | $0.0018 |
For a thousand documents that is about $0.05 and $1.80. Which model is enough is decided by testing on your texts, not by a table: run 20-30 samples through both and compare. How to set that up is in the article on testing prompts. For current prices use GET https://api.zukko.pro/v1/models or the "Models" page in the dashboard.
Common mistakes
- Instructions and data are mixed in one paragraph, and the model follows commands from the text itself.
- No answer format, so the code receives text with an intro like "Sure, here is the result".
- Vague words: "make it good", "briefly". Replace them with measurable conditions: number of sentences, audience, list of fields.
- No way out for the model: if the answer is not in the data, it must be allowed to say so.
FAQ
How many examples should a prompt contain?
Two or three different ones are usually enough. Add more only if testing shows errors of a particular kind; then add an example for exactly that case. Each example adds input tokens to every call.
One long prompt or several short ones?
If the task consists of independent steps (extract, then classify, then rewrite), a chain of short prompts is easier to debug and check. One long prompt costs fewer calls but makes it harder to see where the error happened.
Do the templates work for English?
Yes, the structure is the same. You can write the instruction in English and keep the data in Russian; test both variants on your texts.
Should I ask the model to "think step by step"?
For complex calculations and analysis it sometimes helps, but it increases output tokens, which cost more than input. Check on examples whether it improves accuracy for your task.
To try the templates, create a key in the Zukko dashboard and put it into the code above. Payment: SBP, cryptocurrency or MasterCard cards, top-ups from $1.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- A database for RAG: where to store knowledge — vector DB, search or contextRAG does not require a vector database. Four ways to store knowledge, the cost of a query for each, and a working SQLite example.
- The best AI for C# programming: choosing a model and setting up an agentWe give no ranking of the best model for C#, but we show how to compare options by price and index, set up an agent for .NET and verify the result with builds and tests.
- Claude Opus 4.6: what it is and how to move to Opus 5.5 safelyOpus 4.6, 4.7 and 4.8 are the previous generation, and the catalogue now has Opus 5 and 5.5. A four-step migration plan: model id, your own prompts, cost comparison, rollback.
- LangChain with_structured_output: a typed model responseHow to get a Pydantic object instead of text from a model: with_structured_output, three methods, include_raw, retries on errors and testing several models on your data.