Convert RPG adventure locations into the set design quick-reference format for DMs. Use this skill whenever the user wants to reformat, restructure, or convert dungeon rooms, adventure locations, encounter areas, or keyed entries into a scannable reference format. Also use when the user mentions "set design", "room keying", "location formatting", "adventure conversion", "dungeon key", mentions Courtney Campbell or Hack & Slash blog, or asks to make adventure text more usable at the table. Works with pasted text, files, or PDFs from any RPG system.
Convert prose adventure descriptions into the set design format — a visual decomposition tree that works like a stat block for exploration. Originated by Courtney Campbell on the Hack & Slash blog.
The format breaks each location into a tree of nouns connected by arrows (→). Bold marks what players see immediately. Everything else branches off those visible elements through arrows and indentation. No prose, no sentences — just things and their relationships.
From the blog: "What I'm actually doing when I'm keying a room this way is thinking of how the players are walking into the room. What can they immediately see? What is going on nearby? What is most obvious? What must I mention at a bare minimum to maintain their agency?"
This is the entire method. Walk into the room in your mind. The bold items are what hits you first. Then each of those things breaks down — what's it made of? What's on/in/behind it? What happens when you touch it? Each answer is another arrow in the tree.
Read the whole entry. Understand what this place IS, what happens here, what matters.
This is the key insight. You are not summarizing or abbreviating — you are breaking things down into their parts. Each element decomposes into what it's made of, what it contains, what it leads to.
Prose: "Five human male bodies lie sprawled near the entrance. Two appear to be bandits wearing ratty wolf skin cloaks. The others seem to be adventurers — a cleric with a broken Sol symbol, a fighter in ruined leather, and a thief with a murky red bandana."
Set design:
**5 Bodies** → Human → Male
Bandit (2) → ratty wolf skin cloak
Cleric → broken Sol Symbol
Fighter → Ruined Leather
Thief → Murky Red Bandana
The arrows trace how you'd actually examine these bodies — first you see bodies, then you notice they're human men, then you start distinguishing individuals and what they're wearing.
Start with the room header, then list bold visible elements. Each branches into sub-elements via → and indentation:
Room Name #) | **Visible Thing** → detail → further detail
**Another Thing** → what it contains
|→ what else it leads to
**Creature** → behavior
(stats in italics)
Every number, stat, treasure value, and mechanical detail from the source must appear somewhere in the tree. No information lost — just restructured.
See references/format.md for the complete formatting conventions (arrows, bold, branching, stats, NPCs).
See references/examples.md for before/after conversions from prose to set design.
Preserve whatever stat conventions the source uses. Do not convert between systems.
Present conversions in a code block (monospace preserves the indentation tree). Briefly note any ambiguities or judgment calls after the conversion.
When writing set design content into a Foundry VTT adventure journal page (YAML pack source with format: 1 HTML content), use the .tb2e-set-design HTML structure instead of a plain code block. The CSS is at adventures/dread-crypt/dread-crypt.css and supports both light and dark Foundry themes.
<section class="tb2e-set-design">
<header>
<h2>Scene or Location Title</h2>
<p>Optional flavor note or context line.</p>
</header>
<pre><strong>Visible Thing</strong> → detail → further detail
→ sub-branch
→ <strong>Another Visible</strong> → what it contains
→ deeper sub-branch
<strong>Second Top-Level Element</strong>
→ branch detail
→ <em>(Nature 6, Might 4, Disposition 10)</em></pre>
</section>
| Plain text | Foundry HTML |
|---|---|
**Bold** | <strong>Bold</strong> |
*italic* | <em>italic</em> |
Code block (```) | <pre>...</pre> (no <code> wrapper) |
| None | <section class="tb2e-set-design"> wrapper |
| None | <header> with <h2> and optional <p> |
Use consistent 4-space indentation for sub-branches rather than aligning to parent names. The <strong> tags are invisible in rendered <pre> output, so character-count alignment from the plain text version won't line up. Consistent indentation is clearer:
<pre><strong>Village Elders</strong> (Desperate/Fearful → afraid of overlord)
→ reached out quietly for help
→ <strong>Jora</strong> → youth → disappeared into the crypt
→ crawled through passage → pulled back screaming
→ <strong>Haunting</strong> → stalks village at night
→ breaks into homes → dead, seemingly of fright</pre>