podcast-analysis
Analyze podcast episodes from transcripts, audio URLs, or audio files. Use when the user mentions podcast, episode, audio transcript, interview, or provides a podcast file/URL.
When & Why to Use This Skill
The Podcast Analysis skill is a powerful tool designed to automate the extraction of insights from long-form audio content. By processing transcripts, audio files, or direct URLs from platforms like YouTube and Apple Podcasts, it generates structured, high-quality reports. This skill streamlines the workflow for researchers, content creators, and professionals by providing concise summaries, guest insights, and key quotes, effectively turning hours of audio into searchable, actionable knowledge.
Use Cases
- Content Repurposing: Efficiently transform podcast discussions into blog posts, social media snippets, or newsletters by extracting key themes and quotes.
- Professional Learning: Stay updated on industry trends by generating structured summaries of expert interviews, saving time while retaining critical information.
- Research & Documentation: Extract specific data points and guest perspectives from technical or academic podcasts to populate internal knowledge bases.
- Meeting & Interview Analysis: Utilize the transcription and analysis engine to process recorded interviews or webinars for detailed qualitative reporting.
- Personal Knowledge Management: Automatically log and archive insights from favorite shows into a structured 'Podcasts Listened' database for future reference.
| name | podcast-analysis |
|---|---|
| description | Analyze podcast episodes from transcripts, audio URLs, or audio files. Use when the user mentions podcast, episode, audio transcript, interview, or provides a podcast file/URL. |
Podcast Episode Analysis
Analyze podcast episodes to generate structured reports with summaries, guest insights, key quotes, and actionable takeaways. Supports transcript files, audio URLs (YouTube, podcast platforms), and audio files.
When to Use
Activate this skill when the user:
- Mentions "podcast", "episode", "audio", "interview"
- Provides a transcript file path (.txt, .srt, .md)
- Provides an audio file path (.mp3, .m4a, .wav)
- Provides a podcast URL (YouTube, Apple Podcasts, Spotify, etc.)
- Asks to summarize a podcast they listened to
- Wants to extract insights from an interview
- Mentions a specific podcast show or episode
Supported Inputs
- Transcript file:
.txt,.srt,.mdfile with episode transcript - Audio URL: Direct audio link or podcast platform URL (will be transcribed)
- Audio file:
.mp3,.m4a,.wavfile (will be transcribed)
Instructions
Determine input type:
- If file path with text extension (.txt, .srt, .md): Read transcript directly
- If audio file path (.mp3, .m4a, .wav, etc.): Transcribe with Whisper
- If URL provided: Download and transcribe audio with Whisper
- Ask user for input if not provided
For audio transcription (URLs or audio files):
- Use yt-dlp to download audio (supports many podcast platforms)
- Transcribe using OpenAI Whisper API (requires OPENAI_API_KEY in .env)
- Fallback to local Whisper if available
- Note: Transcription may take a few minutes for long episodes
For transcript files:
- Verify file exists and is readable
- Read the transcript content
- Parse SRT format if applicable
If content retrieval fails:
- Inform user about the issue
- For audio: Check OPENAI_API_KEY is set
- For files: Suggest checking file path
- Stop here
Read the analysis prompt from
prompts/podcast.mdExtract episode metadata:
- Podcast name
- Episode title
- Host(s) and guest(s)
- Duration if mentioned
Generate analysis following the prompt structure exactly
Create output directory
reports/podcasts/if neededSave the report to
reports/podcasts/YYYY-MM-DD_sanitized-title.mdUpdate the activity log at
logs/YYYY-MM-DD.md:- Add entry under "## Podcasts Listened" section
- Format:
- [Title](../reports/podcasts/filename.md) - HH:MM
Confirm to user what was saved
Report Format
# [Episode Title]
**Podcast**: [Show Name]
**Host(s)**: [Names]
**Guest(s)**: [Names if any]
**Source**: [file path or URL]
**Date**: YYYY-MM-DD
**Type**: Podcast Episode
---
[Analysis content following prompts/podcast.md structure]
---
## My Notes
[Empty space for user notes]
Error Handling
- If file doesn't exist: Ask for correct path
- If transcript too short: Note but analyze
- If no speaker identification: Best effort analysis
- If prompts/podcast.md missing: Use prompts/default.md
- If audio download fails: Check yt-dlp is installed (
pip install yt-dlp) - If transcription fails: Check OPENAI_API_KEY is configured in .env
- If audio file too large: OpenAI API limit is 25MB, suggest splitting
Requirements for Audio
- yt-dlp for downloading audio (
pip install yt-dlp) - OpenAI API key for transcription (set OPENAI_API_KEY in web/backend/.env)
- Alternatively: Local Whisper installation (
pip install openai-whisper)
Related
- Slash command:
/podcast <filepath-or-url> - Prompt file:
prompts/podcast.md - Output:
reports/podcasts/ - Transcription service:
web/backend/services/transcription.py