Files
magnus919_agent-skills/transistor
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> d1e282a95d docs(transistor): scope publish audio-guard and add missing trigger rows
Document that the publish audio-guard fires only for --status published
(scheduling intentionally precedes audio attach) and that its pre-publish
episode GET consumes one rate-limit slot, relevant to bulk re-publish
loops.

Add references/skill-triggers.md rows for transistor and trakt, the two
thickened skills missing from the trigger index; phrasing follows each
skill frontmatter description.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-30 01:52:43 -04:00
..

Transistor.fm — Podcast Hosting from the Terminal

Manage your Transistor.fm podcast account over its official API: browse shows and episodes, publish episodes, pull download analytics, and run private-podcast subscriber lists — all from the terminal.

Why Install This Skill

When your agent loads this skill, it can operate your Transistor.fm podcast hosting without the dashboard, including the part no other tool gives an agent: the full episode publish lifecycle.

  • Publish episodes end to end — create a draft, attach audio (URL or authorized local-file upload), then publish or schedule it through Transistor's dedicated publish endpoint
  • Browse your catalog — shows, episodes, drafts, season/number metadata, with JSON:API compound documents unwrapped for jq
  • Track downloads — per-day analytics windows for shows and episodes, summed and ready for reports
  • Run private podcasts — list, add (single or batch), and revoke subscribers; register webhooks so you push instead of poll
  • Stay under the rate limit — dry-run request plans and clear 429 guidance (Transistor allows 10 requests per 10 seconds)

What You Get

Path Purpose
SKILL.md Command reference, publish-lifecycle recipe, jq guidance, gotchas
scripts/transistor Bundled Python CLI for the Transistor.fm v1 API (read + write commands)
scripts/test_transistor.py Offline mocked test suite (canned JSON:API documents, zero network)
references/auth-and-basics.md API-key auth, JSON:API envelope and jq patterns, pagination, errors
references/endpoint-catalog.md Every endpoint's method, path, and parameters
references/episode-publish-lifecycle.md Draft → audio → publish/schedule/unpublish, exact request shapes
references/gotchas-and-recipes.md Symptom → cause → fix guide plus multi-step workflows

Quick Start

export TRANSISTOR_API_KEY="<API_KEY>"   # Dashboard -> Account -> API Access

transistor user                          # verify the key
transistor shows                         # list your podcasts
transistor episodes --status draft       # what is not out yet?

# Publish pipeline: create (draft) -> attach audio -> publish
EP=$(transistor episode-create --show <SHOW_ID> --title "Ep 12" \
     --audio-url "https://example.com/ep12.mp3" --json | jq -r '.id')
transistor episode-publish --id "$EP"

--help and --dry-run work without an API key; preview any request with transistor --dry-run episode-publish --id 123.

Triggers

Load this skill when the user mentions Transistor or Transistor.fm, podcast hosting, publishing a podcast episode, scheduling or unpublishing episodes, podcast download analytics, or private podcast subscribers.

Requirements

Python 3.8+ with requests, plus a Transistor.fm API key (Account page → API Access). The key carries your dashboard role per podcast; treat it like a password. No other services or credentials are involved.