New skills (8 total): - revenue-intelligence: Gong Insight Pipeline, Revenue Attribution Mapper, Client Report Generator - conversion-ops: CRO Audit, Survey-to-Lead-Magnet Engine - podcast-ops: Podcast-to-Everything Pipeline - team-ops: Elon Algorithm (Team Performance Audit), Meeting-to-Action Extractor Also adds .gitignore for __pycache__
6.3 KiB
AI Podcast Ops
One podcast episode in, 15-20 content pieces out. Scored, deduplicated, and scheduled.
Most podcast teams publish an episode and maybe pull one audiogram. This pipeline treats every episode as a content mine — extracting narrative arcs, quotable moments, controversial takes, data points, and stories, then generating platform-native content for every channel with viral scoring and deduplication.
What's Inside
🎙️ Podcast-to-Everything Pipeline (podcast_pipeline.py)
End-to-end pipeline that ingests podcast episodes (via RSS feed or raw transcript) and produces a full cross-platform content calendar.
Ingest modes:
- RSS feed → auto-download + Whisper transcription
- Raw transcript file (text, SRT, VTT)
- Batch mode: process last N episodes from a feed
Content generated per episode:
- 3-5 short-form video clip suggestions (with timestamps + hooks)
- 2-3 Twitter/X thread outlines
- 1 LinkedIn article draft
- 1 newsletter section
- 3-5 quote cards (text overlays for social)
- 1 blog post outline with SEO keywords
- 1 YouTube Shorts/TikTok script
Intelligence layer:
- Editorial Brain: LLM-powered extraction of 7 content atom types
- Viral scoring: Novelty × Controversy × Utility (0-100)
- Dedup engine: semantic similarity check against last N days of output
- Calendar generator: auto-schedules by platform best practices
📋 SKILL.md
Claude Code skill file. Drop into your project and ask: "Turn this podcast episode into a content calendar" — it handles the rest.
Quick Start
# 1. Install dependencies
pip install -r requirements.txt
# 2. Set up environment
cp .env.example .env
# Edit .env with your API keys (OPENAI_API_KEY, ANTHROPIC_API_KEY)
# 3. Process latest episode from your podcast RSS
python podcast_pipeline.py --rss "https://feeds.example.com/podcast.xml"
# 4. Or process a local transcript
python podcast_pipeline.py --transcript episode-42.txt
# 5. Batch process last 5 episodes
python podcast_pipeline.py --batch "https://feeds.example.com/podcast.xml" --episodes 5
# 6. Generate weekly content calendar
python podcast_pipeline.py --calendar
# 7. Only keep high-scoring content
python podcast_pipeline.py --rss "https://feeds.example.com/podcast.xml" --min-score 80
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY |
Yes | OpenAI API key (Whisper transcription) |
ANTHROPIC_API_KEY |
Yes | Anthropic API key (content generation) |
OPENAI_LLM_KEY |
Optional | Separate OpenAI key for GPT-based generation |
CLI Options
| Flag | Description | Default |
|---|---|---|
--rss <url> |
Process latest episode from RSS feed | — |
--transcript <file> |
Process a local transcript file | — |
--batch <url> |
Batch process from RSS feed | — |
--episodes <n> |
Number of episodes for batch mode | 5 |
--calendar |
Generate weekly calendar from outputs | — |
--dedup-days <n> |
Days of history for dedup check | 30 |
--min-score <n> |
Minimum viral score to include | 0 |
--output-dir <path> |
Output directory | ./output |
Output Structure
output/
├── episodes/
│ ├── 2024-01-15-episode-title/
│ │ ├── transcript.txt # Clean transcript
│ │ ├── atoms.json # Extracted content atoms
│ │ ├── content_pieces.json # All generated content
│ │ └── calendar.json # Scheduled calendar
│ └── ...
├── calendar/
│ └── week-2024-W03.json # Aggregated weekly calendar
├── content_history.json # Dedup tracking (hashes + embeddings)
└── pipeline_log.json # Run history and performance stats
How It Works
RSS Feed / Transcript
│
▼
┌─────────────────┐
│ 1. INGEST │ Download audio → Whisper → clean transcript
│ │ OR read transcript file directly
└────────┬────────┘
│
▼
┌─────────────────┐
│ 2. EXTRACT │ Editorial Brain: find narrative arcs, quotes,
│ │ controversial takes, data points, stories,
│ │ frameworks, predictions
└────────┬────────┘
│
▼
┌─────────────────┐
│ 3. GENERATE │ For each atom → platform-native content:
│ │ clips, threads, articles, newsletter,
│ │ quote cards, blog outlines, short scripts
└────────┬────────┘
│
▼
┌─────────────────┐
│ 4. SCORE │ Viral potential: novelty × controversy × utility
│ │ Filter below threshold
└────────┬────────┘
│
▼
┌─────────────────┐
│ 5. DEDUP │ Semantic similarity vs last N days
│ │ Remove overlaps, flag near-dupes
└────────┬────────┘
│
▼
┌─────────────────┐
│ 6. SCHEDULE │ Calendar generation with platform-specific
│ │ timing rules and content mix optimization
└─────────────────┘
Viral Scoring
Every generated piece is scored on three dimensions:
| Dimension | Weight | What It Measures |
|---|---|---|
| Novelty | 40% | Is this new or surprising? |
| Controversy | 30% | Will people argue about this? |
| Utility | 30% | Can someone use this immediately? |
Thresholds: 80+ = priority publish, 60-79 = solid fill, 40-59 = gap filler, <40 = cut
Integration with Other Skills
- Content Ops / Expert Panel — Run generated content through the expert panel for quality gating before publish
- SEO Ops — Feed blog outlines to the SEO pipeline for keyword validation
- Outbound Engine — Use podcast insights as personalization hooks in outbound sequences
- Growth Engine — A/B test different content formats from the same episode atoms