All prompts
One-shot

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.

one-shotadventure-generation5e

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.

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

  2. 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)

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

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.