From d1e282a95dd943e094e2fe6b73f77ed6c4d02962 Mon Sep 17 00:00:00 2001 From: Magnus Hedemark Date: Sun, 30 Aug 2026 01:52:43 -0400 Subject: [PATCH] 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> --- references/skill-triggers.md | 2 ++ transistor/references/episode-publish-lifecycle.md | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/references/skill-triggers.md b/references/skill-triggers.md index 0d9426c..606d5d8 100644 --- a/references/skill-triggers.md +++ b/references/skill-triggers.md @@ -24,6 +24,8 @@ Each skill's `description` field is the canonical routing contract. This conveni | "Open Library", "openlibrary", "book search", "ISBN lookup", "author records", "work details", "book editions", "book ratings", "cover image" | [openlibrary](../openlibrary/SKILL.md) | | "PeerTube", "peertube", "federated video", "SepiaSearch", "decentralized video platform", "PEERTUBE_SERVER", "my PeerTube instance" | [peertube](../peertube/SKILL.md) | | "weather", "forecast", "temperature", "is it raining", "Tempest", "WeatherFlow", "my station" | [tempest](../tempest/SKILL.md) | +| "Transistor", "Transistor.fm", "podcast hosting", "podcast episodes", "episode publishing", "private podcast subscribers", "podcast download analytics" | [transistor](../transistor/SKILL.md) | +| "Trakt", "Trakt.tv", "trending movies", "trending shows", "popular movies", "anticipated movies", "what's trending", "TRAKT_CLIENT_ID" | [trakt](../trakt/SKILL.md) | | "TMDb", "The Movie Database", "movie search", "trending movies", "upcoming TV releases", "TMDB_ACCESS_TOKEN" | [tmdb](../tmdb/SKILL.md) | | "traefik", "reverse proxy", "load balancer", "API gateway", "Let's Encrypt", "ACME", "Docker routing", "traefik.yml", "entry point", "middleware", "TLS termination", "forward auth", "rate limit" | [traefik](../traefik/SKILL.md) | | "reverse-engineer", "understand this codebase", "PRD from code", "architecture document", "architecture health", "coupling analysis", "modularity", "decomposition readiness", "data ownership map", "distributed workflow analysis", "reconciliation path" | [software-architecture-analysis](../software-architecture-analysis/SKILL.md) | diff --git a/transistor/references/episode-publish-lifecycle.md b/transistor/references/episode-publish-lifecycle.md index 79d10f9..cc9536b 100644 --- a/transistor/references/episode-publish-lifecycle.md +++ b/transistor/references/episode-publish-lifecycle.md @@ -105,7 +105,12 @@ transistor episode-publish --id The bundled CLI guards step 3: if `attributes.media_url` is still empty it refuses to publish (an audio-less item would go out to every feed reader) -and prints the attach-audio recipe; `--force` overrides. +and prints the attach-audio recipe; `--force` overrides. The guard is scoped +to `--status published` (the default) — scheduling intentionally precedes +audio attach, so a `scheduled` publish needs no audio yet — and it performs +one pre-publish `GET /episodes/:id`, which consumes one of the +10-requests-per-10-seconds rate-limit slots: worth counting in bulk +re-publish loops. ## Worked recipe: raw curl