These are thirteen prompts you can copy and use today in ChatGPT, Claude or Gemini. Each one has blanks, shown as fields on the card: fill them in with your own topic, language or text, then copy the prompt or open it straight in a chat. Under each prompt is a short note on why it is written the way it is, so you can adapt it or write your own in the same style.
The prompts share a pattern. Each states the task in one sentence, supplies the context a model cannot guess, and says what the answer should look like. That pattern is explained part by part in how to write a prompt.
Prompts for learning
Learning prompts work best when they tell the model what you already know. Without that, explanations aim at an imaginary average reader and are usually either too basic or too dense.
Analogy: you are in a queue and want to know your position. You ask the person in front of you, who asks the person in front of them, and so on until the first person says "I'm number 1". Each person adds one to the answer they get and passes it back.
Example:
def countdown(n):
if n == 0:
print("Done!")
return
print(n)
countdown(n - 1)
countdown(3)
This prints 3, 2, 1 and then Done!. A recursive function solves a problem by calling itself on a smaller version of it. The if n == 0 check is the base case: it stops the calls. Without it, the function would keep calling itself until Python raises a RecursionError.
Check yourself: what does countdown(0) print?
Naming what you have not learned is what keeps the explanation inside your reach. The check question at the end turns reading into a small test, which is where the learning actually happens.
Question 1 of 5 (easy): You join a customers table and an orders table with an INNER JOIN on customer_id. A customer who has never placed an order: do they appear in the result? Why or why not?
Type your answer and I'll let you know how you did.
"Wait for my answer" is the line that matters. Without it, a model will often write all five questions in one reply, sometimes with the answers underneath, which turns a quiz into a reading list.
The time budget and the "how I will know" line are what separate a usable plan from a list of topics. A plan without a readiness check tends to be followed on schedule whether or not anything was learned.
Prompts for coding
Coding prompts need the language, the version when it matters, and the real code or error pasted in full. A description of your code is a description of what you think it does, and bugs live in the difference.
Listing the edge cases up front, with what should happen in each, is the cheapest way to get code that handles them the way you want. Asking for tests gives you something to run, so you can check the function instead of trusting it.
[paste the code]
Full error:[paste the complete error, including the traceback]Asking for the cause before the fix stops the model from rewriting your code with a guess that happens to run. Prompts for debugging has more on giving a model what it needs to find a bug.
[paste the code]The trace is the part that makes it stick. A line-by-line explanation says what each line does in general; a trace shows what it does to real values, which is how you would check it yourself with a debugger.
[paste the code]Severity labels let you fix the dangerous things first, and the permission to say "not sure" cuts down on confident false alarms. Prompts for code review goes further, with checklists for specific kinds of review.
Prompts for writing
Writing prompts need an audience and a tone. "Make this better" gives the model nothing to aim at; "make this clearer for customers who are not technical" does.
"Keep every fact and number" protects the content while the wording changes. The list of changes shows you what was done, so you can undo an edit you disagree with.
Subject: Day off this Friday
Hi [Manager's name],
I'd like to take this Friday off for my sister's wedding. The sprint report will be done by Thursday, so nothing will be waiting on me that day.
Let me know if that works for you.
Thanks, [Your name]
"No apologies" is a small constraint with a large effect: without it, requests like this tend to open with a paragraph of "sorry to ask". The plan line answers the reader's first question before they ask it.
Naming the reader decides what counts as important. The open-questions line catches what a plain summary drops: the things nobody has decided yet.
Prompts for work and planning
These prompts turn messy input into something you can act on. The recurring trick is telling the model what to do when information is missing, so it marks the gap instead of filling it with a guess.
| Task | Owner | Due date |
|---|---|---|
| Update the pricing page | Priya | not stated |
| Email the beta users | not stated | not stated |
| Check the analytics setup | Tom | Friday |
Decisions:
- The launch date moved to May 12.
The "not stated" rule is what makes the table trustworthy: an owner marked "not stated" is a task nobody has claimed, and you want to see that. When a program has to read the result, see structured output for asking for JSON instead of a table.
Asking the model to question you first reverses the usual flow. Instead of a generic pros and cons list, you get a comparison built on your own priorities.
Small, visible steps make progress checkable, and flagging the hard steps in advance means you meet them expecting them. To turn any prompt on this page into your own reusable version, see prompt templates.
Frequently Asked Questions
What are some good ChatGPT prompts?
Good prompts name the task, give the context the model cannot guess and say what shape the answer should take. "Explain recursion to someone who knows loops but not data structures, with one analogy and one Python example" works far better than "explain recursion". The prompts on this page follow that pattern for learning, coding, writing and planning.
Do these prompts work in Claude and Gemini too?
Yes. None of them depends on a feature of one product. They are plain instructions, so they work in ChatGPT, Claude, Gemini and other chat models. Replies will differ in wording between models and between runs, but the structure you asked for should hold.
How do I customize a prompt example?
Replace every blank with your own details, then read the prompt once as if you were the model: is anything still unclear? Add a sentence of context about who the answer is for and what you already know. If the first reply is off, change the prompt rather than arguing in the chat, so you end up with a better prompt you can reuse.
Should I save the prompts I use often?
Yes. A prompt that works is worth keeping as a template with blanks, the way the ones on this page are written. Most chat apps also let you save standing instructions, such as custom instructions or project instructions, so you do not have to repeat the same context in every chat.