Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

mimir-dm

verified

This skill should be used when the user asks to "create a D&D campaign", "make a new module", "add an NPC", "create an encounter", "search for monsters", "find D&D items", "search for spells", "list campaigns", "set up a dungeon crawl", "create a mystery adventure", "add loot to characters", "search for traps", "manage character inventory", "build an adventure", "populate a dungeon", "give items to players", "create a villain", "add treasure", "write session notes", "create campaign document", "add world lore", "campaign-level document", "upload a map", "place tokens", "level up character", "set ability scores", "set currency", "search races", "search classes", "search backgrounds", "search feats", "search conditions", "delete module", "delete character", "delete document", "create campaign", "export campaign", "import campaign", "homebrew item", "homebrew monster", "homebrew spell", "create custom monster", "create custom item", "create custom spell", "clone monster", "clone item", "clone spell", or mentions "Mimir campaign", "D&D 5e authoring", or "dungeon master tools". Provides MCP tools for campaign management, module creation, NPC authoring, character management, map/token placement, document management, homebrew content creation, and catalog searching.

View on GitHub

Marketplace

mimir

mimir-dm/mimir

Plugin

mimir-dm

productivity

Repository

mimir-dm/mimir
4stars

crates/mimir-mcp/plugin/skills/mimir-dm/SKILL.md

Last Verified

February 2, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/mimir-dm/mimir/blob/main/crates/mimir-mcp/plugin/skills/mimir-dm/SKILL.md -a claude-code --skill mimir-dm

Installation paths:

Claude
.claude/skills/mimir-dm/
Powered by add-skill CLI

Instructions

# Mimir DM - D&D 5e Campaign Management

## Getting Started

Before using any module, character, or document tools:

1. List available campaigns with `list_campaigns` (or create one with `create_campaign`)
2. Set an active campaign with `set_active_campaign`

All subsequent operations require an active campaign.

## Important Patterns

### Read Before Edit
Always call `get_character` / `read_document` / `get_module_details` / `get_homebrew_item` / `get_homebrew_monster` / `get_homebrew_spell` before making edits to confirm current state. Never edit blind.

### Catalog Exact-Match
Search tools return partial matches. When adding monsters, items, or equipment:
1. Search the catalog first (`search_monsters`, `search_items`, `search_spells`, etc.)
2. Pick the **exact** matching name from results
3. Use that exact name string in `add_monster_to_module` / `add_item_to_character`

### Clone From Catalog Before Creating Homebrew
When a user wants a custom monster, item, or spell, **always try cloning from the catalog first** rather than building from scratch. A cloned entry preserves correct 5etools JSON structure and only needs targeted edits.

1. Search the catalog for the closest match (`search_monsters`, `search_items`, `search_spells`)
2. Present options and let the user pick the base creature/item/spell
3. Clone it with `create_homebrew_*` using `cloned_from_name` and `cloned_from_source`
4. Edit the `data` JSON to apply the user's requested changes

Building homebrew JSON from scratch is error-prone — the data blobs follow 5etools format which has many nested structures. Cloning and modifying is almost always safer.

### Error Handling
- If a tool call fails, report the error to the user rather than silently continuing
- If a catalog search returns no results, try alternate names or broader search terms
- If `add_monster_to_module` fails, verify the monster name matches the catalog exactly

### Ask When Unsure
If you are uncertain about any creative decision — monste

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
8874 chars

Issues Found:

  • description_too_long