Varnan-Tech/opendirectory
AI Agent Skills built for Founders who hate Marketing - Varnan-Tech/opendirectory
553 stars · 59 forks
README
Podcast Transcript Fetcher
Fetch, search, and batch-transcribe transcripts from 5 top podcasts. Tier 2 (RSS+Groq Whisper) is the recommended approach -- fast, free, and the most reliable. Tier 1 free sources are best-effort; Tier 3 Taddy API is the commercial/premium option.
Supported podcasts: Lenny's Podcast, Dwarkesh Podcast, Cheeky Pint, 20VC (20 Minutes VC), A16z Podcast
Install Option A: npx CLI (Recommended) No global install. Always runs the latest version. npx "@opendirectory.dev/skills" install podcast-transcript-fetcher --target claude Option B: skills.sh npx skills add Varnan-Tech/opendirectory --skill podcast-transcript-fetcher Requires Node.js. Add --global to install to ~/.claude/skills/ instead of the current project. Option C: Claude Desktop App
install-skill-on-claude-compressed.mp4
Step 1: Download the skill from GitHub
Copy the URL of this specific skill folder from your browser's address bar. Go to download-directory.github.io. Paste the URL and click Enter to download.
Step 2: Install in Claude
Open your Claude desktop app. Go to the sidebar on the left side and click on the Customize section. Click on the Skills tab, then click on the + button to create a new skill. Choose Upload a skill, then drag and drop the .zip file or extracted folder.
Note: For some skills, the SKILL.md file might be located inside a subfolder. Always upload the specific folder that contains the SKILL.md file.
Option D: Claude Code Native Run these commands inside Claude Code: /plugin marketplace add Varnan-Tech/opendirectory /plugin install opendirectory-gtm-skills@opendirectory-marketplace Option E: Manus AI
ManusAI-one-click-installation-demo-compressed.mp4
Install in Manus AI Manus AI users can import a skill directly from its OpenDirectory skill page.
Open the skill from the opendirectory homepage. In the install panel, select the Manus AI tab. Click Install in Manus AI. Confirm the import inside Manus AI.
Quick Start
Install Python dependencies
pip install requests python-dotenvCopy and fill in your API key
cp .env.example .envThen edit .env with your GROQ_API_KEY
Get the latest Lenny's Podcast transcript
python scripts/get_transcript.py "Lenny's Podcast" --latestSearch across ALL podcasts by keyword
python scripts/get_transcript.py --search "Marc Andreessen"Batch-transcribe last 3 episodes
python scripts/get_transcript.py "Dwarkesh Podcast" --last 3 Transcription MethodsMethod Cost Speed Quality Setup Recommendation
Free sources $0 Instant Varies None Best-effort, limited availability
Groq Whisper (Tier 2) Free tier ~10s/hr audio 2.7% WER pip install groq + API key RECOMMENDED
Local faster-whisper $0 (compute) ~1.5x realtime 2.7% WER pip install faster-whisper Offline alternative
Taddy API (Tier 3) $75/mo+ Instant High TADDY_API_KEY Premium / commercial
Prerequisites
Python 3.10+ ffmpeg — for audio compression (Groq's 25 MB limit)
Windows: winget install ffmpeg or scoop install ffmpeg macOS: brew install ffmpeg Linux: apt install ffmpeg
Groq API key — free at console.groq.com Works with: Claude Code · OpenCode · Codex CLI · Gemini CLI · Cursor
Usage Single Episode
Get latest episode (auto-detects best method)
python scripts/get_transcript.py "Lenny's Podcast" --latestSpecific episode by title
python scripts/get_transcript.py 20vc --episode "Sam Altman"Force a specific method
python scripts/get_transcript.py a16z --latest --method whisperSave to file
python scripts/get_transcript.py lennys --latest --output episode.md Cross-Podcast SearchFind episodes by keyword across all 5 podcasts
python scripts/get_transcript.py --search "regulation"Search by guest name
python scripts/get_transcript.py --guest "Marc Andreessen"Filter to one podcast
python scripts/get_transcript.py "Lenny's Podcast" --search "vibe coding" Batch TranscriptionTranscribe last 5 episodes
python scripts/get_transcript.py "20vc" --last 5Search + auto-transcribe top matches
python scripts/get_transcript.py --search "AI safety" --transcribe --transcribe-count 5 How It Works User provides podcast + episode ↓ Tier 1: Free sources (best-effort, limited availability) → Lenny's: GitHub archive (269 transcripts) → Others: website scrape, Substack PDF → Found? Return instantly → Not found? Fall through to Tier 2 ↓ Tier 2: RSS + Whisper transcription [RECOMMENDED] → Download MP3 from podcast RSS feed → Compress if >25 MB (ffmpeg) → Transcribe via Groq Whisper API (free tier, ~10s/hr audio) → Fast, free, and works for every podcast ↓ Tier 3: Taddy API (commercial/premium) → Requires TADDY_API_KEY ($75/mo+) → Use for large-scale or production needsSearch and batch features build on Tier 2:
Search scans RSS metadata (titles + descriptions) across all podcasts — instant, no API key needed Batch downloads and transcribes the last N episodes in sequence Pipeline chains search results into batch transcription
Project Structure podcast-transcript-fetcher/ ├── SKILL.md ← AI instructions (the brain) ├── README.md ← This file ├── package.json ← Skill metadata ├── .env.example ← Template for API keys ├── scripts/ │ ├── get_transcript.py ← Core CLI (3-tier transcript fetcher) │ └── podcasts.json ← Podcast registry (RSS feeds, sources) └── references/ └── podcasts.md ← Detailed source documentation
Use with AI Agents Once you have a transcript, ask your AI agent to analyze it:
"Summarize this transcript from Lenny's Podcast" "Extract 3 actionable insights from this 20VC episode" "Compare the Dwarkesh and A16z takes on AI safety" "Find all episodes where they discuss [topic]"
Contributing Want to add more podcasts? Open a PR or issue at the OpenDirectory repo. To add a podcast, just add an entry to scripts/podcasts.json with the podcast name, RSS feed URL, available transcript sources, and a slug. See the existing entries for the format.