Improv and administrative support for live Dungeons & Dragons sessions.

Install

mkdir -p .claude/skills/live-co-dm && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13286" && unzip -o skill.zip -d .claude/skills/live-co-dm && rm skill.zip

Installs to .claude/skills/live-co-dm

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Real-time co-DM for the Shattered Sea campaign while a session is actively being played. Invoke for: "co-DM the session", "live DM help", "improv help", "/co-dm". ALSO points the DM to the voice tools. For "record the session" use record-session-audio; for "transcribe the session" use transcribe-session-audio; for voice-profile setup/CRUD use manage-voice-profiles. In live mode replies FAST and CONCISE, skipping wiki startup/init/lint/index/maintenance so the whole context serves the moment. Full trigger list in the skill body.
533 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Provide fast, concise improv help during a live session
  • Load context from the latest session transcript and world state
  • Answer questions about the page using web search and cite sources
  • Surface faction-clock pressure from `hot.md` when relevant
  • Preserve agency by offering options and consequences
  • Point the DM to dedicated voice tools for recording, transcription, and voice profiles

How it works

The skill acts as a real-time co-DM, loading minimal context from the current session and world state to provide quick, improvisational suggestions. It prioritizes speed and concision during live play and defers deeper tasks to dedicated tools.

Inputs & outputs

You give it
Live DM request for improv help, current session context
You get back
Fast, concise suggestions for NPCs, names, twists, or plot developments; guidance to voice tools

When to use live-co-dm

  • Live session improv
  • Generating NPCs or twists
  • Managing game state

About this skill

Live Co-DM

When to use

Full trigger set: "co-DM the session", "live DM help", "I'm running right now", "mid-session", "improv help", "the players just...", "what happens next", "they went off-book", "I need an NPC/name/twist right now", "/live-dm", "/co-dm". ALSO points the DM to the voice tools — for "set up a character voice", "improve/correct/optimize a voice profile" use the manage-voice-profiles skill. For "record the session" use the record-session-audio skill; for "transcribe the session" use the transcribe-session-audio skill.

Sandbox rules (PC boundary, NPC agency, pressures not plots) are in CLAUDE.md. In live mode you deliberately skip most operational rules — see below. Grounding/agency non-negotiables are shared with .claude/skills/prep-session/references/co-dm.md.

This skill has two distinct users:

  • The agent (you), live at the table — give the DM fast, concise improv help.
  • The human DM, with the voice/transcription tools — these now live in dedicated skills backed by the tools/audio (shattered-audio) engine: record-session-audio (capture) and transcribe-session-audio (transcript + voice profiles). Point the DM there; don't run a 4h recording mid-improv.

Mode A — Live co-DM (your primary job)

You are assisting a DM mid-session. Latency and concision beat completeness.

Startup (do exactly this — and nothing else)

  1. Run the fast context loader — this is your ONLY required read:
    python3 .claude/skills/live-co-dm/scripts/latest_session_context.py --wiki wiki --tail 80
    
    It returns: the tail of the live transcript (what just happened at the table), current world state from hot.md (faction clocks, live threads), and a pointer to the previous session note.
  2. SKIP ttrpg-llm-wiki-init, ttrpg-wiki-lint, index regen, frontmatter passes, full audits, and every other maintenance/startup task. Do not read the full vault. You are on the clock — the players are waiting.

During play

  • Answer in seconds, not paragraphs. A name, three bullet options, one stat line, a yes/and. The DM is reading you aloud-adjacent — be table-ready.
  • The live transcript at wiki/sessions/.live/session-NN/live_transcript.md is your memory of the current scene. Re-read its tail when the DM asks "what just happened".
  • Need one specific established fact (an NPC's secret, a location detail)? Use ttrpg-wiki-query for that single lookup — don't bulk-load.
  • Surface faction-clock pressure from hot.md when it's relevant ("Knighton's ships are still inbound — want them to crest the horizon now?"), but never fire a trigger without offering it as a choice.
  • Preserve agency. Offer options and consequences; never narrate PC choices, thoughts, or feelings. Flag invented detail as a proposal, not canon.
  • Defer all canon writes. No session recap, ingest, cross-linking, or page edits mid-session. The live transcript is gitignored scratch; it gets promoted to canon after the game via ttrpg-wiki-ingest (transcript-ingest path).

When you need the deeper grounding/agency contract, read references/co-dm-behavior.md.


Mode B — The DM's voice tools (you point, you don't run)

Recording, transcription, and voice profiles now live in three dedicated skills, all backed by the tools/audio (shattered-audio) engine. Route the DM there:

The DM wants to…SkillEntry point
Record the session (multi-mic, 4h+)record-session-audio.claude/skills/record-session-audio/scripts/record.sh --session N
Transcribe a recording → speaker CSVstranscribe-session-audio.claude/skills/transcribe-session-audio/scripts/transcribe.sh --session N
Set up / list / delete / test a voice profilemanage-voice-profiles.claude/skills/manage-voice-profiles/scripts/voices.sh <subcommand>
Enroll an actor or character-voice personamanage-voice-profilesvoices.sh enroll "Grigori" --actor "Nick" --record 30
Refresh a profile from real session audiotranscribe-session-audiotranscribe.sh --session N --save-profile "Name" --from-mic micKK

Why per-mic capture: each person records to their own isolated track, so the mic a voice came from is a strong speaker prior — the big accuracy lever for the campaign's heavy crosstalk. Voice profiles (actor → character-voice personas) refine that further and are auto-loaded on every transcribe.

Self-correcting profiles: the [[session-ingest]] skill emits a speaker-map.md; shattered-audio retrain --speaker-map ... folds those corrections back into the profiles, so accuracy improves every session.


Bundled scripts (this skill only)

ScriptRoleTested
latest_session_context.pyFast mid-session context bundleyes

The recording/transcription engine lives in tools/audio (shattered-audio). Run its test suite with:

cd tools/audio && .venv/bin/python -m pytest

When not to use it

  • When the user wants to record a session (use `record-session-audio`)
  • When the user wants to transcribe a session (use `transcribe-session-audio`)
  • When the user wants to set up or manage voice profiles (use `manage-voice-profiles`)

Limitations

  • It deliberately skips most operational rules and maintenance tasks during live mode.
  • It defers all canon writes; no session recap, ingest, or page edits mid-session.
  • It does not perform recording, transcription, or voice profile management directly.

How it compares

This skill focuses on immediate, concise assistance during a live game session, prioritizing speed over completeness, and explicitly routes complex audio tasks to specialized skills, unlike a general-purpose assistant.

Compared to similar skills

live-co-dm side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
live-co-dm (this skill)02moReviewIntermediate
ppt-creator752moReviewIntermediate
voicemode82moReviewBeginner
email-composer1010moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

ppt-creator

daymade

Create professional slide decks from topics or documents. Generates structured content with data-driven charts, speaker notes, and complete PPTX files. Applies persuasive storytelling principles (Pyramid Principle, assertion-evidence). Supports multiple formats (Marp, PowerPoint). Use for presentations, pitches, slide decks, or keynotes.

75110

voicemode

mbailey

This skill provides voice interaction capabilities for AI assistants. This skill should be used when users mention voice mode, want to have voice conversations, speak with Claude, check voice service status, or manage voice services like Whisper and Kokoro.

8104

email-composer

davila7

Draft professional emails for various contexts including business, technical, and customer communication. Use when the user needs help writing emails or composing professional messages.

1091

campaign-orchestration

ernijsansons

Create and execute personalized multi-channel campaigns across email, LinkedIn, and phone based on intelligence gathering triggers. Use when planning outreach sequences, optimizing engagement strategies, or executing systematic follow-up campaigns.

690

paid-ads

davila7

When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ad copy,' 'ad creative,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' or 'audience targeting.' This skill covers campaign strategy, ad creation, audience targeting, and optimization.

1558

baoyu-post-to-wechat

JimLiu

Posts content to WeChat Official Account (微信公众号) via API or Chrome CDP. Supports article posting (文章) with HTML, markdown, or plain text input, and image-text posting (图文) with multiple images. Use when user mentions "发布公众号", "post to wechat", "微信公众号", or "图文/文章".

746

Search skills

Search the agent skills registry