mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-11 19:47:12 +03:00
4.5 KiB
4.5 KiB
name, description, license, compatibility, metadata
| name | description | license | compatibility | metadata | ||||
|---|---|---|---|---|---|---|---|---|
| transistor | Manage Transistor.fm podcast hosting from the terminal: view shows, list episodes, check analytics, and get subscriber counts. Use when the user mentions Transistor, podcast hosting, podcast analytics, show management, or episode tracking. | MIT | Requires TRANSISTOR_API_KEY env var (from Settings → API Keys in the Transistor.fm dashboard), Python 3.8+, and the `requests` library. Uses the Transistor.fm v1 REST API with JSON:API format responses. |
|
transistor-cli — Transistor.fm Podcast Hosting
Manage your Transistor.fm podcast shows, episodes, subscribers, and analytics from the terminal. Uses the Transistor.fm v1 REST API.
Setup
- Get your API key from Transistor.fm: Settings → API Keys (bottom of the page)
- Set the environment variable:
export TRANSISTOR_API_KEY="your-transistor-api-key"
--help and --dry-run work without credentials.
Essential Commands
user — Current user info
transistor-cli user # email and timezone
transistor-cli user --json # machine-readable
shows — List all shows
transistor-cli shows # all shows with episode/subscriber counts
transistor-cli shows --json # machine-readable with IDs
Shows title, episode count, subscriber count, and ID.
episodes — List episodes
transistor-cli episodes # last 20 episodes across all shows
transistor-cli episodes --show 12345 # filter by show ID
transistor-cli episodes --limit 50 # more results
transistor-cli episodes --show 12345 --json # machine-readable
Get show IDs from transistor-cli shows --json. Shows season/episode numbers, title, status, duration, and publish date.
analytics — Download and play analytics
transistor-cli analytics # totals across all shows
transistor-cli analytics --show 12345 # filter by show ID
transistor-cli analytics --json # machine-readable with full totals
Shows total downloads and plays (when available).
Global Flags
All flags work in any position:
transistor-cli --json shows # flag before subcommand
transistor-cli shows --json # flag after subcommand
transistor-cli --dry-run episodes # preview (no API call)
transistor-cli --force episodes --limit 100 # override safety checks
transistor-cli --quiet shows # suppress non-essential output
transistor-cli --verbose episodes # detailed logging
Extra flag vs other CLIs: --force overrides internal safety checks (e.g. large limits).
Known Gotchas
- API key from Settings → API Keys — Not from the user profile or account page. Navigate to Settings → API Keys at the bottom of the Transistor.fm dashboard.
- JSON:API format — Transistor uses the JSON:API spec. All responses are nested under a
datakey, and attributes are underdata[].attributes. The CLI unwraps these for display, but raw JSON output shows the full JSON:API structure. - Show IDs are required for filtered queries — Use
transistor-cli shows --jsonto get show IDs first, then pass them to--showfor episodes and analytics. - Pagination uses cursor-based pagination — The
--limitflag controls the page size. Default is 20 for episodes. The API returnsmetawith pagination info. - Analytics are totals only — The analytics endpoint returns aggregate totals (downloads, plays). Per-episode analytics are not available via this CLI.
- Transistor API is append-only via this CLI — The CLI implements GET endpoints for reading. Creating/updating shows or episodes is not covered here.
- Rate limits — Transistor.fm has rate limits. The CLI does not auto-retry on 429 responses.
References
- scripts/transistor-cli — The CLI binary. Built following the cli-builder patterns:
--json,--dry-run,--force,--quiet,--verbose, dual-output viaemit(), lazy auth. - Transistor API Docs — Official API reference.
- Transistor.fm Dashboard — Settings → API Keys for your API key.