create-mcq
Generates multiple choice questions (MCQs) from text or documents provided by the user.
Skill by atrnh
Chalk Labs
Need help deploying create-mcq?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/atrnh-create-mcq
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/create-mcq
What's inside
- Skill name
create-mcq- Description
- Generates multiple choice questions (MCQs) from text or documents provided by the user. Use this skill whenever the user asks to "generate MCQs", "generate multiple choice questions", "create a quiz", "make quiz questions", "write test questions", or anything similar — even if they don't use those exact words. Also trigger when a user shares a document, article, URL, or block of text and wants comprehension questions, study questions, or an assessment created from it, even if they haven't explicitly said "MCQ". When in doubt, trigger this skill.
- License
- MIT
- Instructions
- 161 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- create_word_doc.py · scripts/
SKILL.md (first lines)
## Step 1: Read the source material
Determine where the content is coming from and extract the text:
- **Plain text** pasted into the conversation → use it directly
- **PDF file** → use the `Read` tool on the file path
- **Word document (.docx)** → use the `Read` tool on the file path
- **URL or web page** → use the `WebFetch` tool to retrieve the page content
If no source material has been provided, ask for it before proceeding.
## Step 2: Confirm parameters
Use these defaults unless the user specifies otherwise — don't ask unless something is genuinely ambiguous:
- **Number of questions**: 5
- **Output format**: Markdown (`.md`); also supported: reStructuredText (`.rst`), Word document (`.docx`)
- **Output filename**: `mcqs.md` (or `mcqs.rst` / `mcqs.docx` to match the format)
## Step 3: Generate the MCQs
### Writing the stem
The stem is the question or problem statement. A well-written stem:
- **Tests one important concept** — focus on a "take-home message" from the source, not trivia or minutiae
- **Is self-contained** — a well-prepared reader should be able to formulate an answer before seeing the choices; if they can't, the stem is underspecified
- **Is concise** — include only the information needed to pose the problem; extra context ("window dressing") increases reading load without testing more knowledge
- **Uses positive phrasing** — avoid negative constructions like "which of the following is NOT…" or "EXCEPT"; these test test-taking skill more than content knowledge. If negative phrasing is genuinely necessary, capitalize the negative word (NOT, EXCEPT) to make it visible
- **Avoids passive voice, idioms, and absolute terms** ("always", "never") — these introduce ambiguity and can disadvantage readers unfamiliar with the phrasing
- **Is a complete question**, not an incomplete sentence that the answer choices must finish — complete-question stems prevent grammatical cuing
### Writing the answer choices
Write 4 answer choices (A, B, C, D) unless the material or user requests otherwise. Exactly one must be the single best answer.
**Parallel construction** — All options must match in grammar, length, complexity, and style. A reader should not be able to identify the correct answer because one option looks different. Specifically:
- Use the same grammatical form across all options (all noun phrases, all full sentences, all verb phrases, etc.)
- Keep lengths comparable — the correct answer must not be noticeably longer, more detailed, or more qualified than the distractors
- Use consistent verb tense, voice, and level of specificity
- Move repeated words or phrases into the stem rather than repeating them in every choice
**Ordering** — List options in a logical sequence: alphabetical for text, ascending for numbers, chronological for dates. Vary which letter holds the correct answer across the question set so it isn't always A or B.
**Distractors** — The incorrect options should be plausible to someone with only partial knowledge of the topic. Good distractors:
- Reflect common misconceptions or near-miss confusions about the material
- Are clearly wrong on reflection, but not obviously wrong at first glance
- Are independent of each other — overlapping distractors let test-takers eliminate options through logic rather than knowledge
**Avoid:**
- "All of the above" — allows partial knowledge to suffice and makes the item easier to game
- "None of the above" — shifts the task from identifying the best answer to detecting errors
- Joke or absurd options — they reduce distractor plausibility and make the correct answer easier to find by elimination
- Absolute terms in distractors ("always", "never") — experienced test-takers learn to eliminate these
### Cognitive level
Aim for variety across questions. When the source supports it, go beyond simple recall and include questions requiring:
- **Comprehension** — explaining a concept or mechanism in different terms
- **Application** — using a fact or principle to evaluate a scenario
- **Analysis** — distinguishing between similar concepts or identifying causes
Spread questions across different parts of the source rather than clustering on one section.
### Writing the explanations
For each choice, write a brief explanation of why it is correct or incorrect. Explanations should:
- Be similarly concise across all options — avoid giving the correct answer a noticeably longer explanation
- Reference the specific reasoning or fact from the source, not just restate the answer
- For distractors, name the specific misconception or confusion the option is designed to surface
## Step 4: Write the output file
### Markdown (`.md`)
```markdown
## Question 1
[Stem]
**Correct answer: A**
| Letter | Answer | Explanation |
|--------|--------|-------------|
| A | [text] | [explanation] |
| B | [text] | [explanation] |
| C | [text] | [explanation] |
| D | [text] | [explanation] |
```
Separate questions with `---`.
---
### reStructuredText (`.rst`)
```rst
Question 1
----------
.. mcq:: [Stem]
:numbered:
:answer: A
A. [text]
:feedback: [explanation]
B. [text]
:feedback: [explanation]
C. [text]
:feedback: [explanation]
D. [text]
:feedback: [explanation]From atrnh/skills, MIT.
More from atrnh/skills
- 0.570score
create-lecture
atrnh
Generates a structured lecture from an unordered list of topics.
SkillAFreshness: AClaude Code +9 - 0.570score
review-fiction
atrnh
Reviews a chapter of the user's fiction and produces a two-column HTML critique page beside the manuscript, with the prose on the left and anchored comments…
SkillAFreshness: AClaude Code +9 - 0.570score
deep-quality-review
atrnh
Reviews any written material (docs, guides, lectures, labs, READMEs, essays, proposals, specs, emails) for both functional quality and deep quality, using the…
SkillAFreshness: AClaude Code +9 - 0.567score
story-bible
atrnh
Build, reconcile, and retrieve an internal fiction wiki from manuscripts and author notes, preserving evidence, canon status, chronology, and character…
SkillAFreshness: AClaude Code +9 - 0.565score
line-editor
atrnh
Use when the author wants a line edit, prose notes, or sentence-level feedback on a fiction chapter, scene, or passage.
SkillAFreshness: AClaude Code +9 - 0.565score
student-question-pass
atrnh
Reviews curriculum material by roleplaying as a target learner, adding student questions as source comments, then interactively turning selected questions…
SkillAFreshness: AClaude Code +9 - 0.565score
triage-feedback
atrnh
Use after an agent or reviewer has produced a batch of proposed changes to text files, such as a deep-quality review, Bugbot or code-review findings, a…
SkillAFreshness: AClaude Code +9 - 0.565score
beep
atrnh
Write and send communications on Ashley's behalf as Beep, her clearly identified robot assistant.
SkillAFreshness: AClaude Code +9 - 0.565score
vaultit
atrnh
Save an assistant response to Obsidian from supplied text, a chat link or message reference, or the immediately preceding response.
SkillAFreshness: AClaude Code +9 - 0.565score
review-lab
atrnh
Reviews lab content drafts from subject matter experts and provides structured editorial feedback.
SkillAFreshness: AClaude Code +9 - 0.561score
grill-my-story
atrnh
Interview a fiction author to explore an uncertain story idea or pressure-test a premise, character choice, scene, or plot problem.
SkillAFreshness: AClaude Code +9 - 0.561score
developmental-editor
atrnh
Give candid developmental critique of fiction or a spoiler-bounded first-reader response, with feedback delivered in the author's chosen workflow.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 22, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/atrnh/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from atrnh
- 0.570score
review-fiction
atrnh
Reviews a chapter of the user's fiction and produces a two-column HTML critique page beside the manuscript, with the prose on the left and anchored comments…
SkillAFreshness: AClaude Code +9 - 0.570score
deep-quality-review
atrnh
Reviews any written material (docs, guides, lectures, labs, READMEs, essays, proposals, specs, emails) for both functional quality and deep quality, using the…
SkillAFreshness: AClaude Code +9 - 0.570score
create-lecture
atrnh
Generates a structured lecture from an unordered list of topics.
SkillAFreshness: AClaude Code +9 - 0.567score
story-bible
atrnh
Build, reconcile, and retrieve an internal fiction wiki from manuscripts and author notes, preserving evidence, canon status, chronology, and character…
SkillAFreshness: AClaude Code +9 - 0.565score
line-editor
atrnh
Use when the author wants a line edit, prose notes, or sentence-level feedback on a fiction chapter, scene, or passage.
SkillAFreshness: AClaude Code +9 - 0.565score
student-question-pass
atrnh
Reviews curriculum material by roleplaying as a target learner, adding student questions as source comments, then interactively turning selected questions…
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get create-mcq running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
create-mcq skill. Agent Mart. https://agentmart.dev/skills/atrnh-create-mcq (last updated 2026-10-24)