campaign-arc

SKILL.md

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]."

  1. Campaign Name: What's this campaign called?
  2. Party Members: Who are the player characters?
  3. Starting Level: What level is the party?
  4. Base of Operations: Where does the party call home?
  5. 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?"

  1. Date: When was this session?
  2. Location(s): Where did the party go?
  3. Summary: What happened in 2-3 sentences?
  4. Major Events: Any significant occurrences?
  5. 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:

  1. Beginning: What starts the arc?
  2. Rising Action: What complications arise?
  3. Climax: What's the pivotal moment?
  4. 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:

  1. Discovery: Village reports illness
  2. Investigation: Clues point to old mine
  3. Confrontation: Undead necromancer in mine
  4. 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
Weekly Installs
2
First Seen
Jan 26, 2026
Installed on
mcpjam2
neovate2
antigravity2
qwen-code2
windsurf2
zencoder2