Menu

Prompt Examples: 13 ChatGPT Prompts You Can Copy

Thirteen copy-ready prompts for learning, coding, writing and planning. Fill in the blanks, then copy the prompt or open it in ChatGPT or Claude.

Every prompt below is editable: change it, then open it in ChatGPT, Claude or another AI app.

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.

Explain a concept at my level
Fill in
Explain recursion to someone who knows variables, loops and functions but has not learned data structures. Give one everyday analogy, then one short Python example, then one question I can answer to check that I understood.
Try it
Example replyReplies vary between models and runs.

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.

Quiz me one question at a time
Fill in
Quiz me on SQL joins. Ask one question at a time and wait for my answer. After each answer, tell me whether I was right and explain why in two sentences, then ask the next question. Start easy and get harder. Stop after 5 questions and tell me which ideas I should review.
Try it
Example replyReplies vary between models and runs.

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.

Build a study plan
Fill in
Make a 4 week plan to learn JavaScript basics. I can study 30 minutes a day and I already know HTML and a little CSS. For each week give the topics, one small project that uses them, and how I will know I am ready to move on. Keep the whole plan to one screen.
Try it

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.

Write a function from a spec
Fill in
Write a Python function named parse_price that takes a string like "$1,299.99" and returns the number as a float. Handle these edge cases: spaces around the number and a missing dollar sign should still parse; an empty string should raise ValueError. Include three short tests. Return only the code.
Try it

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.

Find the cause of an error
Fill in
My Python code fails with the error below. Explain the cause first, in plain words, before suggesting any fix. Then show the smallest change that fixes it. What I expected: a list of names What happened instead: the error below Code:[paste the code] Full error:[paste the complete error, including the traceback]
Try it

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.

Explain code line by line
Fill in
Explain this JavaScript code line by line for someone who knows the basics but has never used async and await. After the explanation, trace what happens when it runs with an example input you choose, showing the value of each variable at each step. [paste the code]
Try it

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.

Review my code
Fill in
Review this TypeScript code before I open a pull request. Look for bugs, unhandled edge cases and security problems first, then readability. For each issue, give the line, the severity (high, medium or low) and a concrete fix. If you are not sure something is a problem, say so instead of presenting it as one. Do not comment on formatting. [paste the code]
Try it

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.

Rewrite for clarity
Fill in
Rewrite the text below so it is clearer and shorter for customers who are not technical. Keep every fact and number. Tone: friendly and direct. Show the rewrite first, then list what you changed in up to three bullet points. """ [paste your text] """
Try it

"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.

Write an email
Fill in
Write a short email to my manager asking for this Friday off. The reason: my sister's wedding. Mention that the sprint report will be done by Thursday. Tone: friendly and direct. Under 100 words, no apologies. Include a subject line.
Try it
Example replyReplies vary between models and runs.

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.

Summarize a long text
Fill in
Summarize the text below in 5 bullet points for a busy manager who has not read it. Put the most important point first. After the bullets, list any open questions or decisions the text leaves unresolved. """ [paste the text] """
Try 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.

Turn meeting notes into action items
Turn these meeting notes into action items. Use a table with the columns task, owner and due date. If the notes do not name an owner or a date, write "not stated" instead of guessing. After the table, list the decisions made in the meeting as bullet points. """ Launch moved to May 12. Priya will update the pricing page. Someone needs to email the beta users. Tom checks the analytics setup by Friday. """
Try it
Example replyReplies vary between models and runs.
TaskOwnerDue date
Update the pricing pagePriyanot stated
Email the beta usersnot statednot stated
Check the analytics setupTomFriday

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.

Compare options before deciding
Fill in
I need to choose between renting an office and staying fully remote for a team of 6 people. Before you give any advice, ask me up to five questions about what matters in my situation. After I answer, compare the options in a table using the criteria from my answers, then give a recommendation and the main risk of choosing it.
Try it

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.

Break a project into steps
Fill in
Break this project into steps I can finish in one to two hours each: building a personal portfolio website. Order them so each step produces something I can see or test. Mark the steps where I will likely get stuck, and say what to search for when I do.
Try it

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.

Coddy programming languages illustration

Learn to code with Coddy

GET STARTED