podcast-publishing-assistant
Skill176 starsChanged 7 months agoMITView on GitHub
Transcribe long-form audio, YouTube videos, podcasts, interviews, or panels; summarize them; extract chapter markers; and draft publishing assets like titles, YouTube descriptions, show notes, and tweet/X copy. Use when a user shares a YouTube link or audio/video file and asks for transcription, diarization, summaries with timestamps, chapter markers, show notes, titles, descriptions, promo copy, or social posts. Especially use for Whisper-based workflows, source-audio-first podcast processing, and any request to turn a recorded conversation into publishable assets.
- Reads credentials
We split this skill into the rules it gives an agent
24 rules. About 0 are common, 23 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈23
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use this skill for podcast or interview publishing workflows.
- Distinctive: line 17
Prefer source audio over platform captions.
- Distinctive: line 18
Do not rely on YouTube captions unless the user explicitly asks for the fastest possible rough pass.
- Distinctive: line 20
If the user has a formatting preference, preserve it exactly on later turns.
- Distinctive: line 21
Default chapter output for swyx: YouTube timestamp format only, start times only, followed by a 2 to 10 word headline.
- Distinctive: line 27
Prefer MP3 output for compatibility.
- Distinctive: line 32
If the file is too large, compress before retrying, for example mono 16 kHz MP3 around 32 kbps.
- Distinctive: line 33
If API transcription still fails, fall back to local Whisper.
- Very specific: line 34
If a script exists but is not executable, invoke it with bash rather than failing on permissions.
- Distinctive: line 36
Keep the user updated during long jobs.
- Distinctive: line 38
If a fallback happens, say what failed in one line and continue.
- Distinctive: line 49
Prefer real timestamps if the transcription source provides segments.
- Distinctive: line 50
If the transcript is a single plain-text blob, estimate coarse chapter times conservatively and label them as approximate if needed.
- Distinctive: line 59
When speaker labels are needed without true diarization, reconstruct heuristically from turn-taking and identify this clearly as …
- Distinctive: line 63
When a user wants publishing help, default to a reusable launch pack.
- Distinctive: line 69
Prefer thesis first, guest second.
- Distinctive: line 70
Keep them specific, not generic.
- Distinctive: line 89
Use YouTube timestamp format only, start times only, 2 to 10 word headlines.
- Distinctive: line 100
Prefer clean, arguable lines with strong standalone meaning.
- Distinctive: line 107
Prefer concrete bullets over abstract topic labels.
- Distinctive: line 110
If the audience is technical, specificity beats hype.
- Distinctive: line 130
Prefer speed first, but do not fake certainty.
- Distinctive: line 131
If a transcript path is broken, say what failed and continue with the next fallback.
- Distinctive: line 133
If the user says a format like “always give me YouTube timestamp format”, treat that as a sticky preference for the rest of the task.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Podcast Publishing Assistant
Use this skill for podcast or interview publishing workflows.
Apply swyx-writing to summaries, titles, descriptions, show notes, newsletter
blurbs, and social copy. Do not apply it to verbatim transcripts or speaker
labels. This skill owns transcription, timing, chapter, and publishing-pack
requirements.
Core rules
- Prefer source audio over platform captions.
- Do not rely on YouTube captions unless the user explicitly asks for the fastest possible rough pass.
- For Whisper or API transcripts, be honest about uncertainty. Do not claim true diarization unless the tool actually produced it.
- If the user has a formatting preference, preserve it exactly on later turns.
- Default chapter output for swyx: YouTube timestamp format only, start times only, followed by a 2 to 10 word headline.
Workflow
- Fetch source audio first.
- For YouTube URLs, use
yt-dlpto extract audio. - Prefer MP3 output for compatibility.
- For YouTube URLs, use
- Transcribe with a fallback ladder.
- First try the OpenAI Whisper API when
OPENAI_API_KEYis available. - The OpenAI audio transcription upload cap is about 25 MB. Expect long episodes to exceed it.
- If the file is too large, compress before retrying, for example mono 16 kHz MP3 around 32 kbps.
- If API transcription still fails, fall back to local Whisper.
- If a script exists but is not executable, invoke it with
bashrather than failing on permissions.
- First try the OpenAI Whisper API when
- Keep the user updated during long jobs.
- Brief progress notes are enough: downloading, compressing, transcribing, packaging.
- If a fallback happens, say what failed in one line and continue.
- Produce the publishing pack.
- Summary tuned for someone deciding whether to watch or listen.
- Key takeaways or key arguments.
- 5 title ideas when asked.
- 5 description ideas when asked.
- Chapter timestamps.
- Optional: tweet thread, show notes, key quotes, newsletter blurb.
- Package timestamps correctly.
- Prefer real timestamps if the transcription source provides segments.
- If the transcript is a single plain-text blob, estimate coarse chapter times conservatively and label them as approximate if needed.
- For swyx, default to this exact style:
0:00Intro and origin story3:30How the brand grew
Transcript quality notes
- OpenAI Whisper API often returns plain text unless a segment-rich response format is requested elsewhere.
- Plain text transcripts are good for summaries and rough chapters, but weak for precise diarization.
- When speaker labels are needed without true diarization, reconstruct heuristically from turn-taking and identify this clearly as approximate.
Launch template
When a user wants publishing help, default to a reusable launch pack.
Standard launch pack
- YouTube titles
- Provide 3 to 4 options.
- Prefer thesis first, guest second.
- Keep them specific, not generic.
- YouTube descriptions
- Provide 3 to 4 options.
- Each should include:
- one short framing paragraph
- 3 to 6 concrete bullets on what the audience will learn
- chapter markers in YouTube timestamp format when available
- X main post
- Provide 3 to 4 options.
- Structure:
- hook or thesis
- guest credibility line
- 3 to 6 concrete bullets
- link placeholder or actual link
- X follow-up reply
- Provide 1 concise timestamps-only reply unless the user asks for more.
- Use YouTube timestamp format only, start times only, 2 to 10 word headlines.
- Native clip ideas
- Provide 3 to 4 options.
- For each clip idea, include:
- clip theme
- why it works as promo
- rough timestamp window if known
- Quote card ideas
- Provide 3 to 4 options.
- Prefer clean, arguable lines with strong standalone meaning.
Packaging guidance
- Distinguish between:
- what the episode is about
- why it matters now
- Prefer concrete bullets over abstract topic labels.
- For X, optimize for curiosity plus utility, not just announcement tone.
- For YouTube, optimize for searchable thesis plus guest credibility.
- If the audience is technical, specificity beats hype.
Output format
Default output order:
- Short summary
- Key takeaways
- Chapter timestamps
- 3 to 4 title options
- 3 to 4 description options
- 3 to 4 X post options
- 3 to 4 clip ideas
- 3 to 4 quote card ideas
Scripts
scripts/transcribe_youtube.sh: download audio from YouTube, shrink oversized audio for Whisper API, and fall back cleanly.
Notes
- Prefer speed first, but do not fake certainty.
- If a transcript path is broken, say what failed and continue with the next fallback.
- For long episodes, give the user a progress update before the final packaging pass.
- If the user says a format like “always give me YouTube timestamp format”, treat that as a sticky preference for the rest of the task.
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- biyearly-mesothelioma790/skills★ 099% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository101 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accelevents-apiSkill
- accelevents-speaker-syncSkill
- agents-sdkSkill
- ai-devblogSkill
- ai-engineeringSkill
- ai-readmeSkill
- align-meSkill
- annotated-video-productionSkill
- antislop-codebaseSkill
- app-ux-paradigmsSkill
- autoreviewSkill
- babysit-runsSkill
- blog-system-designSkill
- cassandra-creatorSkill
- ceo-creatorSkill
- claude-session-introspectSkill
- cli-uxSkill
- cloudflare-do-turn-based-multiplayerSkill
- cloudflare-email-serviceSkill
- cloudflare-one-migrationsSkill
- cloudflare-oneSkill
- cloudflare-production-builderSkill
- cloudflareSkill
- conference-developer-endpointsSkill
- conference-transcribeSkill
- coordinateSkill
- data-chatbotsSkill
- data-visualization-qualitySkill
- deep-trajectory-analysisSkill
- design-apps-with-imagegenSkill
- design-preferencesSkill
- diy-netlifySkill
- download-videoSkill
- download-x-videoSkill
- durable-objectsSkill
- europe-developer-apiSkill
- face-matchingSkill
- forgeSkill
- future-onlySkill
- generalizeSkill
- gsuite-setupSkill
- keep-it-simpleSkill
- latent-space-thumbnail-directorSkill
- live-ai-pipelinesSkill
- location-inputSkill
- long-running-operation-uxSkill
- media-heavy-workflowsSkill
- media-to-wiki-pipelineSkill
- media-transformSkill
- mobile-nativeSkill
- mobile-webapp-uxSkill
- multimodal-extractionSkill
- new-mac-setupSkill
- next-stepsSkill
- observability-hardeningSkill
- person-profile-writingSkill
- productionize-app-with-servicesSkill
- programmatic-agentsSkill
- provision-model-keysSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

