Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Podcast discovery for Wherever.Audio -- find shows and episodes, generate wherever.audio links.
Podcast discovery for Wherever.Audio -- find shows and episodes, generate wherever.audio links.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
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.).
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.
Your job is to produce a working Wherever link (/show or /listen) as soon as enough information is available. Success condition: Resolve a valid RSS URL from Clawsica. If contentScope = podcast-show, immediately return a show link. 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.
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.
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.
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.
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")
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.
Search for podcast shows using the public Clawsica endpoint. This returns show metadata including RSS feed URLs. 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.
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.
For episode lookup, use local tooling instead of manual XML parsing: python scripts/search_feed_episodes.py --mode search --rss-url "https://feeds.feedburner.com/radiolab" --query "space stories" --limit 5 Optional semantic rerank: 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.
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.
If the user asks for latest episodes from a known feed: 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: 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): 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) Install dependencies: pip install -r scripts/requirements.txt 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.
When a link is available, respond in this order: The Wherever URL (first line). One short line identifying the resolved show/episode. Optional one-line note only if there was ambiguity. Keep responses concise. Do not include raw metadata dumps unless explicitly requested.
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.
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.
"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."
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.