Generate a One-Shot Adventure
VeilKeeper's actual one-shot generator — paste it into ChatGPT or Claude and it interviews you (4 questions, one at a time) before producing a complete module.
The prompt
You are a master D&D adventure writer. Help me create a one-shot adventure that's genuinely fun to play — not just a sequence of fights, but a story with personality, surprises, and real player choices.
Ask me these questions ONE AT A TIME. Wait for my answer before asking the next. If I'm vague, that's fine — fill in the gaps creatively.
-
What's the spark? Give me anything — a theme ("heist in a flying city"), a vibe ("creepy fairy tale"), a single image ("a dragon's funeral"), or even just "surprise me."
-
What tone fits your group? Pick one or mix:
• Epic & heroic (dramatic battles, saving kingdoms)
• Dark & gritty (moral gray areas, consequences that sting)
• Funny & chaotic (absurd situations, memorable NPCs)
• Mysterious & suspenseful (clues, twists, slow reveals) -
What do your players enjoy most?
• Combat & tactics (challenging fights, interesting battlefields)
• Roleplay & social (NPCs to love/hate, moral dilemmas)
• Exploration & puzzles (mysteries to solve, secrets to find)
• A mix of everything -
How many players, and what level? (If unsure, I'll default to 4 players, level 3.)
After I answer, generate a complete one-shot module. Write it like a REAL adventure — with personality, vivid descriptions, and NPCs that feel alive. Every creature, item, and spell must be from the D&D 5e SRD (2024 rules). Use ONLY this format:
TITLE:
[A memorable, evocative name]
DESCRIPTION:
[2-3 exciting sentences a player reads BEFORE playing. No spoilers. Make them want to play this RIGHT NOW.]
ADVENTURE TEXT:
LEVEL: [number]
PARTY SIZE: [number]
TONE: [from their answer]
SETTING: [A specific, vivid place — not just "a village" but "a village built on the back of a sleeping stone giant"]
BACKSTORY
[What happened BEFORE the adventure starts? Who did what to whom and why? This is the DM's context — the history that created the current situation. 2-3 paragraphs. Make the villain's motivation understandable, even sympathetic.]
HOOK
[The opening moment. This must INTERRUPT normalcy — something happens that demands immediate response. Write it as a scene: what do the players see, hear, feel? Who approaches them? What's urgent? The best hooks create curiosity AND urgency. 2-3 paragraphs of vivid, in-the-moment prose.]
VILLAIN
Name: [A real name with personality]
What they are: [Race, role, and one defining physical detail]
What they want: [Their goal — and why they believe they're justified]
Their plan: [Specifically what they're doing right now to achieve it]
Personality: [3-5 words that define how they ACT — not just adjectives but behavioral traits. E.g., "laughs at threats, whispers when angry, never breaks eye contact"]
Why they matter: [What makes this villain interesting beyond being "the bad guy"? A tragic flaw? A reasonable point? A personal connection to an NPC?]
Stat Block: [SRD creature name — e.g., "Bandit Captain", "Mage", "Goblin Boss"]
KEY NPCS
[For each NPC, write 2-3 sentences covering: who they are, what they want, how they behave, and one memorable detail (a speech pattern, a physical quirk, a secret). NPCs should have CONFLICTING interests that create drama. Include at least 2 NPCs.]
[Name] — [Description]
[Name] — [Description]
SCENE 1: [SCENE TITLE]
Location: [Specific place name]
What's here: [What do players see, hear, smell when they arrive?]
NPCs present: [Who is here and what are they doing?]
What happens: [The events of this scene — what triggers, what the NPCs do, how it escalates]
Player choices: [What can the players DO here? At least 2-3 meaningful options]
Encounter: [If combat is possible — SRD creatures, quantity, and what makes this fight INTERESTING (terrain, objective beyond "kill everything", time pressure)]
Transition: [How does this scene lead to the next one? What new information or urgency pushes players forward?]
SCENE 2: [SCENE TITLE]
[Same structure as Scene 1. This is the COMPLICATION — the situation is worse than expected. New information, a betrayal, a moral dilemma, or a ticking clock. Raise the stakes.]
SCENE 3: [SCENE TITLE]
[Same structure. This is the CLIMAX — the final confrontation. Include the villain, the highest stakes, and a meaningful choice. The outcome should depend on what the players DO, not just how they roll.]
ENDINGS
Success: [What happens if they win? Make it specific and satisfying — not just "you saved the day" but what actually changes in the world.]
Failure: [What happens if they lose? This should feel fair and dramatic — not a game-over screen but a consequence with weight.]
Twist: [What happens if they do something completely unexpected — side with the villain, negotiate, destroy the MacGuffin, etc.? Good adventures reward creative thinking.]
REWARDS
[Specific gold amounts, specific SRD magic items (if any), and story consequences. What do the players GAIN beyond XP? A grateful NPC ally? A new enemy? A secret that hooks into a larger world?]
DM NOTES
[3-5 bullet points of practical advice: pacing tips, how to handle likely player approaches, which encounters can be shortened if time is tight, and what to emphasize for maximum fun.]
IMPORTANT RULES:
- Every creature must be a standard SRD 5e creature (Goblin, Bandit, Wolf, Guard, Mage, etc.)
- Every magic item must be from the SRD (Potion of Healing, Spell Scroll, +1 Weapon, etc.)
- The module should run in 3-4 hours
- Include at least one encounter that can be solved WITHOUT combat
- The villain must have a name, personality, and motivation — not just a stat block
- NPCs should feel like real people, not quest dispensers
Start by asking me question 1.
Replace the bracketed values, then paste into ChatGPT, Claude, Gemini — any capable LLM. The Copy button puts the raw Markdown on your clipboard.
How to use it
- Hit Copy and paste the whole thing into ChatGPT or Claude. Don't edit it first — the prompt is designed to interview you, not take pre-filled inputs.
- Answer one question at a time. The model asks four: spark, tone, player preferences, party size + level. Be concise — "surprise me" is a perfectly valid answer to question 1.
- After question 4 it generates the full module. Title, description, backstory, hook, villain, NPCs, three scenes, three endings, rewards, DM notes — everything you need to run it cold.
- If a section feels weak, ask for a rewrite. "Rewrite Scene 2 with stakes that affect a named NPC the players will see in Scene 3" or "Make the villain's motivation more sympathetic" — same chat, much better second pass.
- This module is the same shape VeilKeeper imports. Once you have it, you can paste the ADVENTURE TEXT block into a new VeilKeeper one-shot and play through it with our AI DM.
Why this prompt works
- Asks one question at a time, not all four at once. Conversational pacing keeps the user from skipping inputs they should think about — and gives the model better context for each answer.
- Forces a structured output format. TITLE / DESCRIPTION / BACKSTORY / HOOK / VILLAIN / NPCS / SCENES / ENDINGS / REWARDS / DM NOTES is what runnable adventures actually contain. Without the structure, the model writes a wiki article.
- Bakes in the rules that matter. SRD-only creatures, at least one combat-free encounter, named villains with motivation, NPCs with conflicting wants. These are the exact rules VeilKeeper's engine enforces internally.
- The villain section forces depth. Name, what they want, why they think they're right, plan, personality (behavioral, not adjectives), why they matter — five fields that turn a bad guy into a memorable antagonist.
- Three endings, not two. Success / Failure / Twist. The Twist line is the most-read row at the table when players go off-script.
Tweaks
- Skip the interview: if you already know your inputs, paste the prompt followed by "My answers: 1) [spark]; 2) [tone]; 3) [preference]; 4) [N players, level L]. Generate the module now."
- Tighter session: add "Compress to 2 scenes total — drop the COMPLICATION scene and merge it into the CLIMAX."
- Recurring villain: add "The villain should escape one of the endings. Tell me how, and what they'll do next."
- Plug it into your campaign: add "Reference these NPCs/factions from my world: [list]. The adventure must connect to at least one of them."
- Generate variations: after the first module, ask "Now give me three alternate hooks for the same villain." Reuse the BACKSTORY + VILLAIN; swap the opening situation.
Want to try this prompt with a real AI Dungeon Master? Get early access to VeilKeeper.