Transcribe a meeting recording with speaker diarization using Deepgram API. Use when the user says "transcribe this recording", "расшифруй запись", "транскрибируй встречу", "сделай транскрипт".
Transcribe an audio or video recording of a meeting using the Deepgram API (model nova-3) with automatic speaker diarization, then identify speakers by name.
The input file path is provided as $ARGUMENTS.
Check that .env exists in the project root and contains DEEPGRAM_API_KEY:
grep DEEPGRAM_API_KEY .env
If the key is missing or .env does not exist, read ${CLAUDE_SKILL_DIR}/references/deepgram-setup.md and walk the user through the setup guide. Do not proceed until the key is configured.
Check that the Python virtual environment exists:
test -d .venv || python3 -m venv .venv
Install dependencies:
source .venv/bin/activate && pip install -q deepgram-sdk python-dotenv
Run the transcription script bundled with this skill:
source .venv/bin/activate && python ${CLAUDE_SKILL_DIR}/scripts/transcribe.py $ARGUMENTS
The script will:
<file>.deepgram.json (reused on subsequent runs — no duplicate API charges)<file>.transcript.md with generic speaker labels (Speaker 0, Speaker 1, ...)If a .deepgram.json cache already exists, the script skips the API call and reuses it.
Read the generated .transcript.md file and analyze the conversation to identify speakers:
.assistant/submissions/ for speaker names)Build a proposed mapping like:
Speaker 0 → Арсений Савин (track curator, leads the conversation)
Speaker 1 → Никита Гурняк (speaker, discusses their talk topic)
Present the proposed mapping to the user and ask for confirmation or corrections using AskUserQuestion. Show a few representative quotes from each speaker to help the user verify.
Once the user confirms the speaker mapping, run the relabel command:
source .venv/bin/activate && python ${CLAUDE_SKILL_DIR}/scripts/transcribe.py $ARGUMENTS --relabel '{"Speaker 0": "Confirmed Name", "Speaker 1": "Another Name"}'
This rewrites .transcript.md with real names. The cached .deepgram.json is reused — no API call is made.
Ask the user where to save the final transcript. Suggest a sensible default based on the project structure (e.g., a transcripts/ directory).
Move the final .transcript.md to the chosen location with a descriptive filename.
Report the final file path to the user.
.deepgram.json files can be large (10-50 MB) — consider adding them to .gitignore