Get the FREE Ultimate OpenClaw Setup Guide →
c

D&D 5e Toolkit

@capt-marbles

npx machina-cli add skill @capt-marbles/dnd --openclaw
Files (1)
SKILL.md
4.0 KB

D&D 5e Toolkit

Your complete Dungeons & Dragons 5th Edition assistant! Look up spells, monsters, roll dice, generate characters, encounters, and NPCs.

Features

šŸŽ² Dice Roller - Roll any dice with modifiers
✨ Spell Lookup - Search the entire SRD spell list
šŸ‘¹ Monster Stats - Get full stat blocks for any creature
āš”ļø Character Generator - Random characters with stats
šŸ—”ļø Encounter Builder - Generate balanced encounters by CR
šŸ‘¤ NPC Generator - Create random NPCs with personality

Usage

All commands use the dnd.py script.

Roll Dice

# Roll 2d6 with +3 modifier
python3 dnd.py roll 2d6+3

# Roll d20
python3 dnd.py roll 1d20

# Roll with negative modifier
python3 dnd.py roll 1d20-2

# Roll multiple dice
python3 dnd.py roll 8d6

Output:

šŸŽ² Rolling 2d6+3
   Rolls: [4 + 5] +3
   Total: 12

Look Up Spells

# Search for a spell
python3 dnd.py spell --search fireball

# Direct lookup
python3 dnd.py spell fire-bolt

# List all spells
python3 dnd.py spell --list

Output:

✨ Fireball
   Level: 3 Evocation
   Casting Time: 1 action
   Range: 150 feet
   Components: V, S, M
   Duration: Instantaneous
   
   A bright streak flashes from your pointing finger to a point 
   you choose within range and then blossoms with a low roar into 
   an explosion of flame...

Look Up Monsters

# Search for a monster
python3 dnd.py monster --search dragon

# Direct lookup
python3 dnd.py monster ancient-red-dragon

# List all monsters
python3 dnd.py monster --list

Output:

šŸ‘¹ Adult Red Dragon
   Huge Dragon, chaotic evil
   CR 17 (18,000 XP)
   
   AC: 19
   HP: 256 (19d12+133)
   Speed: walk 40 ft., climb 40 ft., fly 80 ft.
   
   STR 27 | DEX 10 | CON 25
   INT 16 | WIS 13 | CHA 21
   
   Special Abilities:
   • Legendary Resistance (3/Day): If the dragon fails a saving throw...
   
   Actions:
   • Multiattack: The dragon can use its Frightful Presence...

Generate Random Character

# Generate character with rolled stats
python3 dnd.py character

Output:

āš”ļø  Elara
   Race: Elf
   Class: Wizard
   
   Stats:
   STR: 10 (+0)
   DEX: 15 (+2)
   CON: 12 (+1)
   INT: 16 (+3)
   WIS: 13 (+1)
   CHA: 8 (-1)

Generate Random Encounter

# Generate encounter with challenge rating
python3 dnd.py encounter --cr 5

# Random CR
python3 dnd.py encounter

Output:

šŸŽ² Random Encounter (CR ~5)

   2x Troll (CR 5)
      AC 15, HP 84
   1x Ogre (CR 2)
      AC 11, HP 59

Generate Random NPC

python3 dnd.py npc

Output:

šŸ‘¤ Finn Shadowend
   Race: Halfling
   Occupation: Merchant
   Trait: Curious

Example Prompts for Clawdbot

  • "Roll 2d20 with advantage" (I'll roll twice!)
  • "Look up the Fireball spell"
  • "Show me stats for a Beholder"
  • "Generate a random character"
  • "Create an encounter for level 5 party"
  • "Give me an NPC for my tavern scene"

JSON Output

Add --json to any command for structured output:

python3 dnd.py roll 2d6 --json
python3 dnd.py spell --search fireball --json
python3 dnd.py character --json

API Source

Uses the official D&D 5e API which includes all System Reference Document (SRD) content.

Tips

  • Spell names use lowercase with hyphens: fireball, magic-missile, cure-wounds
  • Monster names same format: ancient-red-dragon, goblin, beholder
  • Search if unsure of exact name: --search dragon will show all dragons
  • Dice format is flexible: 1d20, 2d6+5, 3d8-2, 100d100

Future Ideas

  • Initiative tracker
  • Treasure generator
  • Quest/plot hook generator
  • Random dungeon generator
  • Party manager
  • Campaign notes

Enjoy your adventure! šŸ‰āš”ļøāœØ

Source

git clone https://clawhub.ai/capt-marbles/dndView on GitHub

Overview

D&D 5e Toolkit is a complete assistant for both players and DMs. It lets you roll dice, look up SRD spells and monsters, generate characters, and build encounters or spawn NPCs using the official D&D 5e SRD API.

How This Skill Works

All commands run through the dnd.py script. The toolkit exposes dice rolling, spell lookup, monster stat blocks, random character and NPC generation, and encounter building, with optional JSON output for automation.

When to Use It

  • Roll dice with modifiers during a session (e.g., 2d6+3)
  • Look up spells or monsters when planning a fight or casting a spell
  • Generate a quick random character for a new player or one-shot
  • Create balanced encounters by Challenge Rating for an adventure
  • Spawn thematic NPCs for scenes or tavern interactions

Quick Start

  1. Step 1: Run a basic roll: python3 dnd.py roll 2d6+3
  2. Step 2: Look up a spell: python3 dnd.py spell --search fireball
  3. Step 3: Generate a character: python3 dnd.py character

Best Practices

  • Use --json for structured data when integrating with tools or notes
  • Follow the SRD naming conventions: lowercase with hyphens for spells/monsters
  • Verify results against the SRD API for accuracy before presenting to players
  • Build encounters by CR to ensure balanced difficulty
  • Save outputs as notes or NPC presets for reuse in sessions

Example Use Cases

  • Search and display the Fireball spell details
  • Generate a random character for a one-shot session
  • Build a CR5 encounter with Trolls and an Ogre (balanced roster)
  • Create a tavern NPC with a name and trait
  • Roll 2d20 with advantage for a quick test

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers ↗