The Oracle Table Builder helps you design a table brief. It does not replace your judgment. The best output is a short structure you can fill with original rows that fit the current campaign.
Start With Purpose
Choose what the table is for: scene direction, encounter, sensory detail, complication, or yes/no oracle. Purpose keeps the rows from becoming a random pile of vibes.
Then choose the randomizer. d6 is quick. d20 has variety. 2d6 creates common and rare results. Cards can carry suit, color, and memory.
Write the purpose as a question. “What complicates this route?” produces different rows than “What do I notice in the market?” A table that answers one question clearly is easier to use than a table that tries to be setting, mood, danger, clue, and plot all at once.
Set Tone and Boundary
Choose gentle, strange, tense, or mixed tone. Then choose the boundary filter: ordinary, kid-nearby, soft content, or intense but bounded. This is the most important part of the method. The table should not generate material you already declined.
Add at least two veto rules before filling rows. For example: no harm to children, no graphic injury, no sexual threat, no copied setting secrets, no real-world hate, or no results that force the character into cruelty. Veto rules make the oracle usable when you are tired because they remove negotiation from the moment of play.
Fill Rows in Your Own Words
Write rows that create playable movement: clue, cost, offer, delay, resource, mood, person, exit, question. Avoid copying paid tables or official prompts. If you use a licensed source, follow the license.
Mix direct and interpretive rows. “A locked gate” is concrete. “Someone benefits from delay” is flexible. “A useful tool breaks” creates cost. “A witness changes their story” creates motion. If every row is vague, the table will not help; if every row is too specific, it may fight the scene.
Test One Scene
Roll three times in a sample scene. If the results do not help, change categories before adding more rows. Small useful tables beat large unusable ones.
After testing, mark each row as keep, clarify, soften, or replace. A row that needs five minutes of interpretation may not be bad, but it may belong on a different table. Keep the finished table short enough that you will actually reach for it during play.

