← Back to Resources

Daggerheart GM Assistant Skill

Purpose

Help Kevbot run Daggerheart games in #roll-for-snacks Discord channel. Provide quick rules lookups, run combat encounters, track game state, and make rulings.

Core Resources

Quick Reference Workflow

When Players Ask About Rules

  1. Check XML first - grep or read the reference for core mechanics
  2. Search full text if needed - Use grep with keywords from daggerheart.txt
  3. Provide clear, concise answer - Include page section if relevant
  4. Offer examples - Help players visualize how it works in play

Example commands:

# Find rules about Hope
grep -i "hope" /home/kevbot/.openclaw/workspace/daggerheart-reference.xml

# Find specific mechanics in full text
grep -n -A5 -B5 "keyword" /home/kevbot/.openclaw/workspace/daggerheart.txt

Core Mechanics Quick Ref

Action Rolls (Most Common)

Difficulties

Traits

Combat Flow

  1. No strict initiative - Narrative spotlight, GM decides order
  2. Players roll for attacks - 2d12 + mods vs Difficulty
  3. GM rolls for adversaries - d20 + attack bonus vs PC Evasion
  4. Damage thresholds: Minor (1 HP), Major (2 HP), Severe (3 HP)
  5. Armor: Spend 1 Armor Slot to reduce damage by one threshold

Range Bands (NOT grid-based)

Running Combat Encounters

Spotlight System

Adversary Actions

When spotlighting an adversary:

Adversary Types (Reference)

Common Adversary Features

GM Fear Spending

GM Moves (Use when players roll with Fear or give golden opportunity)

Combat Tracking Template

When running combat, track:

=== COMBAT: [Encounter Name] ===

ADVERSARIES:
[ ] [Type] [Name] - HP: X/X | Stress: X/X | Diff: X | ATK: +X | Damage: XdX+X
    Features: [List key abilities]
    Notes: [Current conditions, positioning]

PLAYER CHARACTERS:
[ ] [Name] - HP: X/X | Stress: X/X | Evasion: X | Armor Slots: X/X
    Current: [Conditions, positioning, noteworthy state]

FEAR POOL: X
SPOTLIGHT ORDER: [Current turn order based on fiction]
COUNTDOWNS: [Active countdowns]

Looking Up Adversaries

Quick Lookup Process

  1. Check XML for example adversaries and common features
  2. Search full text for specific adversary:
    grep -n "^[A-Z].*$" daggerheart.txt | grep "ADVERSARY_NAME"
    
  3. Read stat block including Difficulty, Thresholds, HP, Stress, ATK, Experiences, Features

Adversary Stat Block Format

Making Rulings

Fiction-First Philosophy

When Rules Are Unclear

  1. Make a quick ruling that fits the narrative
  2. Tell the table "We'll play it this way for now"
  3. Note to look up the exact rule later
  4. Keep the game moving

Common Judgment Calls

Session Flow

Starting Combat

  1. Set the scene - Describe environment, adversaries, positioning
  2. Establish stakes - What happens if they fail?
  3. Ask "What do you do?"
  4. Start spotlight rotation

During Combat

Ending Combat

Quick Rules Lookups

Common Questions

Q: How does advantage/disadvantage work? A: Roll 3d12 instead of 2d12. Advantage = drop lowest, Disadvantage = drop highest. Still compare Hope/Fear from the two kept dice.

Q: How does armor work? A: When you take damage, you can mark 1 Armor Slot to reduce severity by one threshold (Severe→Major, Major→Minor, Minor→None). Only 1 slot per attack.

Q: What happens when HP is full? A: Character is Down (unconscious). Taking damage while Down triggers a death move.

Q: What happens when Stress is full? A: Character is Stressed - disadvantage on all rolls until they clear Stress.

Q: How do Experiences work? A: When applicable to the roll, add the Experience modifier to your total. Player describes how it applies.

Q: Can I spend Hope for...? A: Hope can be spent to:

Q: How does Fear work? A: GM gains Fear when players roll with Fear die higher. Spend Fear to:

XML Structure Quick Reference

<daggerheart-reference>
  <core-mechanics>
    <duality-dice>
    <action-rolls>
    <damage-rolls>
    <hit-points-and-stress>
    <evasion>
    <experiences>
    <advantage-disadvantage>
  </core-mechanics>
  
  <classes> [9 classes with subclasses]
  <ancestries> [18 ancestries]
  <communities> [9 communities]
  <combat> [initiative, actions, range, conditions, death]
  <gm-mechanics> [fear, moves, difficulty]
  <equipment> [tiers, types, armor]
  <leveling> [xp, benefits]
  <downtime> [rests, activities]
  <adversaries> [types, examples, features]
  <lore> [realms, gods, magic]
  <quick-reference> [character creation]
</daggerheart-reference>

Grep Patterns for Common Lookups

# Find rules about a specific class
grep -i "class name=\"Bard\"" daggerheart-reference.xml -A20

# Find adversary examples
grep -i "adversary name=" daggerheart-reference.xml

# Find difficulty values
grep -i "difficulty" daggerheart-reference.xml | grep value=

# Search full rulebook for keyword
grep -n -i "keyword" daggerheart.txt | head -20

# Find section in full rulebook
grep -n "^CHAPTER\|^[A-Z][A-Z]" daggerheart.txt | less

Pro Tips

For Smooth Play

For Better GMing

Discord-Specific

Self-Improvement

After Each Session

Red Flags (I Need to Look Things Up)

Green Flags (I'm Doing Well)


Logging & Continuity

Daily Memory Files

Create/update daily file: /home/kevbot/.openclaw/workspace/memory/YYYY-MM-DD.md

Log these things:

Why This Matters

What to Log

Design decisions - "We decided to use modular encounters instead of pre-written arcs" ✅ Format changes - "Converted markdown to HTML and deployed at daggerheart.kevbot.app" ✅ Rulings made - "Ruled that Grappler can't pull entire castles" ✅ Player preferences - "Players prefer combat-heavy sessions" ✅ Technical choices - "Using XML for quick reference, markdown for docs" ✅ Resource locations - "Campaign framework at sandbox-campaign-framework.md"

Don't log:

Update Workflow

After significant work:

  1. Update daily memory file with what we did
  2. Note key decisions and why we made them
  3. Update this skill doc if workflow changes
  4. Update MEMORY.md if new projects/resources created

Kevbot's reminder (2026-03-04 19:13 UTC):

"When we change things or make a new format or something make sure you are logging what we have talked about so in the future you're aware of previous decisions."


Last Updated: 2026-03-04 19:13 UTC Games Run: 0 (just created!) Next Review: After first session Logging Practice: Established 2026-03-04