Custom Podcast Discovery & Generation
Discover, research, script, fact-check, and generate podcast episodes automatically. Multi-source topic discovery, LLM script generation, citation enforcemen...
Harshil Mathur
@harshilmathur
What This Skill Does
End-to-end podcast production pipeline that discovers trending topics from configurable RSS feeds and APIs, researches them via web search, generates fact-checked scripts with enforced citations, and produces audio through ElevenLabs TTS. Outputs can be saved locally or uploaded to S3.
Replaces manual podcast research, scripting, fact-checking, and audio production workflows with a single automated pipeline that enforces source citations.
When to Use It
- Generate a podcast episode about a trending AI topic discovered from Hacker News
- Produce a weekly science podcast by pulling topics from Nature journal RSS feeds
- Create a fact-checked podcast script with inline source citations for a specific subject
- Convert a researched topic into a full podcast episode including TTS audio
- Automate daily podcast topic discovery from multiple RSS sources and save ranked results
- Resume a partially completed podcast pipeline from the audio generation stage
Install
$ openclaw skills install @harshilmathur/custom-podcast-discoveryPodcast Discovery & Generation
Automated end-to-end podcast production pipeline. Discovers trending topics from configurable sources, researches them deeply, generates fact-checked scripts with citations, and produces audio via ElevenLabs TTS.
Triggers
Use this skill when user asks to:
- "Generate a podcast"
- "Make a podcast episode"
- "Discover podcast topics"
- "Create an audio episode about X"
- "Find topics for podcast"
- "Research and script a podcast"
- "Produce a podcast episode"
Quick Start
1. Configure
cd ~/.openclaw/skills/podcast
cp config.example.yaml config.yaml
# Edit config.yaml: add sources, interests, voice, storage
2. Discover Topics
python3 scripts/discover.py --config config.yaml --limit 10
3. Run Pipeline
python3 scripts/pipeline.py --config config.yaml --topic "Your Topic" --mode manual
Configuration
Minimal config.yaml:
sources:
- type: rss
url: https://aeon.co/feed.rss
name: Aeon
- type: hackernews
min_points: 200
interests:
- AI/Tech
- Science
voice:
voice_id: "<your-voice-id>"
storage:
type: local
path: ./output
Storage options:
type: s3— Upload to S3 (requires bucket, region)type: local— Save to local directory
Pipeline Stages
- Discovery — Fetch and rank topics from sources
- Research — Web search framework (OpenClaw worker populates)
- Script — Generate script with LLM, enforce
[Source: URL]citations - Verify — Cross-check claims against research sources
- Audio — Strip citations, call ElevenLabs TTS
- Upload — Save to S3 or local storage
Each stage can run standalone or as full pipeline.
Usage Examples
Discover only:
python3 scripts/discover.py --config config.yaml --limit 5 --output topics.json
Full pipeline (auto mode):
python3 scripts/pipeline.py --config config.yaml --mode auto
Specific topic:
python3 scripts/pipeline.py --config config.yaml --topic "AI Reasoning" --mode manual
Resume from stage:
python3 scripts/pipeline.py --config config.yaml --resume-from audio
Source Types
Built-in:
rss— Generic RSS/Atom feed (any URL)hackernews— HN API with point/comment filtersnature— Nature journal (sections: news, research, biotech, medicine)
Add custom RSS:
sources:
- type: rss
url: https://yourfeed.com/rss
name: Your Source
category: Your Category
Output Files
output/
├── discovery-YYYY-MM-DD.json # Ranked topics
├── research-YYYY-MM-DD-slug.json # Research data
├── script-YYYY-MM-DD-slug.txt # Script with citations
├── verification-YYYY-MM-DD.json # Fact-check report
├── tts-ready-YYYY-MM-DD-slug.txt # Clean text for TTS
├── episode-YYYY-MM-DD-slug.mp3 # Final audio
└── pipeline-state-YYYY-MM-DD.json # Pipeline state
Integration with OpenClaw
For discovery: Run directly (no tools needed)
For full pipeline: Spawn OpenClaw worker with:
web_search()— Research stage- LLM access — Script generation (Claude Sonnet recommended)
elevenlabs_text_to_speech— Audio generation
Worker pattern:
cd ~/.openclaw/skills/podcast
# Source environment if available
[ -f ~/.openclaw/env-init.sh ] && source ~/.openclaw/env-init.sh
python3 scripts/pipeline.py --config config.yaml --mode auto
Citation Enforcement
Every factual claim in scripts MUST have [Source: URL] citation:
✅ Correct:
The market grew to $10.2 billion in 2025 [Source: https://example.com/report].
❌ Incorrect:
The market grew significantly.
The verify script cross-references citations against research sources and blocks audio generation if unverified claims are found.
Cron Integration
Daily discovery (8 AM):
schedule: "0 8 * * *"
payload: |
cd ~/.openclaw/skills/podcast
python3 scripts/discover.py --config config.yaml --limit 10 \
--output data/discovery-$(date +%Y-%m-%d).json
Weekly full pipeline:
schedule: "0 9 * * 1"
payload: |
cd ~/.openclaw/skills/podcast
[ -f ~/.openclaw/env-init.sh ] && source ~/.openclaw/env-init.sh
python3 scripts/pipeline.py --config config.yaml --mode auto
Key Features
✅ Zero vendor lock-in — Use any RSS feed, any storage ✅ No external dependencies — Pure Python stdlib (except ElevenLabs for TTS) ✅ Citation enforcement — Every claim must have source ✅ Fact verification — Cross-check against research ✅ Pluggable sources — Easy to add new topic sources ✅ Resume support — Restart from any stage ✅ Manual or auto — Review each stage or run end-to-end
Troubleshooting
No topics found:
- Check RSS URLs are valid
- Verify interests match source content
- Lower
min_pointsfor Hacker News
Verification fails:
- Ensure research.json has sources
- Check script has
[Source: URL]after claims - URLs must match research sources
S3 upload fails:
- Verify AWS credentials
- Check bucket exists and region matches
- Ensure bucket policy allows public read
Files
SKILL.md— This fileREADME.md— Detailed documentationconfig.example.yaml— Configuration templatescripts/— Pipeline scriptssources/— Source implementationstemplates/— Prompt templates
License
MIT — Open source, community-maintained OpenClaw skill
Top skills in this category
Larry
@olliewazzaAutomate TikTok slideshow marketing for any app or product. Researches competitors, generates AI images, adds text overlays, posts via Postiz, tracks analyti...
ATXP
@emilioaccAccess ATXP paid API tools for web search, AI image generation, music creation, video generation, X/Twitter search, email, and agent account management. Use...
Agent Reach
@panniantongGive your AI agent eyes to see the entire internet. 7500+ GitHub stars. Search and read 14 platforms: Twitter/X, Reddit, YouTube, GitHub, Bilibili, XiaoHongS...
Antigravity Image Generator
@ipedraxGenerate images using the internal Google Antigravity API (Gemini 3 Pro Image). High quality, native generation without browser automation.
Manage LinkedIn presence via the LinkedIn API. Create posts and articles, manage comments, handle media uploads, search ad targeting entities, and retrieve u...