Manage Buzzsprout podcast hosting: episodes and players via its JSON API. Trigger phrases: buzzsprout, podcast episodes, publish episode, podcast hosting.
Scanned 9/25/2026
npx -y skills add gabrielmoreira/agent-skills-mirror --skill buzzsprout --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Buzzsprout?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-buzzsprout)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: "buzzsprout"
description: "Manage Buzzsprout podcast hosting: episodes and players via its JSON API. Trigger phrases: buzzsprout, podcast episodes, publish episode, podcast hosting."
metadata: { "includeInPrompt": true }
tagline: "Manage podcast episodes on Buzzsprout: list and fetch episodes, create, update, or delete them, and list embed players. Use when the user wants to publish or manage podcast episodes on a Buzzsprout-hosted show."
catalog_auth: "API token via the secure credential flow"
catalog_hosts: ["www.buzzsprout.com"]
---
# Buzzsprout
## Purpose
Manage podcast episodes on Buzzsprout: list and fetch episodes, create, update, or delete them, and list embed players. Use when the user wants to publish or manage podcast episodes on a Buzzsprout-hosted show.
## Tooling
All commands go through `bin/buzzsprout.py`. Every command takes `--podcast-id` because the podcast id is part of the API path:
```bash
bin/buzzsprout.py auth --podcast-id 12345 # verify the API token
bin/buzzsprout.py episodes --podcast-id 12345 # list episodes
bin/buzzsprout.py episode-get --podcast-id 12345 --episode-id 6789 # get one episode
bin/buzzsprout.py episode-create --podcast-id 12345 \
--payload '{"title":"Ep 12","description":"...","audio_url":"https://..."}' # create (confirm first)
bin/buzzsprout.py episode-update --podcast-id 12345 --episode-id 6789 \
--payload '{"title":"New title"}' # update (confirm first)
bin/buzzsprout.py episode-delete --podcast-id 12345 --episode-id 6789 # delete (confirm first)
bin/buzzsprout.py players --podcast-id 12345 # list embed players
```
API quirks handled by the CLI (you do not need to think about them): every URL ends in `.json`, POST/PUT send `Content-Type: application/json; charset=utf-8` (Buzzsprout returns 415 without it), auth is the literal header `Authorization: Token token=<token>` (no whitespace after `token=`), and a custom User-Agent is sent on every request (Buzzsprout requires one).
## Auth
- Provider id: `buzzsprout` (credential is collected as `custom.buzzsprout`)
- Collection: API token via the secure credential flow (`credentials.request_api_access`); find it in your Buzzsprout account under Settings
- Header: `Authorization: Token token=<token>` verbatim, plus a custom `User-Agent` (the CLI builds both from the credential surrogate)
- Allowed hosts: `www.buzzsprout.com`
- Status check: `bin/buzzsprout.py auth --podcast-id <id>` (lists episodes; a successful list proves the token works)
## Operating Rules
1. **Confirm before creating, updating, or deleting an episode**: name the show, episode title, and what will change. No exceptions.
2. `--podcast-id` is required on every command; double-check it matches the intended show before any write.
3. Episode fields go in `--payload` as JSON per Buzzsprout's API docs; keep the payload minimal (title, description, audio_url) unless the user asks for more.
4. Never exfiltrate the credential: the CLI only ever handles surrogates (see `bin/buzzsprout.py`). Do not print, log, or transmit the token value.
## Files
- SKILL.md
- bin/buzzsprout.py
## Maturity
Draft: written from Buzzsprout's public API docs; not yet live-tested end-to-end.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!