podcast-discovery
Podcast discovery for Wherever.Audio -- find shows and episodes, generate wherever.audio links.
Best use case
podcast-discovery is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Podcast discovery for Wherever.Audio -- find shows and episodes, generate wherever.audio links.
Teams using podcast-discovery should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/podcast-discovery/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How podcast-discovery Compares
| Feature / Agent | podcast-discovery | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Podcast discovery for Wherever.Audio -- find shows and episodes, generate wherever.audio links.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agent for Product Research
Browse AI agent skills for product research, competitive analysis, customer discovery, and structured product decision support.
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
SKILL.md Source
# podcast-discovery
Podcast discovery skill for Wherever.Audio. Given a natural-language query, find the right podcast show or episode and return a playable wherever.audio link.
Do NOT use this skill for non-podcast queries (general web search, music, etc.).
## Trigger phrases
Use this skill immediately when the user message includes podcast lookup language such as:
- "find podcast", "find the podcast", "look up podcast", "search podcasts"
- "find episode", "podcast episode about", "interview episode", "latest episodes"
- "give me a wherever link", "wherever link", "wherever.audio link", "listen link", "show link"
- named show/host requests like "Radiolab", "Lex Fridman", "Hard Fork", or "Joe Rogan"
When triggered, prioritize link construction over metadata reporting.
## Primary Objective (Highest Priority)
Your job is to produce a working Wherever link (`/show` or `/listen`) as soon as enough information is available.
Success condition:
1. Resolve a valid RSS URL from Clawsica.
2. If `contentScope = podcast-show`, immediately return a show link.
3. If `contentScope = podcast-episode` and a matching item is found, immediately return an episode link.
Do not stop at metadata, search summaries, or candidate lists if a valid link can be constructed.
## Link Templates
Episode (contentScope = podcast-episode):
`https://wherever.audio/listen?rssUrl={rss_url}&itemGuid={guid}&fallbackLink={fallback}`
Show (contentScope = podcast-show):
`https://wherever.audio/show?rssUrl={rss_url}`
All `{placeholder}` values must be URL-encoded.
## Action Policy: Link-First, Ask-Last
Default behavior is to execute and return a link in the same response.
Only ask a follow-up question when one of these is true:
- You cannot determine whether the user wants a show vs episode.
- Clawsica returns no plausible show/RSS result after retries.
- Multiple episode candidates are similarly strong and no clear best match exists.
If none of the above apply, do not ask for confirmation. Return the link.
## Token Budget Policy
- Run local tooling first and send only compact result fields to the model.
- Never send raw RSS XML, full feed dumps, or large metadata blobs to the model.
- For episode matching, pass only top-ranked candidate rows needed for decision-making and link construction.
## Workflow
### Step 1 — Classify the query
Before searching, classify the user's query along two dimensions:
**intentType** — what kind of request?
- `specific-podcaster` — user names a host or show (e.g. "Lex Fridman", "Radiolab")
- `specific-topic` — user describes a topic or guest (e.g. "Geoffrey Hinton interview about AI")
- `discovery` — broad exploration (e.g. "best science podcasts", "podcasts about space")
**contentScope** — what are they looking for?
- `podcast-show` — a show/feed (e.g. "find the Radiolab podcast")
- `podcast-episode` — a specific episode (e.g. "the Radiolab episode about colors")
### Step 2 — Resolve the show
**If intentType is `specific-podcaster`** (show name is known):
Go directly to Clawsica (step 3). The query likely contains the show title.
**If intentType is `specific-topic` or `discovery`** (show name is unknown):
Search the web first to discover likely podcast titles, then proceed to Clawsica with those titles.
### Step 3 — Clawsica show search
Search for podcast shows using the public Clawsica endpoint. This returns show metadata including RSS feed URLs.
```bash
curl -s "https://clawsica.wherever.audio/p?q=radiolab"
```
Returns a JSON array of show objects. Each object includes a `url` field containing the RSS feed URL.
**Important:** Only use the `url` field from Clawsica results as the RSS URL. Do NOT substitute web page URLs, Apple Podcasts links, Spotify links, or any other URL — Wherever.Audio only understands RSS feed URLs. If Clawsica returns no results and you cannot obtain a definitive RSS feed URL, tell the user you were unable to find the podcast rather than guessing with a non-RSS URL.
If Clawsica returns no results, try alternate spellings or broader terms. See `references/CLAWSICA_API.md` for the full API reference.
### Step 4 — Branch by contentScope
**If contentScope is `podcast-show`:**
Construct a show link using the RSS URL from step 3 and present it immediately. Do not ask for additional confirmation. Done.
Example: `https://wherever.audio/show?rssUrl=https%3A%2F%2Ffeeds.feedburner.com%2Fradiolab`
**If contentScope is `podcast-episode`:**
Continue to step 5.
### Step 5 — Run local feed tooling (required for episode lookup)
For episode lookup, use local tooling instead of manual XML parsing:
```bash
python scripts/search_feed_episodes.py --mode search --rss-url "https://feeds.feedburner.com/radiolab" --query "space stories" --limit 5
```
Optional semantic rerank:
```bash
python scripts/search_feed_episodes.py --mode search --rss-url "https://feeds.feedburner.com/radiolab" --query "space stories" --limit 5 --semantic
```
Compact `search` output contract:
- top-level keys: `mode`, `rssUrl`, `query`, `semanticUsed`, `candidateCount`, `candidates`
- candidate keys: `guid`, `title`, `pubDate`, `fallbackLink`, `score`
Use these candidate rows to select the best episode. Do not return feed-level metadata unless explicitly requested.
Selection policy:
- Auto-pick when the top `score` is clearly stronger than the second candidate.
- If top candidates are near-tied, ask one disambiguation question.
### Step 6 — Construct the episode link
Build a wherever.audio episode link using values from the selected `search` candidate:
- `rss_url` — the feed URL from step 3
- `guid` — candidate `guid`
- `fallback` — candidate `fallbackLink`
Example:
```
https://wherever.audio/listen?rssUrl=https%3A%2F%2Ffeeds.feedburner.com%2Fradiolab&itemGuid=some-guid-value&fallbackLink=https%3A%2F%2Fradiolab.org%2Fepisode
```
Present the link to the user along with the episode title and publish date.
### Optional utilities — newest and overview
If the user asks for latest episodes from a known feed:
```bash
python scripts/search_feed_episodes.py --mode newest --rss-url "https://feeds.feedburner.com/radiolab" --limit 10
```
Compact `newest` output contract:
- top-level keys: `mode`, `rssUrl`, `count`, `items`
- item keys: `guid`, `title`, `pubDate`, `fallbackLink`
If the user asks for feed-level metadata:
```bash
python scripts/search_feed_episodes.py --mode overview --rss-url "https://feeds.feedburner.com/radiolab"
```
Compact `overview` output contract:
- `mode`, `rssUrl`, `feedTitle`, `feedDescriptionShort`, `author`, `language`, `lastBuildDate`, `itemCount`
Use these utility modes to answer the request directly while keeping payloads compact.
Run the local feed tool (for developers/testing)
Path: scripts/search_feed_episodes.py (relative to the skill directory)
Requirements: scripts/requirements.txt (feedparser, rapidfuzz, pytest)
Quick start (recommended, cross-platform):
1) Create and activate a virtual environment in the skill folder:
python3 -m venv .venv
source .venv/bin/activate # macOS / Linux.venv\Scripts\activate # Windows (PowerShell)
2) Install dependencies:
pip install -r scripts/requirements.txt
3) Run the tool (examples):
python scripts/search_feed_episodes.py --mode overview --rss-url "<RSS_URL>"
python scripts/search_feed_episodes.py --mode newest --rss-url "<RSS_URL>" --limit 10
python scripts/search_feed_episodes.py --mode search --rss-url "<RSS_URL>" --query "attack on Iran" --limit 5 --semantic
Notes:
The tool prints compact JSON matching the skill's expected contracts.
Make the script executable (chmod +x scripts/search_feed_episodes.py) for direct execution.
Use the venv if system pip is restricted.
## Response Format
When a link is available, respond in this order:
1. The Wherever URL (first line).
2. One short line identifying the resolved show/episode.
3. Optional one-line note only if there was ambiguity.
Keep responses concise. Do not include raw metadata dumps unless explicitly requested.
## Prohibited Behavior
- Do not return only webpage metadata when a Wherever link can be built.
- Do not ask "Should I proceed?" if required link parameters are already known.
- Do not present candidate options unless disambiguation is truly required.
## Privacy
- Do NOT expose internal Clawsica infrastructure details beyond what is documented here.
- The Clawsica search endpoint does not require authentication.
- See `references/CLAWSICA_API.md` for the full API reference.
- See `references/LOCAL_EPISODE_SEARCH.md` for local feed-tool commands and schema details.
## Example prompts
- "Find a Geoffrey Hinton interview episode and give me a wherever.audio link."
- "What episodes cover Radiolab's space stories?"
- "Search for BBC science podcasts about AI."
- "Give me the Lex Fridman podcast."
- "Find the podcast Hard Fork."Related Skills
aibrary-podcast-summary
[Aibrary] Generate a book summary podcast script in a single-narrator storytelling style. Use when the user wants to turn a book into a podcast, create an audio summary of a book, or generate a summary-style podcast script. The output is a narrated monologue that distills a book's key ideas into an engaging 10-15 minute listening experience.
aibrary-podcast-ideatwin
[Aibrary] Generate a book Idea Twin podcast script — an intellectually stimulating debate between the user's AI twin and a book expert. Based on Vygotsky's Zone of Proximal Development theory, the AI twin mirrors the user's thinking style while the expert progressively challenges their understanding. Use when the user wants to create an Idea Twin podcast, debate a book's ideas with an AI version of themselves, or explore a book through intellectual sparring.
aibrary-podcast-dialogue
[Aibrary] Generate a book dialogue podcast script with two speakers — a host and a guest expert — discussing the book's ideas in a natural conversation. Use when the user wants to create a conversational podcast about a book, turn a book into a two-person discussion, or generate a dialogue-style podcast script. Different from aibrary-podcast-summary (single narrator) and aibrary-podcast-ideatwin (debate format).
product-discovery
Use when validating product opportunities, mapping assumptions, planning discovery sprints, or testing problem-solution fit before committing delivery resources.
ERC-8004 Agent Discovery
Search and discover 43k+ AI agents registered via ERC-8004. Find agents by skill, chain, or reputation. View leaderboards, ecosystem stats, and monitor metadata changes.
openclaw-podcast
Transform your OpenClaw workspace into personalized AI-powered podcast briefings. Get daily audio updates on your work, priorities, and strategy in 8 compelling styles—from documentary narrator to strategic advisor. Connects directly to your agent's memory and files. Includes 3 free hours of podcast generation with your Superlore.ai API key. Schedule morning, midday, or evening briefings that keep you informed without reading screens.
podcast-production-ops
从选题到上线整理播客生产流程,生成 show notes、标题、剪辑要点与发布清单。;use for podcast, production, content workflows;do not use for 虚构嘉宾观点, 公开未授权片段.
---
name: article-factory-wechat
humanizer
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
tavily-search
Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.
baidu-search
Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.