| name | shownotes |
| description | Extract transcripts from podcasts and YouTube videos, then create shareable show notes and summaries. Use when the user wants to: (1) Get transcripts from Apple Podcasts or podcast audio files, (2) Extract transcripts from YouTube videos, (3) Create show notes or summaries from audio/video content, (4) Search for podcast episodes or YouTube videos to transcribe, or (5) Turn any audio or video content into structured notes. |
Shownotes
Overview
Facilitate podcast discovery and transcription by helping users find, transcribe, and analyze podcast episodes from Apple Podcasts and YouTube. Extract transcripts using the shownotes.io API service, then create well-formatted show notes, summaries, and shareable content.
Network Configuration Required
IMPORTANT: The shownotes.io API domain must be added to the allowed network domains before this skill can function. The user needs to add plugins.shownotes.io to their network settings.
If API calls fail with proxy or connection errors, inform the user they need to update their network settings to allow plugins.shownotes.io.
Core Operations
1. Apple Podcast Search
Purpose: Search for podcast episodes on Apple Podcasts
When to use: User requests a podcast episode by name, topic, or show
Workflow:
- Ask user what podcast episode they're looking for (if not already provided)
- Use the helper script or make API call to
/apple.phpwith query parameter - Present up to 3 matching episodes with:
- Podcast name
- Episode title
- Release date
- Episode description
- Artwork (display if available, 160px)
- Audio file URL (enclosure) - allow user to click to listen
- Ask user to select which episode they want to transcribe
- CRITICAL: Check
protectfield - iftrue, do NOT allow transcription
Example API Call:
python scripts/shownotes_api.py search-apple "Lex Fridman AI"
Response handling:
- Present search results in organized, scannable format
- Include visual elements (artwork) when available
- If no episodes found, suggest alternative search terms
- Provide clear call-to-action for next steps
2. Audio Transcription Request
Purpose: Request transcription of selected podcast episode
When to use: After user selects an episode from Apple Podcast Search results
Workflow:
- Verify episode is not protected (
protect: false) - Use parameters directly from the selected AppleSearch result:
enclosure: Audio file URLpodcast: Podcast nametitle: Episode title
- Make API call to
/airplugin.phpwith these parameters - Inform user: "This may take a few minutes and you'll receive an email when ready"
- Return the
audiolinkwhere transcript will appear - Guide user to check the link for their transcript
Example API Call:
python scripts/shownotes_api.py transcribe "https://audio-url.mp3" "Podcast Name" "Episode Title"
Error handling:
- If episode is protected, explain transcription is not available
- Set proper expectations about delivery time
- Provide helpful next steps
3. Search Existing Transcripts
Purpose: Search for existing transcripts on shownotes.io database
When to use: User asks if a transcript already exists or wants to retrieve a previously transcribed episode
Workflow:
- Use show name as search parameter
- Call
/captions-shownotes.phpendpoint - Transcript returns with two chunks:
chunk1andchunk2 - Combine chunks for full transcript
Example API Call:
python scripts/shownotes_api.py get-transcript "Show Name"
4. YouTube Video Search
Purpose: Search YouTube for podcast episodes or videos
When to use: User wants to transcribe content from YouTube
Workflow:
- Ask user what show or video they're looking for (if not provided)
- Use show name to search YouTube via
/search-youtube.php - Return array of 3 video results with name and videoid
- Present results to user
- Ask user to select which video to transcribe
Example API Call:
python scripts/shownotes_api.py search-youtube "Huberman Lab"
5. YouTube Transcript Extraction
Purpose: Extract transcript from YouTube video
When to use: After user selects a video from YouTube search results, or provides a YouTube video ID directly
Workflow:
- Verify video ID is exactly 11 characters
- Call
/captions-youtube.phpwith videoid parameter - Transcript returns in two chunks:
chunk1andchunk2 - Combine chunks for complete transcript
- Inform user: "We've also sent an email summary to your inbox"
CRITICAL RULES:
- ONLY use the returned transcript content when making summaries or answering questions
- Do NOT embellish or add content beyond what's in the transcript
- Be factual and stick to the source material
- Acknowledge when working with chunked transcript structure
Example API Call:
python scripts/shownotes_api.py get-youtube "dQw4w9WgXcQ"
Creating Show Notes and Summaries
Once transcript is obtained, create well-formatted content:
Standard Show Notes Format:
- Title and episode information
- Brief overview/summary (2-3 sentences)
- Key topics covered (bullet points)
- Notable quotes (if applicable)
- Timestamps for major sections (if available in transcript)
- Key takeaways
- Resources mentioned
Alternative Formats:
- Executive summary
- Detailed notes with sections
- Q&A format
- Topic-based breakdown
- Action items and insights
Guidelines:
- Only work with actual transcript content returned by API
- Do not create content beyond what the API provides
- Maintain professional but friendly tone
- Present information in organized, scannable format
- Be conversational and helpful
Response Guidelines
User Interaction:
- Be conversational and helpful throughout
- Present search results in organized, scannable format
- Include visual elements (artwork) when available
- Provide clear calls-to-action for next steps
- Maintain professional but friendly tone
Error Handling:
- If no episodes/videos found, suggest alternative search terms
- If episode is protected, explain transcription is not available
- If transcript extraction fails, guide user to try alternative methods
- Always provide helpful next steps
Formatting:
- Use clear headers and sections
- Include relevant metadata (dates, names, etc.)
- Make content scannable with bullet points where appropriate
- Bold key information for emphasis
API Helper Script
Use scripts/shownotes_api.py for all API interactions. The script provides convenience functions for:
search-apple <query>- Search Apple Podcaststranscribe <enclosure> <podcast> <title>- Request transcriptionget-transcript <show>- Get existing transcriptsearch-youtube <show>- Search YouTubeget-youtube <videoid>- Get YouTube transcript
Additional Resources
For complete API documentation, see references/api_reference.md