campaign-arc
Campaign Arc Tracker
Track campaign: $ARGUMENTS
Overview
This skill manages long-running campaign narratives by tracking:
- Story Arcs: Multi-session plot threads with beginning, middle, and end
- Plot Threads: Individual storylines that weave through sessions
- Party Goals: What the players are working toward
- NPC Relationships: How NPCs feel about the party over time
- Session Continuity: Where things left off and what's pending
- Foreshadowing: Seeds planted for future reveals
- Consequences: Delayed effects of party actions
Campaign State File
Campaign data is stored in Worlds/[World Name]/.campaign-state.json:
{
"version": "1.0",
"world_name": "Eldermyr",
"campaign_name": "The Shattered Crown",
"party": {
"members": ["Thorin", "Elara", "Marcus", "Zara"],
"level": 5,
"base_of_operations": "[[Aldersgate]]"
},
"current_session": 12,
"session_log": [
{
"number": 12,
"date": "2025-01-15",
"location": "[[The Sunken Palace]]",
"summary": "Explored underwater ruins, found ancient artifact",
"cliffhanger": "Cultists arrived as party found the artifact"
}
],
"story_arcs": [],
"plot_threads": [],
"npc_relationships": {},
"foreshadowing": [],
"consequences": [],
"last_updated": "ISO timestamp"
}
Instructions
Parse Arguments
| Command | Purpose |
|---|---|
[world] |
View campaign status for this world |
[world] --new |
Create new campaign tracker |
[world] --status |
Show full campaign dashboard |
[world] --update |
Update after a session |
[world] --session N |
View specific session details |
[world] --arc [name] |
View or create specific story arc |
[world] --thread [name] |
View or create specific plot thread |
Creating a New Campaign (--new)
Step 1: Campaign Basics
Ask the user:
"Let's set up campaign tracking for [World Name]."
- Campaign Name: What's this campaign called?
- Party Members: Who are the player characters?
- Starting Level: What level is the party?
- Base of Operations: Where does the party call home?
- Campaign Hook: What's the main premise or goal?
Step 2: Initial Story Arc
Ask:
"What's the main story arc the party is currently pursuing?"
Arc Name: (e.g., "The Search for the Lost King") Arc Goal: What does completing this arc achieve? Current Phase: Beginning / Rising Action / Climax / Resolution Key NPCs: Who are the major players in this arc? Key Locations: Where does this arc take place?
Step 3: Active Plot Threads
Ask:
"What ongoing plot threads exist? List any subplots, side quests, or dangling mysteries."
For each thread:
- Thread Name: (e.g., "The Missing Merchant")
- Status: Active / Dormant / Resolved
- Related Arc: Which story arc does this connect to?
- Urgency: Low / Medium / High / Critical
- Next Beat: What happens next if players engage?
Step 4: NPC Relationship Baseline
Ask:
"List key NPCs and their current relationship with the party:"
NPC Disposition Reason [[Lord Varic]] Friendly Party saved his daughter [[The Owl]] Neutral Hasn't met them yet [[High Confessor Maren]] Hostile Party exposed his corruption
Step 5: Save Campaign State
Create the .campaign-state.json file with all gathered information.
Campaign Status Dashboard (--status)
Display comprehensive overview:
╔══════════════════════════════════════════════════════════════════╗
║ CAMPAIGN: The Shattered Crown ║
║ World: Eldermyr | Session: 12 | Party Level: 5 ║
╠══════════════════════════════════════════════════════════════════╣
║ PARTY ║
║ • Thorin (Dwarf Fighter) • Elara (Elf Wizard) ║
║ • Marcus (Human Cleric) • Zara (Halfling Rogue) ║
║ Base: [[Aldersgate]] ║
╠══════════════════════════════════════════════════════════════════╣
║ ACTIVE STORY ARCS ║
║ ┌─────────────────────────────────────────────────────────────┐ ║
║ │ [■■■■■□□□□□] The Shattered Crown (50% - Rising Action) │ ║
║ │ [■■■□□□□□□□] The Cult of Shadows (30% - Beginning) │ ║
║ └─────────────────────────────────────────────────────────────┘ ║
╠══════════════════════════════════════════════════════════════════╣
║ PLOT THREADS ║
║ 🔴 CRITICAL: The Ritual begins at the next full moon (2 sessions)║
║ 🟠 HIGH: [[The Owl]] requests a meeting ║
║ 🟡 MEDIUM: Missing merchant still unresolved ║
║ 🟢 LOW: Elara's family sword needs reforging ║
╠══════════════════════════════════════════════════════════════════╣
║ NPC RELATIONSHIPS ║
║ 😊 Friendly: [[Lord Varic]], [[Sister Elspeth]], [[Grom Smith]] ║
║ 😐 Neutral: [[The Owl]], [[Captain Aldric]] ║
║ 😠 Hostile: [[High Confessor Maren]], [[The Crimson Hand]] ║
╠══════════════════════════════════════════════════════════════════╣
║ FORESHADOWING (planted seeds) ║
║ • Session 8: Strange symbol found in ruins (not yet revealed) ║
║ • Session 10: NPC mentioned "the sleeper beneath" cryptically ║
╠══════════════════════════════════════════════════════════════════╣
║ PENDING CONSEQUENCES ║
║ • Session 9: Party killed the Baron's son - revenge coming ║
║ • Session 11: Left cultist alive - he reported to superiors ║
╠══════════════════════════════════════════════════════════════════╣
║ LAST SESSION (#12) CLIFFHANGER: ║
║ "Cultists arrived as party found the artifact in the Sunken ║
║ Palace. Roll initiative next session!" ║
╚══════════════════════════════════════════════════════════════════╝
Post-Session Update (--update)
Step 1: Session Summary
Ask:
"Let's record Session [N+1]. What happened?"
- Date: When was this session?
- Location(s): Where did the party go?
- Summary: What happened in 2-3 sentences?
- Major Events: Any significant occurrences?
- Cliffhanger: How did the session end?
Step 2: Arc Progress
For each active story arc:
"Did 'The Shattered Crown' arc progress?"
- No change
- Minor progress (moved forward slightly)
- Major progress (completed a phase)
- Resolved (arc complete!)
- Complicated (new obstacles emerged)
Step 3: Plot Thread Updates
"Update plot thread status:"
Thread Previous New Status Notes Missing Merchant Active Resolved Found him in dungeon The Ritual Active Critical Only 2 sessions left!
Step 4: NPC Relationship Changes
"Did any NPC relationships change?"
- [[Lord Varic]]: Friendly → Grateful (party saved the city)
- [[The Owl]]: Neutral → Suspicious (party broke into his office)
Step 5: New Seeds
"Any foreshadowing planted this session?"
- What was hinted at?
- What's the eventual reveal?
- When might it pay off?
Step 6: New Consequences
"Any actions that will have future consequences?"
- What did the party do?
- What's the consequence?
- When will it trigger?
Step 7: Save Updates
Update .campaign-state.json with all new information.
Story Arc Management (--arc)
Creating a New Arc
/campaign-arc Eldermyr --arc "The Dragon's Return"
Ask:
Arc Name: The Dragon's Return Arc Type: Main Quest / Side Quest / Character Arc / World Event Description: What's this arc about? Phases:
- Beginning: What starts the arc?
- Rising Action: What complications arise?
- Climax: What's the pivotal moment?
- Resolution: How might it end?
Connections:
- Related NPCs: [[list]]
- Related Locations: [[list]]
- Related Plot Threads: [[list]]
Arc Progress Tracking
Arc: The Shattered Crown
Phase: Rising Action (2 of 4)
Progress: ████████░░░░░░░░░░░░ 40%
Milestones:
✓ Discovered the crown was shattered
✓ Found the first fragment
○ Find the second fragment
○ Find the third fragment
○ Reforge the crown
○ Crown the true heir
Plot Thread Management (--thread)
Creating a Thread
/campaign-arc Eldermyr --thread "The Poisoned Well"
Ask:
Thread Name: The Poisoned Well Type: Mystery / Combat / Social / Exploration Status: Active Urgency: Medium Related Arc: (optional)
Thread Beats:
- Discovery: Village reports illness
- Investigation: Clues point to old mine
- Confrontation: Undead necromancer in mine
- Resolution: Destroy phylactery, cure village
Current Beat: 2 (Investigation)
Thread Tracking
Active Threads: 5
─────────────────────────────────────────
🔴 The Ritual (CRITICAL) - 2 sessions until trigger
Beat 3/4: Locate ritual site before full moon
🟠 The Owl's Request (HIGH) - Meeting scheduled
Beat 1/3: Accept or decline the job
🟡 Missing Merchant (MEDIUM) - Dormant 3 sessions
Beat 2/4: Follow leads to Trader's Rest
🟢 Elara's Sword (LOW) - Character goal
Beat 1/3: Find the legendary smith
🟢 Haunted Lighthouse (LOW) - Optional side quest
Beat 1/4: Hear rumors at tavern
Integration with Other Skills
With /session-prep
Campaign state informs session prep:
- Active plot threads become session focus options
- NPC relationships affect NPC behavior suggestions
- Pending consequences can trigger
With /random-encounter
- NPC relationship status affects encounter tone
- Active plot threads can spawn related encounters
With /create-entity
- New NPCs automatically added to relationship tracker
- New locations linked to active arcs
Examples
# Create new campaign tracker
/campaign-arc Eldermyr --new
# View campaign dashboard
/campaign-arc Eldermyr --status
# Update after session 13
/campaign-arc Eldermyr --update
# View session 10 details
/campaign-arc Eldermyr --session 10
# Create new story arc
/campaign-arc Eldermyr --arc "The Dragon's Return"
# Create new plot thread
/campaign-arc Eldermyr --thread "The Missing Heir"
# Quick status check
/campaign-arc Eldermyr
More from hopeoverture/worldbuilding-system
create-world
Create a new worldbuilding project with full folder structure. Use when the user wants to start a new world, campaign setting, or fantasy setting like "create a world called Eldoria".
3generate-world
Generate an entire world with interconnected entities. Creates 80-120 entities including continents, regions, settlements, NPCs, organizations, history, and more. Use when the user wants a complete world generated automatically.
3validate-template
Validate a template or entity file has all required sections, YAML fields, and follows the worldbuilding system conventions. Use when creating new templates or checking if entities are properly structured.
3create-template
Create a new worldbuilding template for the Obsidian vault. Use when the user wants to add a new entity type template like "tavern template", "spell template", or "dungeon template".
2populate-entity
Scan an entity file to identify mentions of people, places, organizations, and other entities in the text. Creates missing entities using appropriate templates and adds wikilinks. Use when user wants to "populate", "fill out", "create linked entities", or "auto-generate connections" for an entity.
2random-encounter
Generate random encounters appropriate for a location, party level, or situation. Creates combat, social, or exploration encounters using existing world entities. Use when user wants "random encounter", "encounter table", or "what happens at [location]".
2