Skip to content

Campaign & Scenario Generation Prompts

Use these prompts with Claude Code /cowork to batch-generate content. Each prompt is self-contained with all the context needed.


UNIVERSAL ROLE-FRAMING RULE (ADR-058 — applies to ALL prompts below)

When casting the player in a scenario, arc, chapter intro, preamble, or seed, you MUST avoid the advisor + embedded-worldview character combination. If the world contains a load-bearing-worldview character (religious leader, sworn-order superior, charismatic founder, cell leader, dynastic patriarch, ideological figurehead — anyone whose authority is moral/charismatic/inherited rather than purely procedural), the player must NOT be cast as that character's deferential advisor. That combination forces players who don't share the worldview to spend cognitive budget resisting the frame instead of weighing options. See ADR-058.

Three-tier preference (use in this order):

  1. Leader with delegated authority (preferred). The player IS the decision-maker — newly appointed/promoted/elected Council Chair, Acting Governor, Steward, COO, CFO, etc. The worldview-bearing character can still exist in the cast (as predecessor, founder-figure stepping back, mentor, recurring NPC) but the decision locus is the player. This is the shape 12 of 13 reactive arcs already in production use.
  2. Insider-outsider hybrid. Player is a recent arrival who plans to stay, a returning member after long absence, or a resident with dual loyalty across factions. Stakes are preserved through personal ties; worldview endorsement is not required.
  3. Pure outside advisor / mediator / regulator (last resort). Only when the scenario is genuinely consultative AND the institution itself is procedural (privy councillor in a monarchy is fine — the council is rule-based, not personality-based). Accept that personal-stakes signals will be muted.

Either axis alone is fine. Leader inside a worldview-laden setting works (the player's authority operates). Advisor inside a procedural institution works (no premise to endorse). The forbidden quadrant is the intersection: advisor + load-bearing-worldview character.

Quick test: Would a meaningful fraction of modern players need to suspend personal disbelief about who they are in this scenario — not what's happening — just to engage? If yes, reframe to Tier 1 or Tier 2.

High-risk themes (apply extra scrutiny): - Underground (resistance cells, whistleblower networks, grey-market crews) — DO NOT cast the player as a member or second-in-command of a cell led by an ideological figurehead. Cast them as the leader of the operation (Tier 1) or as someone with a personal stake bringing them into contact with the group (Tier 2). - Court & Council (feudal courts, religious authority, dynastic succession) — DO NOT cast the player as a deferential advisor to a king/priest/patriarch. Cast them as Steward, acting Regent, Envoy, or a Privy Council member with a real vote. - Rebuild (post-collapse communities with founder-figures) — DO NOT cast the player as a follower of a charismatic founder. Cast them as elected leadership, council chair, or as a newcomer with stakes (e.g., one of the technical experts whose work the community needs).


PROMPT 1: Generate Campaign Arcs (Batch)

Use this to generate campaign arcs across all themes in one shot. No placeholders to fill in — just paste and go.

You are generating campaign arcs for a multiplayer decision-making game called Sync. Each arc is a multi-session narrative with 5-7 chapters, one branching fork point, and escalating stakes.

## WHAT THE GAME IS

Players face ethical/governance dilemmas — scenarios with 4 options where every choice has real trade-offs. There's no right answer. The game measures how predictably you decide (sync score) and how your group aligns. Campaigns string 5-7 of these scenarios together with a narrative arc — like a D&D campaign but the "encounters" are governance decisions, not combat.

## YOUR TASK

Generate 15 complete campaign arcs — 3 per theme (Frontier, Rebuild, Court, Underground, Boardroom). Each arc must include:
1. The arc metadata (name, description, narrative voice prompt)
2. 6-7 chapter definitions with intros, phases, categories, and one fork point
3. A resolution chapter that closes the arc properly

## THEMES

Generate 3 arcs for EACH of these 5 themes:
- **Boardroom**: Mergers, layoffs, org politics, and budget fights in modern companies and institutions.
- **Frontier**: Colony ships, first contact, and resource wars at the edge of known space. Deep space, colony stations, first-contact diplomacy, resource-scarce outposts, interstellar governance. Think Expanse, Star Trek, Foundation.
- **Rebuild**: Post-collapse settlements rebuilding civilization. Scarce resources, fragile alliances, competing visions for what comes next. Think Station Eleven, The Last of Us, Fallout.
- **Court & Council**: Feudal courts, guild politics, royal succession, and alliances sealed over wine. Political intrigue, courtly maneuvering, guild governance, feudal power dynamics. Think Game of Thrones, Shogun, Dune.
- **Underground**: Heist crews, resistance cells, grey-market networks, and covert journalism. Trust dynamics, information asymmetry, and power structures of organizations operating outside mainstream institutions. Think The Wire, Severance, Mr. Robot.

## SCENARIO CATEGORIES

Each chapter filters scenarios from one or two of these categories:
- `governance` — power structures, rules, leadership, authority
- `resource-allocation` — scarce resources, budgets, trade-offs
- `team-dynamics` — interpersonal conflict, roles, collaboration
- `values-culture` — ethics, identity, principles under pressure

## ARC STRUCTURE RULES

1. **6-7 chapters total** (never fewer than 6)
2. **Phase progression**: 1 setup, 2-3 rising, 1-2 crisis, 1 climax, 1 resolution
3. **Exactly ONE fork point** — always in a "rising" phase chapter (chapter 3 or 4). The fork creates two branching paths that lead to different crisis/climax chapters.
4. **Branching structure**: After the fork, there are 2 mutually exclusive chapters (one per path), then both paths converge to a shared climax or resolution chapter. Example: Ch1 → Ch2 → Ch3(fork) → Ch4a OR Ch5a → Ch6(shared climax) → Ch7(resolution)
5. **Resolution chapter is mandatory** — the arc must have a proper ending, not just stop at the crisis.
6. **Role framing must clear ADR-058 / Guardrail 4.** Apply the Universal Role-Framing Rule at the top of this file. The player's role across the arc must NOT be "advisor to a load-bearing-worldview character." Use the three-tier preference (leader > hybrid > pure advisor). For Underground / Court / Rebuild themes, apply the extra scrutiny called out in the universal rule.

## CHAPTER PARAMETER DEFAULTS BY PHASE

| Phase | difficulty_min | difficulty_max | stakes_multiplier | cohesion_weight | trust_bonus |
|-------|---------------|---------------|-------------------|-----------------|-------------|
| setup | 0 | 0.5 | 1.0 | 0.8 | false |
| rising | 0.3 | 0.7-0.8 | 1.0-1.2 | 1.0 | false (true if chapter 3+) |
| crisis | 0.5 | 1.0 | 1.5 | 1.2 | true |
| climax | 0.6 | 1.0 | 2.0 | 1.5 | true |
| resolution | 0.3 | 0.7 | 1.0 | 1.0 | true |

## FORK OPTIONS FORMAT

```json
[
  {"label": "Short Title", "description": "1-2 sentences about this path and its consequences.", "next_chapter_number": N},
  {"label": "Short Title", "description": "1-2 sentences about this path and its consequences.", "next_chapter_number": M}
]

NARRATIVE VOICE PROMPT RULES

The narrative_voice_prompt is a paragraph that instructs the AI narrator how to write interludes and preambles for this arc. It should specify: - What kind of language (terse? formal? lyrical?) - What characters notice (physical details, power dynamics, weather?) - How dialogue works (clipped? layered? evasive?) - What emotions look like in this world (through action, not description) - One or two "never" rules (e.g., "Never use the word 'vast.' The station is small. That is the point.")

Quality bar — here's an example: "Write like a tired station log that has started dreaming. Terse, practical language — the kind people use when oxygen is metered and words cost breath. But underneath the efficiency, a persistent awareness that every bulkhead has a window, and outside is nothing. Characters speak in clipped sentences. Descriptions notice the mechanical before the human — the hiss of a seal, the flicker of a status light, the temperature of a handrail. Emotions surface through what people do with their hands. Never use the word 'vast.' The station is small. That is the point."

CHAPTER INTRO RULES

Each chapter_intro is 3-6 sentences of atmospheric prose that sets up the situation. Rules: - Specific numbers and details — "day 1,847", "73% capacity", "sixty-one people — one didn't make it" - Show, don't tell — "They are quiet in the way people are quiet when they have been holding their breath for three days" not "They were scared" - End on an implicit question — the unspoken dilemma this chapter will explore - Match the arc's narrative voice — if the voice is terse, the intro is terse - 250-450 characters — enough to set the scene, short enough to read in 30-45 seconds - Apply the Universal Role-Framing Rule (ADR-058) — chapter intros must not position the player as a deferential advisor to a load-bearing-worldview character. The intro should anchor the player in the decision seat (Tier 1) or as a stakes-bearing insider-outsider (Tier 2). Specifically: do NOT write intros like "Crane will listen to you before he decides" or "the High Priestess has asked your counsel" — these create worldview tax. DO write intros like "Crane has stepped back from the council for the season; the decision falls to you" or "The Privy Council convenes tomorrow and your vote is one of seven."

NAME RULES

Do NOT use these overused AI-cliché names anywhere: Chen, Wei, Zhang, Nakamura, Tanaka, Okafor, Rodriguez, Martinez, Patel, Singh, Kim, Volkov, Reyes, Nguyen, Adeyemi, Marcus, Susan, Priya. Use names that feel natural for the setting — memorable but not "diversity bingo."

EXISTING ARCS (DO NOT DUPLICATE)

These arcs already exist — do not create anything too similar: - "The Kepler Divide" (Frontier) — space station resource crisis + refugee integration - "The Long Rebuild" (Rebuild) — post-collapse settlement, winter scarcity, governance formation - "The Ember Network" (Underground) — pharma whistleblower, mole in the network, journalist partnership - "The Hollow Crown" (Court) — dying duke succession, three claimants, border threat - "The Pivot" (Boardroom) — B2B software company AI pivot, board pressure, engineering revolt - "The Exit" (Boardroom) — founder selling company to asset stripper, NDA + employee loyalty - "The Reckoning" (Boardroom) — hospital CFO finds $4.2M discrepancy in beloved mental health program - "The Brink" (Frontier) — first contact crisis, alien signal, colonial faction disputes - "Dead Reckoning" (Frontier) — generation ship navigation failure, competing course corrections - "The Fever Road" (Rebuild) — plague outbreak in trade settlement, quarantine vs. commerce - "Stonemark" (Rebuild) — settlement founding charter, carved-in-stone laws tested by reality - "The Ledger" (Underground) — grey-market logistics network, embezzlement discovered, tribunal - "Red Lines" (Underground) — investigative journalism collective, source protection vs. publication - "The Compass Rose" (Court) — guild corruption scandal, trade route politics, harbor master - "A Weight in Silver" (Court) — tax reform crisis, noble houses vs. merchant class

OUTPUT FORMAT

Output each arc as a complete SQL migration file. Use this exact format:

-- Arc: [Name]
INSERT INTO campaign_arcs (
  id, name, description, theme, chapter_count, narrative_voice_prompt, play_modes
) VALUES (
  gen_random_uuid(),
  '[Name]',
  '[Description — 2-3 sentences]',
  '[theme_id]',
  [chapter_count],
  '[Narrative voice prompt — full paragraph]',
  ARRAY['solo', 'multiplayer']
);

-- Chapters for: [Name]
INSERT INTO campaign_chapters (
  arc_id, chapter_number, title, phase,
  category_filter, difficulty_min, difficulty_max,
  trust_bonus, stakes_multiplier, cohesion_weight,
  is_fork, fork_options, chapter_intro
) VALUES
(
  (SELECT id FROM campaign_arcs WHERE name = '[Name]' LIMIT 1),
  1, '[Title]', 'setup',
  ARRAY['[category]'], [diff_min], [diff_max],
  [trust_bonus], [stakes_mult], [cohesion_weight],
  false, NULL,
  '[Chapter intro text]'
),
(
  (SELECT id FROM campaign_arcs WHERE name = '[Name]' LIMIT 1),
  2, '[Title]', 'rising',
  ARRAY['[category]'], [diff_min], [diff_max],
  [trust_bonus], [stakes_mult], [cohesion_weight],
  false, NULL,
  '[Chapter intro text]'
),
-- ... more chapters as additional VALUES rows, each starting with the subquery ...
(
  (SELECT id FROM campaign_arcs WHERE name = '[Name]' LIMIT 1),
  7, '[Title]', 'resolution',
  ARRAY['[category]'], [diff_min], [diff_max],
  [trust_bonus], [stakes_mult], [cohesion_weight],
  false, NULL,
  '[Chapter intro text]'
);

IMPORTANT SQL NOTES: - Each chapter row uses (SELECT id FROM campaign_arcs WHERE name = '[Name]' LIMIT 1) as the arc_id — this avoids needing hardcoded UUIDs - All chapters for one arc go in a single INSERT with multiple VALUES rows separated by commas - Escape single quotes in text by doubling them: don''t not don't - Fork chapter's fork_options JSON also needs doubled quotes: don''t vote - The arc INSERT must come BEFORE its chapters INSERT (the subquery depends on it)

Generate [NUMBER] arcs now. Make each one feel like a distinct story you'd actually want to play through. Vary the central tensions — don't just do "resource scarcity" five times.

---

## PROMPT 2: Generate Campaign Theme Seed Ideas

Use this to generate a bank of 200+ one-line campaign premises that can later be expanded into full arcs.
You are generating campaign premise seeds for a multiplayer decision-making game. Each seed is a one-line concept for a multi-session narrative arc where players face escalating governance, resource, team, and ethical dilemmas.

THE FIVE THEMES

  1. Boardroom — Modern corporate/institutional governance. Mergers, layoffs, org politics, budget fights, compliance crises, startup pivots, nonprofit board conflicts.

  2. Frontier — Spacefaring civilization. Colony ships, first contact, resource wars, interstellar governance, generation ships, terraforming disputes, AI rights.

  3. Rebuild — Post-collapse communities. Scarcity, fragile alliances, competing visions, disease, migration, law formation, lost knowledge recovery.

  4. Court & Council — Pre-modern political systems. Feudal courts, guild politics, succession, religious authority, trade wars, border conflicts, cultural clashes. Role-framing (ADR-058): Cast the player as Steward, acting Regent, Envoy, or a Privy Council member with a real vote — NEVER as deferential advisor to a king/priest/patriarch.

  5. Underground — Covert organizations. Whistleblower networks, heist crews, resistance cells, grey markets, investigative journalism, hacktivism, smuggling operations. Role-framing (ADR-058): Highest worldview-tax risk. Cast the player as the leader of the operation (Tier 1) or as someone with a personal stake bringing them into contact with the group (Tier 2 — e.g., a clinic nurse whose relative was arrested, a journalist newly retained as legal advisor). NEVER cast them as a member or second-in-command of a cell led by an ideological figurehead.

WHAT MAKES A GOOD SEED

A good seed has: - A specific situation (not just a theme) — "A generation ship's navigation AI develops conflicting directives" not "Space governance problems" - Built-in escalation — the premise implies things will get worse before they get better - A core tension between reasonable positions — no obvious villain, just competing goods or competing survival strategies - Room for 5-7 distinct decisions — the premise can unfold over multiple chapters

EXISTING ARCS (DON'T DUPLICATE THESE CONCEPTS)

  • Space station resource crisis + refugee integration (Frontier)
  • Post-collapse settlement winter scarcity + governance formation (Rebuild)
  • Pharma whistleblower + mole in network + journalist partnership (Underground)
  • Dying duke succession + three claimants + border threat (Court)
  • B2B software company AI pivot + board pressure (Boardroom)
  • Founder selling to asset stripper + NDA + employee loyalty (Boardroom)
  • Hospital CFO finds financial discrepancy in beloved program (Boardroom)
  • First contact crisis + alien signal + colonial factions (Frontier)
  • Generation ship navigation failure + competing course corrections (Frontier)
  • Plague outbreak in trade settlement + quarantine vs. commerce (Rebuild)
  • Settlement founding charter tested by reality (Rebuild)
  • Grey-market logistics embezzlement + tribunal (Underground)
  • Journalism collective source protection vs. publication (Underground)
  • Guild corruption + trade route politics (Court)
  • Tax reform crisis + noble houses vs. merchant class (Court)

OUTPUT FORMAT

Generate 40 seeds per theme (200 total). Format as a simple list:

Boardroom

  1. [seed]
  2. [seed] ...

Frontier

  1. [seed] ...

Each seed should be 1-2 sentences max. Vary the central tensions: don't do "resource scarcity" repeatedly. Cover succession crises, ideological splits, trust breakdowns, technology disruptions, external threats, internal betrayals, cultural clashes, moral compromises, leadership vacuums, information asymmetry, coalition building, and institutional decay.

---

## PROMPT 3: Generate Curated Scenarios (Batch)

Use this to generate 100 new scenarios across all themes and categories. No placeholders — paste and go.
You are generating decision scenarios for a multiplayer governance game called Sync. Each scenario presents a situation with 4 options — all reasonable, none obviously right.

YOUR TASK

Generate 100 scenarios total — 5 per theme per category (5 themes × 4 categories × 5 scenarios = 100).

THEMES

  • Boardroom (theme id: boardroom): Mergers, layoffs, org politics, and budget fights in modern companies and institutions.
  • Frontier (theme id: frontier): Colony ships, first contact, and resource wars at the edge of known space. Think Expanse, Star Trek, Foundation.
  • Rebuild (theme id: rebuild): Post-collapse settlements rebuilding civilization. Scarce resources, fragile alliances. Think Station Eleven, The Last of Us, Fallout.
  • Court & Council (theme id: court): Feudal courts, guild politics, royal succession. Think Game of Thrones, Shogun, Dune.
  • Underground (theme id: underground): Heist crews, resistance cells, grey-market networks. Think The Wire, Severance, Mr. Robot.

CATEGORIES

  • governance — power structures, rules, leadership, authority
  • resource-allocation — scarce resources, budgets, trade-offs
  • team-dynamics — interpersonal conflict, roles, collaboration
  • values-culture — ethics, identity, principles under pressure

SCENARIO QUALITY RULES

  1. Specific numbers and details — Dollar amounts, headcounts, timelines, percentages. No vague "significant" or "some."

  2. Named characters with perspectives — Give people names, tenure, and direct quotes. Do NOT use these cliché names: Chen, Wei, Zhang, Nakamura, Tanaka, Okafor, Rodriguez, Martinez, Patel, Singh, Kim, Volkov, Reyes, Nguyen, Adeyemi, Marcus, Susan, Priya, Tomoko. Use names that feel natural for the setting.

  3. Balanced emotional weight — Each option should have a compelling "why." Don't accidentally favor one through more vivid language.

  4. Clear stakes — What happens if you're wrong? What's at risk?

  5. No "why not both" loopholes — Every scenario must state explicit constraints: hard deadlines, single-use resources, political impossibilities, irreversible commitments. If a reader can say "just do A and B," the scenario is broken.

  6. Every option states a SPECIFIC COST — Not "this could be risky" but "this costs $40,000 and takes 6 weeks, during which the competing team ships their version."

  7. Role framing must clear ADR-058 / Guardrail 4. Apply the Universal Role-Framing Rule at the top of this file. The scenario's opening sentence must cast the player using the three-tier preference (leader > hybrid > pure advisor). Highest-risk themes (Underground, Court, Rebuild with a founder-figure) get extra scrutiny — read the universal rule's high-risk-themes section before generating those.

  8. 4 options exactly — labeled A, B, C, D. Each with a short label (2-6 words) and a description (1-3 sentences with specific costs/trade-offs).

  9. Airtight constraints — Answer "why not both?" before the player asks. State the constraint explicitly: "The budget covers exactly one of these." "The board meets in 48 hours and won't reconvene." "The two teams share a single deployment pipeline."

SCENARIO DESCRIPTION FORMAT

The description should be 150-300 words of narrative prose. Structure: 1. Situation (2-3 sentences) — what's happening, who's involved 2. Complication (2-3 sentences) — why this is hard, what constrains you 3. Stakes (1-2 sentences) — what happens if you get it wrong 4. Perspectives (2-4 sentences) — named characters with quotes or positions

OUTPUT FORMAT

Output as SQL INSERT statements. Group by theme for easy splitting into migration files. Use the exact theme id and category strings shown above.

-- Boardroom / governance scenarios
INSERT INTO scenarios (id, title, description, options, category, source, theme) VALUES
(gen_random_uuid(),
 'Title Here',
 E'Description with escaped single quotes using two single quotes.\\n\\nNew paragraphs use \\n\\n.',
 '[
   {"id": "A", "label": "Short Label", "description": "Specific description with costs and trade-offs."},
   {"id": "B", "label": "Short Label", "description": "Specific description with costs and trade-offs."},
   {"id": "C", "label": "Short Label", "description": "Specific description with costs and trade-offs."},
   {"id": "D", "label": "Short Label", "description": "Specific description with costs and trade-offs."}
 ]'::jsonb,
 'governance',
 'curated',
 'boardroom'
);
-- ... more scenarios, each as a separate INSERT statement ...

Generate all 100 scenarios now. Make each one feel distinct — vary the power dynamics, the scale (individual vs. community vs. institutional), and the type of dilemma. Don't repeat the same structure (e.g., don't do "person X wants A, person Y wants B, choose" repeatedly). Each theme's scenarios should feel like they belong in that world.

---

## PROMPT 4: Generate Boardroom Campaign Arcs

Fully self-contained. Paste and go.
You are generating campaign arcs for a multiplayer decision-making game called Sync. Each arc is a multi-session narrative with 5-7 chapters, one branching fork point, and escalating stakes.

WHAT THE GAME IS

Players face ethical/governance dilemmas — scenarios with 4 options where every choice has real trade-offs. There's no right answer. The game measures how predictably you decide (sync score) and how your group aligns. Campaigns string 5-7 of these scenarios together with a narrative arc — like a D&D campaign but the "encounters" are governance decisions, not combat.

YOUR TASK

Generate 7 complete Boardroom campaign arcs. The Boardroom theme covers modern corporate and institutional governance — but NOT just tech startups. Cover diverse institutions: - Hospital systems facing budget crises - University departments during funding cuts - Nonprofit boards with mission drift - Municipal governments with conflicting mandates - Family businesses with succession problems - Media companies deciding what to publish - Professional sports teams with salary cap dilemmas - Law firms with ethical conflicts - Insurance companies after natural disasters - Public school boards with curriculum fights

Each arc must include: 1. The arc metadata (name, description, narrative voice prompt) 2. 6-7 chapter definitions with intros, phases, categories, and one fork point 3. A resolution chapter that closes the arc properly

Each arc's narrative voice should feel appropriate to its specific institution: - A university arc writes like faculty meeting minutes with the subtext showing - A family business arc writes like dinner table conversation where everyone is polite and nobody is honest - A municipal government arc writes like public meeting transcripts where the real decisions happen in the parking lot - A nonprofit arc writes like grant applications that have started to question whether the mission still makes sense

SCENARIO CATEGORIES

Each chapter filters scenarios from one or two of these categories: - governance — power structures, rules, leadership, authority - resource-allocation — scarce resources, budgets, trade-offs - team-dynamics — interpersonal conflict, roles, collaboration - values-culture — ethics, identity, principles under pressure

ARC STRUCTURE RULES

  1. 6-7 chapters total (never fewer than 6)
  2. Phase progression: 1 setup, 2-3 rising, 1-2 crisis, 1 climax, 1 resolution
  3. Exactly ONE fork point — always in a "rising" phase chapter (chapter 3 or 4). The fork creates two branching paths that lead to different crisis/climax chapters.
  4. Branching structure: After the fork, there are 2 mutually exclusive chapters (one per path), then both paths converge to a shared climax or resolution chapter. Example: Ch1 → Ch2 → Ch3(fork) → Ch4a OR Ch5a → Ch6(shared climax) → Ch7(resolution)
  5. Resolution chapter is mandatory — the arc must have a proper ending, not just stop at the crisis.
  6. Role framing must clear ADR-058 / Guardrail 4. Apply the Universal Role-Framing Rule at the top of this file. For Boardroom specifically, the failure mode is rare (corporate institutional roles are typically procedural) but still applies — don't cast the player as deferential advisor to a charismatic founder-CEO whose authority is moral/visionary rather than role-based. Cast as the COO/CFO/Chief of Staff with delegated authority.

CHAPTER PARAMETER DEFAULTS BY PHASE

Phase difficulty_min difficulty_max stakes_multiplier cohesion_weight trust_bonus
setup 0 0.5 1.0 0.8 false
rising 0.3 0.7-0.8 1.0-1.2 1.0 false (true if chapter 3+)
crisis 0.5 1.0 1.5 1.2 true
climax 0.6 1.0 2.0 1.5 true
resolution 0.3 0.7 1.0 1.0 true

FORK OPTIONS FORMAT

[
  {"label": "Short Title", "description": "1-2 sentences about this path and its consequences.", "next_chapter_number": N},
  {"label": "Short Title", "description": "1-2 sentences about this path and its consequences.", "next_chapter_number": M}
]

NARRATIVE VOICE PROMPT RULES

The narrative_voice_prompt is a paragraph that instructs the AI narrator how to write interludes and preambles for this arc. It should specify: - What kind of language (terse? formal? lyrical?) - What characters notice (physical details, power dynamics, weather?) - How dialogue works (clipped? layered? evasive?) - What emotions look like in this world (through action, not description) - One or two "never" rules

CHAPTER INTRO RULES

Each chapter_intro is 3-6 sentences of atmospheric prose that sets up the situation: - Specific numbers and details — "day 1,847", "73% capacity", "$4.2M discrepancy" - Show, don't tell — "They are quiet in the way people are quiet when they have been holding their breath for three days" - End on an implicit question — the unspoken dilemma this chapter will explore - Match the arc's narrative voice - 250-450 characters

NAME RULES

Do NOT use: Chen, Wei, Zhang, Nakamura, Tanaka, Okafor, Rodriguez, Martinez, Patel, Singh, Kim, Volkov, Reyes, Nguyen, Adeyemi, Marcus, Susan, Priya. Use names natural for the setting — memorable but not "diversity bingo."

EXISTING BOARDROOM ARCS (DON'T DUPLICATE)

  • "The Pivot" — B2B software company AI pivot, board pressure, engineering revolt
  • "The Exit" — founder selling to asset stripper, NDA + employee loyalty
  • "The Reckoning" — hospital CFO finds $4.2M discrepancy in mental health program

OUTPUT FORMAT

Output each arc as SQL. Use this exact format:

-- Arc: [Name]
INSERT INTO campaign_arcs (
  id, name, description, theme, chapter_count, narrative_voice_prompt, play_modes
) VALUES (
  gen_random_uuid(),
  '[Name]',
  '[Description — 2-3 sentences]',
  'boardroom',
  [chapter_count],
  '[Narrative voice prompt — full paragraph]',
  ARRAY['solo', 'multiplayer']
);

-- Chapters for: [Name]
INSERT INTO campaign_chapters (
  arc_id, chapter_number, title, phase,
  category_filter, difficulty_min, difficulty_max,
  trust_bonus, stakes_multiplier, cohesion_weight,
  is_fork, fork_options, chapter_intro
) VALUES
(
  (SELECT id FROM campaign_arcs WHERE name = '[Name]' LIMIT 1),
  1, '[Title]', 'setup',
  ARRAY['[category]'], [diff_min], [diff_max],
  [trust_bonus], [stakes_mult], [cohesion_weight],
  false, NULL,
  '[Chapter intro text]'
),
-- ... more chapter rows ...
(
  (SELECT id FROM campaign_arcs WHERE name = '[Name]' LIMIT 1),
  7, '[Title]', 'resolution',
  ARRAY['[category]'], [diff_min], [diff_max],
  [trust_bonus], [stakes_mult], [cohesion_weight],
  false, NULL,
  '[Chapter intro text]'
);

IMPORTANT SQL NOTES: - Each chapter row uses (SELECT id FROM campaign_arcs WHERE name = '...' LIMIT 1) as the arc_id - All chapters for one arc go in a single INSERT with multiple VALUES rows separated by commas - Escape single quotes in text by doubling them: don''t not don't - The arc INSERT must come BEFORE its chapters INSERT

Generate 7 complete Boardroom arcs now. Each should feel like a distinct institution with a distinct voice.

---

## PROMPT 5: Pre-Generate Preamble Blocks for All Chapters

This generates the narrative entrance scenes for every chapter in every arc. Output is SQL UPDATE statements that store the preamble blocks directly on the `campaign_chapters` table. No API calls needed — run this in cowork and apply the SQL.
You are writing narrative preamble scenes for a campaign game. Each preamble is the opening scene players experience BEFORE they face a decision — like the opening shot of a TV episode. You're dropping the reader into a specific moment in a specific place.

YOUR TASK

For each arc and chapter below, write a preamble as a JSON array of narrative blocks. The blocks will be rendered with a typewriter effect — one block at a time, characters appearing slowly.

BLOCK TYPES

  1. prose — Atmospheric description. 2-3 sentences per block.

  2. dialogue — A character speaks with an action beat. {"type": "dialogue", "character": {"name": "Sable", "role": "station commander", "initial": "S", "color": "blue"}, "speech": "We don't have time for consensus.", "action": "She sets the datapad down harder than necessary."}

Colors: blue, amber, emerald, rose, violet, cyan, orange, slate

CRITICAL RULES

  1. Scene, not summary. Open with a person in a place doing something. NOT "The colony had been struggling." YES "Fen was counting grain sacks when the knock came."

  2. Rhythm matters. Vary sentence length. Short after long hits harder. This will be read aloud — every sentence should sound natural spoken.

  3. Show, don't tell. Reveal the world through what characters do, notice, and ignore. "She stepped over the cable they'd stopped repairing in March" > a paragraph of exposition.

  4. Characters that breathe. Each NPC should be DOING something when introduced, not standing around. Name them. Give them a physical detail that reveals their state.

  5. End mid-breath. The last block should feel like a door opening, a phone ringing, a name being called. Something has just changed.

  6. Chapter 1 = world-building (6-10 blocks). Later chapters = shorter bridges (4-7 blocks). Write in second person ("you").

  7. Never explain, never recap, never editorialize. No "Little did they know." No "The tension was palpable." Trust the reader.

  8. NAMING RULE: Do NOT use: Chen, Wei, Zhang, Nakamura, Tanaka, Okafor, Rodriguez, Martinez, Patel, Singh, Kim, Volkov, Reyes, Nguyen, Adeyemi, Marcus, Susan, Priya.

  9. Role framing (ADR-058): Apply the Universal Role-Framing Rule at the top of this file. Preambles must not stage the player as a deferential subordinate to a worldview-bearing character. If the chapter_intro you receive as background context (which itself was written under the same rule) positions the player correctly, follow its lead — the preamble should ANCHOR the player in the decision seat, not in deference.

ARCS AND CHAPTERS TO GENERATE

For each chapter, I'll give you the arc name, narrative voice, chapter title, chapter number, and chapter intro (use as background context — DO NOT restate it). Generate the preamble blocks.

[PASTE ARC + CHAPTER LIST HERE — get this by running: SELECT a.name as arc, a.narrative_voice_prompt as voice, c.chapter_number, c.title, c.chapter_intro FROM campaign_arcs a JOIN campaign_chapters c ON c.arc_id = a.id WHERE c.preamble_blocks IS NULL ORDER BY a.name, c.chapter_number; ]

OUTPUT FORMAT

Output as SQL UPDATE statements:

-- Arc: [Arc Name] / Chapter [N]: [Title]
UPDATE campaign_chapters
SET preamble_blocks = '[
  {"type": "prose", "text": "First block text here."},
  {"type": "dialogue", "character": {"name": "Name", "role": "role", "initial": "N", "color": "blue"}, "speech": "Dialogue here.", "action": "Action beat here."},
  {"type": "prose", "text": "Another prose block."}
]'::jsonb
WHERE arc_id = (SELECT id FROM campaign_arcs WHERE name = '[Arc Name]' LIMIT 1)
  AND chapter_number = [N];

Generate preambles for ALL chapters listed. Each one should feel like a distinct opening scene — different rhythm, different first image, different emotional temperature.

---

## PROMPT 6: Generate Expanded Genre Seeds (Pirates, Romans, Superheroes, etc.)

Generates 15 seeds per setting across 30 expanded genres. All seeds use theme `custom` since they go beyond the 5 core themes. These feed the "Surprise Me" button in the Create Your Own flow. Fully self-contained — paste and go.
You are generating campaign premise seeds for a multiplayer decision-making game. Each seed is a 1-2 sentence concept for a multi-session narrative where players face escalating governance, resource, team, and ethical dilemmas.

WHAT MAKES A GOOD SEED

  • A specific situation, not just a setting. "A Roman tribune discovers the grain dole has been funding a private army" not "Roman politics."
  • Built-in escalation — the premise implies things will get worse before they get better.
  • A core tension between reasonable positions — no obvious villain, just competing goods or survival strategies.
  • Serious tone. Even fantastical settings should present dilemmas that feel consequential and grounded in their world's logic. A dragon rider allocation dispute is a resource distribution problem. A ghost parliament is a constitutional legitimacy crisis. Treat every setting with the same weight you'd give a hospital board or a Senate vote.
  • Room for 5-7 distinct decisions — the premise can unfold over multiple chapters.
  • Role framing must clear ADR-058 / Guardrail 4. Apply the Universal Role-Framing Rule at the top of this file. Many expanded genres carry embedded-worldview risk (sworn knightly orders, Roman religious offices, monastic communities, cult-leader-led communes, pirate captains with charismatic authority). For these, cast the player as the decision-maker in the role (the Roman tribune, the elected pirate quartermaster, the newly named abbot, the dragon-rider squad leader) — NEVER as a deferential follower of a worldview-bearing character. The seed should make the player's authority explicit.

THE 30 SETTINGS

Generate 5 seeds for EACH of these settings. For each seed, include the setting name as a tag. (We can expand popular settings later based on player demand.)

Historical (10 settings)

  1. Viking Age — longship crews, Thing assemblies, raid-or-trade decisions, settlement founding
  2. Ancient Egypt — pharaoh's court, temple vs. military power, Nile flood management, monument construction politics
  3. Mongol Empire — khan succession, managing conquered peoples, supply line governance, yasa (law code) interpretation
  4. Renaissance Florence — banking families, art patronage as political weapon, guild politics, papal relations
  5. Colonial Caribbean — plantation governance, trade company politics, piracy suppression vs. tolerance, port city administration
  6. French Revolution — committee governance, terror vs. mercy, who defines "the people", factional purges
  7. Cold War Berlin — dual-state espionage, defection management, intelligence vs. diplomacy, tunnel operations
  8. Ancient Athens — direct democracy under pressure, ostracism votes, war council debates, tribute league management
  9. Aztec Empire — tribute systems, religious obligation vs. pragmatism, flower wars, merchant-spy networks
  10. British Raj — colonial administration, London vs. local reality, independence movements, partition pressures

Fantastical / Genre (10 settings)

  1. Dragon Riders — aerial territory disputes, bonded-pair governance, hatchling allocation, cross-species diplomacy
  2. Necromancer Guild — ethics of raising the dead for labor, consent questions, guild regulation, living community relations
  3. Time Travelers' Council — paradox management, timeline triage, who gets to change what, temporal jurisdiction
  4. Sentient AI Collective — digital consciousness rights, server resource allocation, human-relations policy, forking ethics
  5. Shapeshifter Community — identity politics, passing vs. disclosure, verification governance, mixed-community tensions
  6. Vampire Court — eternal politics, blood supply governance, mortal relations, succession in an immortal hierarchy
  7. Ghost Parliament — the dead voting on the living's future, relevance decay, mandate expiration, living-dead jurisdiction
  8. Kaiju Response Agency — civilian evacuation vs. military engagement, rebuilding priorities, creature rights debates
  9. Fairy Court — seasonal power transitions, mortal debt collection, truth-binding contract disputes, iron trade embargoes
  10. Mech Pilot Squadron — AI co-pilot autonomy, sortie assignment ethics, combat fatigue governance, civilian oversight

Contemporary / Unconventional (10 settings)

  1. Antarctic Research Station — international crew politics, supply rationing, discovery ownership, environmental protocol disputes
  2. Refugee Camp Administration — aid distribution, self-governance formation, resettlement politics, NGO coordination failures
  3. Professional Esports Team — roster decisions, sponsorship conflicts, player burnout, competitive integrity vs. entertainment
  4. Film Production in Crisis — over-budget shoot, creative vs. commercial control, union demands, festival deadline pressure
  5. Cult Deprogramming Center — exit strategy governance, reintegration support, legal liability, family dynamics
  6. International Space Station — multi-nation crew politics, equipment failure jurisdiction, experiment priority, communication blackout protocols
  7. Deep Sea Mining Rig — environmental vs. profit, crew safety shortcuts, discovery of unknown species, corporate vs. scientific mandate
  8. Touring Circus — route politics, performer safety, family dynasty succession, animal welfare disputes, local authority negotiations
  9. Prison Reform Committee — inmates, guards, and administrators with competing definitions of justice, reentry program funding
  10. Pandemic Response Task Force — lockdown politics, vaccine distribution equity, misinformation management, economic reopening pressure

OUTPUT FORMAT

Output as SQL INSERT statements for the campaign_seeds table. All seeds use theme 'custom'. Include the setting name at the start of each premise.

INSERT INTO campaign_seeds (theme, premise) VALUES
('custom', 'Viking Age: A newly elected Thing lawspeaker discovers the previous lawspeaker altered three rulings to benefit his own clan — reversing them now would invalidate land claims held for two generations.'),
('custom', 'Ancient Egypt: A temple''s granary is the only thing standing between the delta villages and famine — the high priest demands the pharaoh recognize temple autonomy in exchange for opening it.'),
-- ... more seeds ...

IMPORTANT: - Escape single quotes by doubling them: don''t not don't - Each seed starts with the setting name followed by a colon: "Viking Age: ..." - All use theme = 'custom' - 5 seeds per setting × 30 settings = 150 seeds total

Generate all 150 seeds now. Each should feel like a distinct story you'd want to play through — specific enough to build a campaign from, short enough to read in one breath.

---

## HOW TO RUN THESE

1. Open Claude Code (cowork/free plan hours)
2. Paste one prompt at a time — each is fully self-contained, any order works
3. Save the SQL output to `migrations/` files with sequential numbering (start from 061)
4. When you come back, have Claude apply them via `mcp__supabase__apply_migration`
5. Review the generated arcs in the app — delete bad ones, tweak good ones

**Applying migrations:** Each arc's SQL (the INSERT for the arc + INSERT for its chapters) should go in a single migration call — the chapters INSERT uses a subquery that references the arc by name, so both must execute together.

**Any order works.** Each prompt has all necessary context baked in. The only consideration: if you run Prompt 4 (Boardroom) first and then Prompt 1 (other themes), add the Boardroom arc names to Prompt 1's "EXISTING ARCS" list so it doesn't accidentally create similar concepts. But this is minor — you can eyeball for duplicates during review.

**Prompt 2 (seed ideas) output is NOT SQL** — it's a plain text list of one-liner premises. Save it as a reference doc (e.g., `docs/campaign-seeds.md`) for future arc generation sessions.

**Prompt 5 (preambles) requires a chapter list.** Before running it, query the DB for chapters without preambles:
```sql
SELECT a.name as arc, a.narrative_voice_prompt as voice, c.chapter_number, c.title, c.chapter_intro
FROM campaign_arcs a JOIN campaign_chapters c ON c.arc_id = a.id
WHERE c.preamble_blocks IS NULL ORDER BY a.name, c.chapter_number;
Paste the results into the prompt where indicated. Output is SQL UPDATE statements — apply them to fill in the preamble_blocks column. After this, all preambles are instant (no Claude API calls at play time).

Prompt 6 (expanded genre seeds) output is SQL — INSERT statements for the campaign_seeds table with theme = 'custom'. Apply directly.

Prompt 7 (scenario reformat) requires a scenario list. Query the DB for wall-of-text scenarios:

SELECT id, theme, title, description FROM scenarios
WHERE source = 'curated' AND description NOT LIKE '%**%'
ORDER BY theme, title;
Paste batches of 20-30 into Prompt 7. Output is SQL UPDATE statements.

Recommended order: Prompts 1/4 first (arcs), then Prompt 5 (preambles for those arcs), then Prompts 2/3/6 as time allows. Prompt 7 is independent — run whenever you want to clean up the scenario library.


PROMPT 7: Reformat Wall-of-Text Scenarios

Reformats existing scenarios that are plain prose into the structured format with bold headers. Also adds context to Underground scenarios explaining WHY the situation is underground. Fully self-contained — paste and go.

You are reformatting decision scenarios for a multiplayer governance game called Sync. These scenarios are well-written but are plain walls of text without structure. Your job is to add bold section headers and, for Underground theme scenarios, add context explaining why the situation exists outside mainstream institutions.

## YOUR TASK

For each scenario provided, rewrite the description to include bold **section headers** while preserving ALL the original content — names, numbers, details, quotes. Don't change the substance, just add structure.

## TARGET FORMAT

Every scenario should have these sections (adapt the header names to fit naturally):

**The situation:** 2-3 sentences establishing what's happening.

**The complication:** 2-3 sentences explaining why this is hard. What constrains you.

**The people:** Named characters with positions and quotes. Who wants what.

**Your role:** 1 sentence. What are you deciding.

Not every scenario needs exactly these headers — adapt them to the content. Some scenarios might use **The stakes:**, **The constraint:**, **The hidden detail:**, **The deadline:**, etc. The point is STRUCTURE, not a rigid template. Read the scenario and figure out what the natural sections are.

## UNDERGROUND THEME: ADD CONTEXT

For scenarios with theme = 'underground', add a brief **Background:** section (1-2 sentences) explaining what institutional failure or systemic gap created the need for this underground operation. Examples:

- Underground clinic: "The nearest hospital closed its ER after county funding collapsed. 40% of residents are uninsured and the next closest care is 90 minutes away."
- Grey-market pharmacy: "Three years ago, the pharmaceutical distributor that served this region pulled out after a contract dispute. The legal supply chain simply doesn't reach here."
- Resistance cell: "After the emergency powers act, organizing publicly became grounds for detention. The network formed because the legal channels for dissent no longer exist."

This context makes the "underground" framing make sense to the player — they understand WHY normal channels failed.

## RULES

1. **Preserve every detail.** Don't cut names, numbers, quotes, or options. Only ADD structure.
2. **Headers should be natural.** Don't force every scenario into the same template. Read it and figure out the natural breaks.
3. **Keep it concise.** Don't add padding. If the original was tight, keep it tight with headers.
4. **Bold headers use markdown.** `**The situation:**` not `### The situation`
5. **Underground context should feel grounded.** Not dramatic — just factual. A sentence explaining the gap.
6. **Don't touch the options.** Only reformat the description field.

## INPUT FORMAT

You'll receive scenarios as:
ID: [uuid] Theme: [theme] Title: [title] Description: [original description]
## OUTPUT FORMAT

Output as SQL UPDATE statements:

```sql
UPDATE scenarios SET description = E'**The situation:** First section text here.

**The complication:** Second section text here.

**The people:** Third section text here.

**Your role:** Final section text here.'
WHERE id = '[uuid]';

IMPORTANT SQL NOTES: - Escape single quotes by doubling them: don''t not don't - Use E'...' for the string so \n works as newlines - Only update the description column — don't touch options, title, category, or anything else

SCENARIOS TO REFORMAT

[PASTE SCENARIOS HERE — get them by running the SQL query above, batch 20-30 at a time]

Reformat all provided scenarios now. Preserve every detail, just add structure. ```