Agent skill
npc-network
This skill should be used when the user asks to "map NPC relationships", "show character connections", "analyze NPC network", "who knows who", "faction relationships", "visualize NPCs", "NPC web", "character relationship map", or mentions "NPC connections", "social network", or "faction dynamics". Maps relationships between NPCs by faction, location, and document references to identify hub characters, isolated NPCs, and missing connections.
Install this agent skill to your Project
npx add-skill https://github.com/mimir-dm/mimir/tree/main/crates/mimir-mcp/plugin/skills/npc-network
SKILL.md
NPC Network Analysis
Purpose
Analyze and visualize relationships between NPCs, their faction affiliations, knowledge networks, and social connections. Identify isolated NPCs, missing connections, and opportunities for richer storytelling.
Analysis Process
1. Gather NPC Data
list_characters(character_type: "npc")
# Filter by location or faction for focused analysis:
list_characters(character_type: "npc", location: "Waterdeep")
list_characters(character_type: "npc", faction: "Zhentarim")
# For each NPC:
get_character(character_id: character_id)
Extract from each NPC: name, role, location, faction affiliation, and module assignment.
2. Extract Implicit Relationships
Read documents to find relationship mentions:
# Campaign-level documents (world lore, session notes)
list_documents() # omit module_id for campaign-level docs
read_document(document_id: document_id)
# Module-level documents
# For each module:
list_documents(module_id: module_id)
read_document(document_id: document_id)
Look for:
- Direct relationships: "X is Y's brother"
- Implied connections: Characters in the same location
- Faction ties: Members of the same organization
- Conflict relationships: Enemies, rivals
- Knowledge chains: Who knows what secrets
3. Build Relationship Matrix
Categorize relationships:
| Type | Description |
|---|---|
| Family | Blood relations, marriage |
| Professional | Employer/employee, colleagues |
| Faction | Same organization membership |
| Location | Same place, neighbors |
| Conflict | Enemies, rivals, grudges |
| Secret | Hidden connections players can discover |
| Knowledge | Who knows information about whom |
4. Network Analysis
Identify:
Hub NPCs — Characters with many connections. These are high-value targets for players. Consider: Are they protected? What happens if they die?
Isolated NPCs — Characters with no connections. These represent missed storytelling opportunities. Consider: How do players encounter them?
Faction Clusters — Groups of connected NPCs. Map internal faction dynamics and cross-faction connections.
Information Flow — How does news travel? Who would know if X happened? Trace rumor mill paths.
Output Format
# NPC Network: [Campaign Name]
## Faction: [Faction Name]
+-- [Leader NPC] (Leader)
| +-- employs -> [NPC]
| +-- rivals -> [NPC from other faction]
+-- [Member NPC]
| +-- siblings -> [NPC]
+-- [Member NPC]
## Location: [Location Name]
+-- [NPC] - [Role]
+-- [NPC] - [Role]
+-- [NPC] - [Role]
## Key Relationships
- [NPC] <-secret lovers-> [NPC]
- [NPC] <-owes debt-> [NPC]
- [NPC] <-seeking revenge-> [NPC]
## Isolated NPCs (No Connections)
- [NPC]: Consider connecting to [suggestion]
## Hub NPCs (4+ Connections)
- [NPC]: [List of connections]
- Risk: High-value target
- Contingency: [Suggestion]
Mermaid Diagram (if requested)
graph TD
A[Lord Mayor] -->|employs| B[Captain of Guard]
A -->|rivals| C[Merchant Prince]
B -->|siblings| D[Innkeeper]
C -->|secret deal| E[Thieves Guild Leader]
Interactive Mode
- Present overall network structure
- Ask: "Which relationships would you like to explore?"
- Deep-dive into specific factions or characters
- Suggest missing connections: "These NPCs share a location but have no defined relationship. Should they know each other?"
- Offer to update NPC records with discovered relationships
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
mimir-dm
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.
pressure-test
This skill should be used when the user asks to "pressure test my campaign", "stress test this module", "find plot holes", "what if players do X", "test my adventure", "challenge my scenario", "poke holes in my plot", "adversarial review", "player-proof this", or mentions "edge cases", "breaking the campaign", or "unexpected player actions". Adopts an adversarial player mindset to find plot holes, dead-ends, and exploits before game time.
encounter-balance
This skill should be used when the user asks to "check encounter balance", "review CR", "is this too hard", "is this too easy", "balance my encounters", "encounter difficulty", "TPK check", "deadly encounter", "party level check", or mentions "challenge rating", "encounter math", or "XP budget". Analyzes module encounters against party composition using D&D 5e math to identify deadly, trivial, or unbalanced fights.
loot-audit
This skill should be used when the user asks to "audit loot", "check treasure distribution", "review magic items", "is loot balanced", "treasure by level", "too much gold", "not enough magic items", "wealth check", or mentions "treasure placement", "loot tables", or "magic item distribution". Audits treasure and magic item placement across modules and character inventories to flag wealth imbalances, rarity mismatches, and loot gaps.
mapgen
This skill should be used when the user asks to "generate a map", "create a dungeondraft map", "make a battle map", "generate terrain", "create a forest map", "make a cave map", "grassland map", "desert map", "lake map", "arctic map", "island map", "tropical island", "procedural map", "mapgen", "map from preset", "map from YAML", "validate map config", "list map presets", "generate dungeondraft", "create outdoor map", "random map", "noise-based map", "map with rooms", "dungeon map", "generate rooms", "room layout", "polygon layout", "polygon rooms", "overlapping rooms", or mentions "mimir-mapgen", "dungeondraft_map", "biome preset", or "map generation". You act as a creative director — translating the user's scene descriptions into precise generation parameters that produce the terrain and room layouts they envision.
session-prep
This skill should be used when the user asks to "prep for session", "review before game night", "session checklist", "am I ready to run this", "pre-session review", "game prep", "DM prep check", or mentions "running tonight", "session tomorrow", or "game day prep". Runs a comprehensive pre-session checklist covering content, NPC readiness, encounter balance, and contingency planning.
Didn't find tool you were looking for?