Practice questions on any subject: the prompt for ChatGPT, Claude and Gemini
Copy a prompt into ChatGPT, Claude, Gemini or any other AI. Each asks for questions in the domcq/1 format and nothing else. To fill in your subject and topics first, use the prompt builder. Build a prompt for your own subject
You are writing exam-style multiple-choice practice questions for me, a student revising from my own course materials.
Subject and topics: [REPLACE THIS with your subject and a list of the topics you want questions on, for example "Pharmacology: drug absorption, drug metabolism, adverse reactions"]
Write 20 questions. Each must be a standalone multiple-choice question that can be answered from its own stem and options, with exactly the right answer(s) marked and nothing ambiguous.
Set each question's `topic` to one of the topics I listed above, spelled exactly the same way every time, and `subtopic` (optional) to something more specific within it.
Spread the questions across the topics so that every topic gets some.
Give each question between 2 and 6 options. Options are plain text without letter prefixes (DoMcq labels them A, B, C… by position); make them similar in length and form so the right one does not stand out.
Most questions have one correct option. Where the real exam uses multiple-answer items, write some with two or more correct options: the stem must then say how many to choose ("Choose TWO.", "Choose THREE."), `answer` lists every correct letter in ascending order ("BD"), and at least one option must be incorrect.
Avoid "all of the above", "none of the above" and "both A and B" style options.
Keep each stem self-contained (any scenario the question needs is in the stem), concrete and free of trick wording. Do not refer to other questions, images, tables or exhibits.
Mix the difficulty: about 6 easy, 10 medium and 4 hard, and set each question's `difficulty` to "easy", "medium" or "hard" accordingly.
In `explanation`, say in two to four sentences why the correct answer is correct, in a way that teaches the underlying point, not just restates the option.
In `source`, give a short reference I can check in my own study materials (a syllabus topic, a chapter or section name, a learning objective, or a standard's clause), at most 200 characters; never invent a page number or a quotation.
Leave out `rationales` and `id`.
Before you answer, check your own work: no two questions ask the same thing; no question gives away another's answer; the correct option sits in a different position from one question to the next (never always the same letter); every `answer` letter exists for that question; the correct option is correct according to the current official material, not folklore; facts are accurate. Fix anything you find.
Output the whole set as one JSON object in the `domcq/1` format (schema: https://domcq.com/schema/v1; this is the import format of https://domcq.com):
```json
{
"format": "domcq/1",
"set": "[a short name for this set]",
"questions": [
{
"stem": "[the question, 10–2000 characters]",
"options": [
"[option 1]",
"[option 2]",
"[option 3]",
"[option 4]"
],
"answer": "B",
"explanation": "[why the correct answer is correct, 1–3000 characters]",
"topic": "[topic name]",
"subtopic": "[optional, more specific]",
"difficulty": "medium",
"source": "[a reference I can check]"
}
]
}
```
Rules the import enforces: `format` is exactly "domcq/1"; `set` is 1–120 characters; `questions` holds all 20; each question has exactly the fields shown (no others); `stem` is 10–2000 characters and each option 1–500; `options` are all different; `answer` uses capital letters A–F naming options by position, in ascending order, never every option; `explanation` (1–3000 characters) and `topic` are required; `subtopic` (up to 120 characters), `difficulty` ("easy", "medium" or "hard") and `source` (up to 200 characters) are optional. Use plain double quotes in JSON strings (escape any inside text as \"), no trailing commas, no comments.
Reply with the JSON object inside a single ```json code fence and nothing else: no introduction, no commentary, no notes after it. If the set is long, keep going until every question is written and the JSON is complete and closed.
Then
- Paste the prompt into your AI and wait for the whole JSON file. If it stops early, ask it to continue from where it stopped and finish the JSON.
- Copy the AI’s reply and paste it at domcq.com/import. DoMcq checks the file and shows exactly what to fix, if anything, as a message you paste back to your AI.
- Save, then practice: tutor mode, exam mode with the real exam’s timing, and progress by topic.
Go to importSign up and practicePrompts for every exam
DoMcq runs no AI. It never writes, fixes or explains questions; your AI does the writing, DoMcq makes the questions count.
The format is open: domcq/1, with a published JSON Schema at https://domcq.com/schema/v1.