podcast
Discover, research, script, fact-check, and generate podcast episodes automatically. Multi-source topic discovery, LLM script generation, citation enforcement, ElevenLabs TTS. Zero vendor lock-in - works with any RSS feed, S3 or local storage.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/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)
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-harshilmathur-custom-podcast-discovery": {
"enabled": true,
"auto_update": true
}
}
}