GM guide
Frame the scene, let Sheetwright keep every number honest. This guide covers the campaign control center — threads, scenes, clues, handouts and the session workspace, with a worked Ninth World example — plus preparing and running all three encounter kinds, exporting your campaign, and GMing from Discord and over MCP.
Campaigns and the subscriber plan
Running games needs the subscriber plan: campaigns, encounters, the notebook, rewards and the content workshop are GM capabilities. Your players never need a plan — and the Discord and AI integrations are included with every account. Invite players with the campaign's invite code or by email invitation; review their characters, award XP, and keep notes, NPCs, session logs, handouts and campaign clocks in the notebook.
The campaign control center
Between free-form notes and live encounter mechanics sits the campaign itself. The campaign page links every prep surface; each is deliberately light, and one rule holds everywhere: every record starts GM-only, and you reveal exactly what the party should see, when they should see it.
- Notebook: notes with categories and pinning, campaign clocks, and the NPC directory. Notes can carry file attachments — images show inline, PDF and audio as downloads — and an image on a GM-only note is your reference map.
- Threads: the spine of the story — quests, mysteries, dangers, personal arcs and open questions. Each has a status (dormant/active/resolved/failed), a party-visible summary next to your GM-only secret, stakes and next likely development, an optional progress clock, and a dated history you append as things move.
- NPCs, locations & factions: the recurring cast and world. NPCs take a portrait, an attitude, secrets, links to their home location and faction, and an optional bestiary stat block (official or from your workshop) so "add to encounter" is one click — and a revealed NPC can keep its faction a secret ("the party doesn't know who she serves"). Locations nest one level (a district inside a city); factions carry objective, methods, resources and attitude — the party face shows only name, objective and attitude.
- Scenes: the play-forward unit. Purpose, expected challenge, discoveries to hand out, prepared intrusions, exit conditions, a linked location and (optionally) a prepared encounter, in the order you expect to run them.
- Clues & revelations: a revelation is the conclusion (always GM-only); clues are the evidence pointing at it, each with a party-visible text and GM-only notes. Marking a clue discovered is what reveals it — and Sheetwright warns you when a revelation has fewer than two undiscovered clues left, before the trail goes cold.
- Session workspace: one page for game night — prep (pick tonight's threads and scenes, pin NPCs and encounters, note a spotlight beat per PC), play (quick notes, scene status buttons), and wrap-up (turn the quick notes into a session log, award party XP, set the next-session reminder).
- Search: one box above the campaign nav over notes, NPCs, threads, scenes, locations, factions, clues, session logs and rewards — with filters for player-visible only, GM secrets only, and the still-unresolved.
Mentions tie it together. Write @Vess or @[The Flooded Market] in any campaign text and it becomes a link to that NPC, place, faction, scene, clue, thread or note; every record shows contextual Connections with what it Mentions and where it is Mentioned in. Renaming a record never breaks its links, and the party never sees the link web — revealed text shows mentions as written.
Handouts can be addressed. A revealed note or discovered clue normally reaches the whole table; tick "only for" and it reaches just the players you pick — their handouts page shows a "just for you" badge, and attached files follow the same addressing. Everything the party can currently see lives on the Handouts page, which doubles as your preview of their view.
Play-by-post tables get a waiting-on state per scene ("whose move is it?" appears on the players' handouts), a spotlight tracker showing who has had attention lately, a spoiler-free recap page anyone at the table can read, and opt-in Discord DMs — "you're up", "new handout", "unclaimed loot", "an intrusion awaits" — that each player switches on for themselves. A worked play-by-post week lives in the Discord guide →
A worked example: The Sunken Vault
A short Ninth World campaign — the kind you'd run in Numenera — from first prep to a reusable template. Names are ours; the workflow is the point.
- Found the campaign. Create The Sunken Vault from the campaigns page and invite your players by email or code. On the Locations page add Vekh, a drit-buried trade town ("Secrets: the town sits on a hollow structure"), and The Flooded Market with Vekh as its parent. On Factions add the Circle of Rust, scavenger-priests who buy every humming shard of the prior worlds — objective party-visible, methods and resources yours alone.
- Cast it. On NPCs create Saphir-3, a three-armed visitant broker: attitude wary, home location Vekh, faction the Circle of Rust, a portrait upload, and a stat block picked from the bestiary in case talks go badly. Her description says "she answers to @[The Circle of Rust]" — that mention is now a link, and the Circle's page lists her under "Connections".
- Spin the threads. On Threads add the quest Drain the Sunken Vault (party summary: "something valuable sleeps under Vekh"; GM secret: "the vault is a sleeping starship, and it knows they're coming") with a six-segment progress clock, and the question thread Who does Saphir-3 really serve? for your own bookkeeping.
- Plant the mystery. On Clues create the revelation The vault is a sleeping starship, then hang three clues on it: the humming shard (source: The Flooded Market), the pilot's litany (a chant the Circle repeats without understanding), and the star chart mosaic (source: the scene below). Three undiscovered paths — no starved-mystery warning.
- Prep the scenes. On Scenes line up Arrival in Vekh (purpose: meet @Saphir-3, exit: the party learns the Circle pays for shards), The Circle's price (a social scene — link a prepared social encounter), and Down the flooded stair (expected challenge: level 5 hazards; prepared intrusion: "the water level rises"; discoveries: the star chart mosaic). Upload the vault map to a GM-only note — your reference map, invisible to players.
- Run game night. Open the Workspace: pick tonight's thread and the first two scenes, pin Saphir-3, jot one spotlight beat per PC. During play, mark scenes active or complete from the workspace, capture quick notes, and propose an intrusion when the nano's cypher sparks. When the party earns the mosaic, mark the clue discovered — it appears on their handouts page immediately. The player who stayed behind with Saphir-3 gets a private note: reveal it with "only for" set to just them.
- Wrap up. The workspace's wrap-up panel turns your quick notes into session log #1, awards the party 2 XP, and sets the next-session reminder. Nudge the thread: tick its clock, append "the door is open" to its history. Next week, the campaign search box answers "where did I put the litany?" in one keystroke.
- Keep it, reuse it. When the vault wakes and the campaign ends, Export gives you the whole thing as a Markdown document for the shelf and a JSON backup for the archive — and Duplicate hands you The Sunken Vault (copy): same prep, clean clocks, undiscovered clues, everything GM-only again, ready for your next group.
Export, import & adventure templates
Your campaign is yours to take with you. The Export menu on the campaign page offers two downloads:
- JSON backup — a versioned envelope with every record the campaign keeps: notes, clocks, NPCs, threads with history, scenes, locations, factions, clues, revelations, session logs, rewards, intrusions, per-player addressing and every attachment's bytes. This is the re-importable format.
- Markdown document — the same content as a readable file: sections per record type, mentions as plain names, GM secrets included. This is the faithful archive — it keeps the dates and names (who claimed what, when a clue was found) an import can't recreate.
Player notes and player characters are the players' and stay out of both; encounters, dice rolls and workspace scratch state stay out too.
Import (on the campaigns page) turns a JSON export back into a campaign — always a new campaign, never a merge into an existing one, in a single all-or-nothing transaction. Cross-references are rewired to the new records; member and character references don't transfer (addressing clears, loot arrives unclaimed, intrusions stay behind). Tick Start fresh to strip play progress on the way in — that's how you turn a finished campaign file into a runnable adventure.
Duplicate (on the campaign page) is the one-click version: a fresh campaign with a new invite code and no members. Prep stays — records, secrets, ordering, nesting, attachments. Play residue doesn't: session logs, rewards and intrusions stay behind; clocks, clue discoveries, revelation status and scene status reset; resolved threads return to dormant; everything is GM-only again.
The export file contains your GM secrets and your players' usernames — treat it like the notebook it is.
Homebrew descriptors with player choices
The workshop's descriptor editor covers the common homebrew shape: fixed benefits plus a choice the player makes. A worked example — a Storm-Called descriptor (ours, like the Sunken Vault; the workflow is the point) with skill training, a drawback, and "pick two storm gifts":
- Fixed benefits first. A Pool bonus benefit for the +2 Speed, Training benefits for Speed defense, weather-sense and climbing, and a Feature for anything that is rules text without bookkeeping — the drawback "while soaked, you take 1 extra point of damage from electricity" lives here, shown on every sheet with the descriptor.
- Traits with their own rules text are abilities — use Ability Choices. Author each gift as a real ability in your library (Static Lash, Thunderclap, Galvanic Skin, Updraft), then add a choice group named "Storm Gifts" on the descriptor with pick 2 and those abilities as its options. Character creation shows the group as a proper picker, and the two picks land on the sheet as real abilities — searchable, reflavorable, and usable like any other.
- "Twice a day" without paper. Give Static Lash and Thunderclap a tracked usage limit in the ability editor — 2 uses, resetting on the ten-hour recovery. The sheet, Discord and connected AI assistants then show "1 of 2 uses left", going beyond the limit warns and is recorded as a deviation (never blocked), and a rest restores the uses automatically.
- Free-text picks are skills — use "Player chooses skills". When the options are names the player supplies rather than authored abilities ("trained in two crafts of your choice"), add a Player chooses skills benefit with the count. The choice appears on the character sheet after creation, and the picks land in the skill list as trained.
Formatting the options text. The rules text of a "Player chooses skills" benefit renders on the player's sheet as a bulleted list: separate options with ";" or put one per line, open with a lead-in like "Choose two:" to make it the heading, and write each option as "Name — details" to highlight its name. Text without separators stays a plain paragraph, exactly as written.
Homebrew foci, tier by tier
A focus is an ability progression: the focus editor lays out tiers 1–6, and at every tier you add fixed abilities (they arrive automatically) and choice groups (a named "pick N" among authored options). Continuing in the same weather, a worked Tends the Ember focus:
- Author the abilities first. Everything a focus hands out is a real ability from your library — there are no freeform entries. Write Kindled Edge with a tracked cost of 1 Might (using it spends the point automatically), and Emberward, a once-a-day protective flare with a tracked usage limit — 1 use, ten-hour recovery.
- Lay out the tiers. Tier 1 grants Kindled Edge and Emberward fixed. At tier 2, add a choice group "Path of the Flame" with pick 1 of two options — say Smokeshroud against Cinder Step. Creation offers tier-1 picks; each tier-up offers that tier's groups when the character gets there, and the picks land as real abilities.
- Granted resources make custom fuel. Define a resource in the workshop — Embers, with a maximum and a recovery policy — and grant it under the focus's Granted resources. Every character with the focus gets the bucket, and an ability whose tracked cost includes "1 Ember" spends from it automatically. Mind the editor's warning: a tracked cost never grants its resource — only a granted source does.
- Gain-time choices personalize a pick. An ability can carry its own question ("choose one of your Edge stats", "which weapon?", "name two crafts") authored on the ability itself — the sheet asks when the ability arrives, whichever source granted it.
Types and flavors carry the same building blocks — fixed ability grants, an Ability Options list the player picks their tier abilities from, and granted resources — so one library of authored abilities feeds every homebrew source.
Preparing an encounter
Encounters come in four kinds — combat, social, exploration and freeform — sharing one runner and one action engine. Prep is yours to shape:
- Participants: PCs, NPCs (level, health, Armor, damage), hazards and obstacles. Give NPCs dispositions, GM-only motivation and leverage notes, and per-category task modifications. Hazards can start concealed — invisible to players until you reveal them or they strike.
- Zones: ordered abstract locations; adjacent zones are a short move apart. A GM-only zone hides its occupants from the party.
- Clocks: progress, danger, time, resource or custom — each party-visible or GM-only.
- Discoveries: prepped finds with a name, description and optional zone, hidden until revealed.
- Templates: save an encounter as a template and instantiate it fresh — zones, clocks, participants and discoveries copy over with live state reset.
Objective and stakes are player-visible framing; edit them any time. To check exactly what your players see, open the encounter with ?as=player — the same spoiler-free view they get.
Running combat
- Initiative and turns. Players roll initiative as a Speed task and the turn order sorts itself as each roll lands — successful PCs by roll, then NPCs, then failed PCs (you can still reorder manually). Turns are block-shaped, the Cypher way: everyone on the current side of the order — the PCs ahead of the NPCs — may act in whatever order the table chooses, and advancing walks the pointer through the block. Turn advancement skips the defeated, ticks effect durations, and wraps rounds.
- NPC attacks. Announce the attack — NPC, target PC, defense stat, optional damage override — and the player gets a pending defense prompt on the web and in Discord. A failed defense applies damage automatically: Armor first, then pools, overflow and the damage track. You can resolve a prompt on an absent player's behalf (with an audit reason), or cancel it.
- Damage and conditions. Direct damage and condition effects support multiple targets at once; Armor piercing and non-physical damage follow the shared rules. Manual health steppers stay available for quick fixes.
- Natural rolls. A player's natural 1 files a free intrusion suggestion in your prompt queue — accept it with a description or dismiss it. A natural 19/20 hands the player a damage-or-effect choice that blocks the turn until answered.
- Resolution. End the encounter with an outcome and stage rewards in the same step — they land in the party's loot queue for claiming or assignment. Open intrusion suggestions ask for confirmation first.
Running social scenes
Social scenes drop the turn frame entirely: a spotlight strip shows who hasn't weighed in, disposition (hostile to friendly) is the scene's health bar — task results suggest steps you confirm with one tap, and final dispositions write back to your NPC directory when the scene ends. Players lead with cast cards and approach-tagged rolls; you shape the scene with a progress/pressure clock pair, discoverable leverage, a promises ledger, and roll requests that reach a named player wherever they are — including Discord. "Things turn violent" flips the scene to combat in place, log and all. The full playbook is the social encounters guide .
Running exploration
Lay out zones and routes (hidden ones too), conceal hazards, and prep discoveries. A concealed hazard that strikes reveals itself — its identity stays hidden only if its zone is GM-only. Group checks: have everyone roll a task under a shared group name and the panel sums up who made it, m of n. Travel is zone movement; time passing and supplies are clock ticks on time- and resource-purpose clocks. Reveal a discovery when the party earns it, then convert it to a handout, a campaign note, or staged loot in one click.
Intrusions and rewards
Propose GM intrusions against any PC — the player accepts for 2 XP (optionally gifting one) or declines for −1 XP, from the web or Discord. Rewards staged at encounter resolution (or by hand on the rewards page) sit in the party queue until players claim them or you assign them; claimed cyphers, artifacts and equipment land on the character's sheet.
GMing from Discord
Pick the campaign you run once with /sheetwright gm campaign — no linked character needed — and the GM commands (gm start/next/end, gm damage, gm effect, gm intrusion, gm tick and gm assign) work anywhere the bot is, always replying privately to you. Your intrusion status lists open natural-1 suggestions with accept/dismiss buttons. Some steps deliberately live on the web runner: reordering the turn list by hand, announcing NPC attacks, multi-target actions, the effect side of a special choice, and resolving the encounter with rewards.
Adding the bot to your server, and the full command reference →
GMing over MCP
A connected AI assistant can carry your prep and your table bookkeeping: the campaign briefing, notebook, NPCs and sessions; the whole control center (threads, scenes, locations, factions, clues, the session plan, campaign search); encounter prep (participants, zones, clocks, discoveries); and every engine action through the same preview-then-commit discipline players use — including announcing NPC attacks and resolving reactions. It holds exactly your permissions and the same subscriber gate, its rules primer teaches it the encounter loop, and every action lands in the audited history. Set up keys and connectors on your account page.
What players see
The visibility contract holds on every surface: players see revealed participants, zones, party clocks, revealed discoveries and table-safe action results. They never see motivations, leverage notes, GM-only clocks or their history, concealed participants, GM-only zones, exact NPC health or difficulties — and each player's exact pool costs stay their own. When in doubt, check with ?as=player.