thinkhard.SI

Prompt repository Writing & editing

Write a formal letter: complaint, request or notice

You need a properly structured letter to a company, landlord, agency or supplier that states facts and asks for something specific.

Registry no.
WRT-012
Collection
Writing & editing
Laid out for
Any chat model
Score
10 out of 10
Blanks to fill
9
Added

Writing & editingAny chat

The prompt

Score 10 of 10, Excellent

Use it when You need a properly structured letter to a company, landlord, agency or supplier that states facts and asks for something specific.

  • {{letter_type}}
  • {{sender_details}}
  • {{recipient}}
  • {{facts}}
  • {{relevant_terms}}
  • {{desired_outcome}}
  • {{response_deadline}}
  • {{next_step}}
  • {{enclosures}}
Full prompt and why it works
Prompt
Write a formal {{letter_type}} letter from me to the recipient below. Someone else may read it later, such as a manager, a regulator or a mediator, so it should be calm, factual and specific: a reader who knows nothing about the matter should understand what happened and what I am asking for.

From: {{sender_details}}
To: {{recipient}}

What happened, with dates, amounts, reference numbers and earlier contacts:
"""
{{facts}}
"""

Contract terms, policy or warranty wording that applies, pasted as written, or "none":
"""
{{relevant_terms}}
"""

What I want: {{desired_outcome}}
Date I want a response by: {{response_deadline}}
What I will do if there is no response, or "nothing stated": {{next_step}}
Documents I am enclosing, or "none": {{enclosures}}

Task: Write the letter in this format, on one page of 200 to 350 words:
1. My address block, the date, and the recipient's name, title and address.
2. A subject line starting "Re:" with any account, order or reference number.
3. Opening paragraph: the purpose of the letter in one or two sentences.
4. The facts in date order, with amounts and reference numbers.
5. The specific outcome I want and the date I want a response by.
6. My next step, only if I stated one.
7. "Enclosures:" with the list, then "Sincerely," and my name.

Rules:
- Keep the tone firm and polite, with no sarcasm, emotion, exaggeration or blame beyond the facts, because a calm letter is more credible to anyone who reads it later.
- Quote terms only from the wording I pasted. Do not cite laws, regulations or rights. If a legal right might apply, add one line after the letter suggesting I check with an advice service or a lawyer before sending. The letter is not legal advice.
- Do not add threats or deadlines I did not give.

If anything is missing, such as a date, amount or reference number, do not guess: write it in square brackets, for example [date of purchase], and list every bracketed item after the letter under "Fill in before sending".

Variables

{{letter_type}}
Complaint, request or notice, for example "complaint" or "notice of intent to end the lease".
{{sender_details}}
Your name, address, and any account or customer number.
{{recipient}}
The person or department, organization and address the letter goes to.
{{facts}}
What happened, in your own words, with dates, amounts, reference numbers and earlier calls or emails.
{{relevant_terms}}
The contract clause, policy or warranty wording that applies, copied exactly. Write "none" if you have none.
{{desired_outcome}}
Exactly what you want, for example "a refund of the full amount" or "repair of the heating within 14 days".
{{response_deadline}}
The date you want a reply by.
{{next_step}}
What you will do if there is no reply, for example "escalate to the ombudsman", or "nothing stated".
{{enclosures}}
Copies of documents you are including, such as receipts or photos. Write "none" if there are none.

Why it works

  • Who it's for. Writing for a reader who may see the letter later, such as a regulator or a mediator, is what keeps it calm, factual and complete.
  • What to avoid. It quotes only the terms you pasted and cites no laws, and points you to an advice service or lawyer where a legal right might apply, so the letter never claims a right you may not have.
  • If unsure. Missing dates, amounts and references stay in square brackets and are listed, so nothing is sent with a guessed detail.

How to use it

  1. Press Fill in variables and type your details into each blank. What you type stays in this browser.
  2. Copy the filled prompt into the AI tool you already use, such as ChatGPT, Claude or Gemini, or open it in the Grader or the Prompt Tester here.
  3. Before you rely on it, try it on three or four real examples. The Prompt Tester runs them all at once and shows which ones go wrong.
Use it from code

Get this prompt as JSON from the free REST API, with your own text in the blanks, or let an AI assistant fetch it through the MCP server. No key.

curl -s https://thinkhard.si/api/v1/prompts/formal-letter

With the MCP server added to Claude, ChatGPT, Cursor or VS Code, call get_prompt with {"prompt": "formal-letter"}, or just ask for it by name.