Generate Korean podcast episodes from any source (URLs, tweets, articles, PDFs) — analyzes content, writes a script, generates audio via OpenAI TTS, converts to MP4, and auto-uploads to YouTube.

MITAuto-check passedMedia & Creative

Install Podcast

skills CLI
$ npx skills add team-attention/plugins-for-claude-natives --skill podcast -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install team-attention/plugins-for-claude-natives podcast --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/team-attention/plugins-for-claude-natives.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/podcast/skills/podcast .claude/skills/podcast && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
podcast
GitHub stars
827
Token cost
~1.5k tokens
SKILL.md length
526 words
Files
4 (incl. scripts)
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Generate Korean podcast episodes from any source (URLs, tweets, articles, PDFs) — analyzes content, writes a script, generates audio via OpenAI TTS, converts to MP4, and auto-uploads to YouTube.

  • Works in 6 steps: Source Collection & Analysis → Script Writing → TTS Generation → …
  • The user says make a podcast
  • SKILL.md covers Pipeline, Step 1: Source Collection &…, Step 2: Script Writing and Step 3: TTS Generation, plus 5 more sections
  • Runs Python scripts from its folder; calls python3; reaches youtu.be; needs OPENAI_API_KEY

What it does

Podcast is an agent skill from team-attention/plugins-for-claude-natives. Generate Korean podcast episodes from any source (URLs, tweets, articles, PDFs) — analyzes content, writes a script, generates audio via OpenAI TTS, converts to MP4, and auto-uploads to YouTube. Use this skill whenever the user says 'make a podcast', 'convert to podcast', 'podcast', 'create an episode', 'turn this into audio', 'YouTube podcast', 'turn this article into a podcast', 'publish as audio', or provides sources and wants them transformed into a listenable format. Supports partial execution: script-only…

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/convert_mp4.py`, `scripts/generate_tts.py` and `scripts/upload_youtube.py`).

It sits in Media & Creative, covering Podcasting, Text to speech and voice and Social media posts. It works with OpenAI, YouTube and X (Twitter). The repository describes itself as: Claude Code plugins for power users. The licence is MIT.

When your agent uses it

  • The user says make a podcast
  • Convert to podcast
  • Create an episode
  • Turn this into audio

Example prompts

  • “make a podcast”
  • “convert to podcast”
  • “podcast”
  • “/podcast”

Requirements

  • Python 3
  • A credential in OPENAI_API_KEY

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Source Collection & Analysis
  2. Script Writing
  3. TTS Generation
  4. MP4 Conversion
  5. YouTube Upload
  6. Completion Report

What it can do on your machine

Read from SKILL.md and the folder at commit fd9c207. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • youtu.be

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Podcast loads about 1.5k tokens when it runs. Until then it costs about 138 tokens; SKILL.md has 526 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~138
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from team-attention/plugins-for-claude-natives at commit fd9c207, republished under its MIT licence (© team-attention). 526 words, ~1,537 tokens.

Download SKILL.mdSave it as .claude/skills/podcast/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
podcast
description
Generate Korean podcast episodes from any source (URLs, tweets, articles, PDFs) — analyzes content, writes a script, generates audio via OpenAI TTS, converts to MP4, and auto-uploads to YouTube. Use this skill whenever the user says 'make a podcast', 'convert to podcast', 'podcast', 'create an episode', 'turn this into audio', 'YouTube podcast', 'turn this article into a podcast', 'publish as audio', or provides sources and wants them transformed into a listenable format. Supports partial execution: script-only, TTS-only, or upload-only.

Podcast Generator

Analyze sources, generate a Korean podcast script, produce audio via OpenAI TTS, and auto-upload to YouTube.

Pipeline

[Source Collection] → [Analysis/Fusion] → [Script Writing] → [TTS Generation] → [MP4 Conversion] → [YouTube Upload]

Step 1: Source Collection & Analysis

Collect and analyze user-provided sources. Processing by type:

  • URL/Article: WebFetch or subagent for full text
  • Tweet/X post: Use WebFetch with api.fxtwitter.com (replace domain in X/Twitter URL)
  • PDF: Read tool directly
  • GitHub repo: Clone and analyze structure (use subagent)
  • Conversation context: Reuse content already analyzed in current session

When 2+ sources are provided, always spawn parallel subagents for each.

Step 2: Script Writing

Structure (8-12 min, 3000-5000 chars)
markdown
# [Episode Title]

> [Duration] podcast script | [Date]
> Sources: [source list]

---

## Opening (1 min)
- Hook: one sentence on why this topic matters
- Introduce sources
- Lead with conclusion (state core message upfront)

## Body Part 1 (3 min)
- Deep analysis of first source/perspective

## Body Part 2 (3 min)
- Deep analysis of second source/perspective

## Fusion/Intersection (3 min)
- Emergent insights from combining sources
- Patterns, commonalities, contrasts
- Generalizable implications

## Closing (30 sec)
- One-sentence summary of core message
- Sign-off
Script Writing Principles
  • Write as you speak: conversational Korean ("~입니다", "~거죠", "~인데요")
  • Numbers in Korean: "267K" → "이십육만", "$75,000" → "칠만오천 달러"
  • English names in Korean pronunciation: "Garry Tan" → "개리 탄"
  • No tables or code blocks: TTS cannot read them. Convert table content to sentences
  • Shift tone for quotes: "개리 탄 본인이 이렇게 말합니다." to create distinction
  • Short sentences: keep each sentence under 50 characters
File Layout
<output-dir>/
├── script.md       ← Script
├── episode.mp3     ← Audio
├── episode.mp4     ← Video (for YouTube)
└── metadata.json   ← Title, description, tags, YouTube URL

The output directory can be any user-specified path. A sensible default is podcast/YYYY-MM-DD-[slug]/ relative to the current working directory.

Step 3: TTS Generation

Convert script to audio using scripts/generate_tts.py:

bash
python3 <plugin-path>/skills/podcast/scripts/generate_tts.py \
  --input <script.md path> \
  --output <episode.mp3 path> \
  --api-key <OpenAI API key>

Replace <plugin-path> with the actual path where this plugin is installed (use ${CLAUDE_PLUGIN_ROOT} if available, or the resolved plugin installation path).

OpenAI API Key

Check OPENAI_API_KEY environment variable first. If not set, ask the user.

TTS Settings
SettingValueNote
Modelgpt-4o-mini-ttsLatest model with instructions support
VoicemarinBest for Korean. cedar as alternative
Chunk size1500 chars2000 token limit, Korean ~1.5 char/token
InstructionsAuto-generated per scriptSee default below

Default TTS instructions:

"따뜻하고 친근한 한국어 팟캐스트 호스트. 명확한 발음으로 또박또박 읽되, 자연스러운 억양과 적절한 감정을 담아서. 중요한 포인트에서는 약간 힘을 주고, 인용구에서는 톤을 살짝 바꿔서 구분감을 준다. 전체적으로 지적이면서도 편안한 분위기."

If the user specifies a tone, customize via --instructions.

Step 4: MP4 Conversion

Convert MP3 to MP4 with a static title card:

bash
python3 <plugin-path>/skills/podcast/scripts/convert_mp4.py \
  --input <episode.mp3 path> \
  --output <episode.mp4 path> \
  --title "Episode Title" \
  --subtitle "Subtitle"

Generates a 1920x1080 video with dark background (#1a1a2e) and Korean title/subtitle overlay.

Show full SKILL.md (203 more words)Show less

Step 5: YouTube Upload

bash
python3 <plugin-path>/skills/podcast/scripts/upload_youtube.py \
  --video <episode.mp4 path> \
  --title "Episode Title" \
  --description "Description" \
  --privacy unlisted
OAuth Setup
  • Google OAuth client secret: auto-discovers ~/Downloads/client_secret_*.json or ~/.config/google/client_secret_*.json
  • Token: stored alongside the video file by default (override with --token-path)
  • First run requires browser-based Google authentication
  • Ask user which YouTube account to use if multiple are available
  • Never copy scripts to the episode directory. Always run from the plugin's original path
Upload Defaults
  • Privacy: unlisted (unless user specifies otherwise)
  • Category: People & Blogs (22)
  • Language: ko

Step 6: Completion Report

After upload, report to user:

Done!
- Script: <path>/script.md
- Audio: <path>/episode.mp3
- Video: <path>/episode.mp4
- YouTube: https://youtu.be/VIDEO_ID (unlisted)

Play episode.mp3 with afplay so the user can listen immediately.

Partial Execution

Users may request only part of the pipeline:

  • "Just write the script" → Steps 1-2 only
  • "Generate TTS from this script" → Step 3 only
  • "Upload to YouTube" → Step 5 only (requires existing MP4)
  • "Make it public" → Update YouTube privacy via API

Requirements

  • ffmpeg: required for audio merging and MP4 conversion. On macOS, homebrew-ffmpeg/ffmpeg tap may be needed for full codec support
  • OpenAI API key: for TTS generation (OPENAI_API_KEY env var or provided by user)
  • Google OAuth client secret: for YouTube upload (download from Google Cloud Console)
  • macOS font: uses /System/Library/Fonts/AppleSDGothicNeo.ttc for Korean text overlay. On other platforms, adjust FONT_PATH in convert_mp4.py
  • Python 3.10+: all scripts use standard library only (no pip install needed)

© team-attention, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in plugins/podcast/skills/podcast of team-attention/plugins-for-claude-natives.

  • SKILL.md
  • scripts/convert_mp4.py
  • scripts/generate_tts.py
  • scripts/upload_youtube.py

Open the folder on GitHubat commit fd9c207

Compare with similar skills

Podcast next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Podcast compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Podcast this skillteam-attention/plugins-for-claude-natives827—~1.5kAutomated safety check: PassMIT
VideoiBigQiang/feedgrab614—~1.6kAutomated safety check: PassMIT
Lessongug007/lpm152—~1.2kAutomated safety check: PassMIT
BibiJimmyLv/BibiGPT-v16.2k—~885Automated safety check: PassGPL-3.0
Video Transcribewendy7756/AI-Video-Transcriber3.3k—~937Automated safety check: NotesApache-2.0
Social PostHao0321/claude-skill-social-post730—~2.9kAutomated safety check: PassMIT

Similar skills

  • Video

    iBigQiang/feedgrab

    Video & Podcast Digest — send a video/podcast link, get full transcript + structured summary.

    614 GitHub stars~1.6k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Lesson

    gug007/lpm

    Make a narrated lesson video about lpm from the real desktop app, recorded on a pristine data directory.

    152 GitHub stars~1.2k tokensUpdated today
    Media & CreativeAuto-check passed
  • Bibi

    JimmyLv/BibiGPT-v1

    BibiGPT CLI for summarizing videos, audio, and podcasts directly in the terminal.

    6.2k GitHub stars~885 tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • Video Transcribe

    wendy7756/AI-Video-Transcriber

    Transcribe and summarize a video or podcast from a URL (YouTube, TikTok, Bilibili, Apple Podcasts, SoundCloud, 30+ platforms) or from a local media/.txt file.

    3.3k GitHub stars~937 tokensUpdated 26 days ago
    Media & CreativeAuto-check: notes
  • Social Post

    Hao0321/claude-skill-social-post

    依使用者真實貼文與成效寫 Facebook/Instagram/YouTube/Threads/X 文案,包含 ChatGPT Chat 的「寫文」「Mode C」「用我的格式/口氣」「黑底白字」;本機工作台、規劃、確認後發布、留言回覆及成效學習。使用者說「發文」「文案」「Social Post 介面」「回覆留言」「查流量」「把數據訓練進去」「比較貼文」「優化 pattern」時使用。

    730 GitHub stars~2.9k tokensUpdated 8 days ago
    Writing & ContentAuto-check passed
  • 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…

    176 GitHub stars~1.4k tokensUpdated 6 days ago
    Media & CreativeAuto-check passed

More from team-attention/plugins-for-claude-natives

All 16 skills in this repo
  • Gmail

    team-attention/plugins-for-claude-natives

    This skill should be used when the user asks to "check email", "read emails", "send email", "reply to email", "search inbox", or manages Gmail.

    827 GitHub stars~967 tokensUpdated 5 mo ago
    Auto-check passed
  • History Insight

    team-attention/plugins-for-claude-natives

    This skill should be used when user wants to access, capture, or reference Claude Code session history.

    827 GitHub stars~834 tokensUpdated 5 mo ago
    Auto-check passed
  • Session Analyzer

    team-attention/plugins-for-claude-natives

    This skill should be used when the user asks to "analyze session", "세션 분석", "evaluate skill execution", "스킬 실행 검증", "check session logs", "로그 분석", provides a session ID with a skill path, or wants…

    827 GitHub stars~1.8k tokensUpdated 5 mo ago
    Auto-check passed
  • Youtube Digest

    team-attention/plugins-for-claude-natives

    This skill should be used when the user asks to "유튜브 정리", "영상 요약", "transcript 번역", "YouTube digest", "영상 퀴즈", or provides a YouTube URL for analysis.

    827 GitHub stars~557 tokensUpdated 5 mo ago
    Auto-check passed
  • Tech Decision

    team-attention/plugins-for-claude-natives

    This skill should be used when the user asks to "기술 의사결정", "뭐 쓸지 고민", "A vs B", "비교 분석", "라이브러리 선택", "아키텍처 결정", "어떤 걸 써야 할지", "트레이드오프", "기술 선택", "구현 방식 고민", or needs deep analysis for technical…

    827 GitHub starsUsed in 2 repos~1.2k tokens
    Auto-check passed
  • Fetch Tweet

    team-attention/plugins-for-claude-natives

    This skill should be used when the user asks to "트윗 가져와", "트윗 번역", "X 게시글 읽어줘", "tweet fetch", "트윗 내용", "트윗 원문", or provides an X/Twitter URL (x.com, twitter.com) and wants to read, translate, or…

    827 GitHub stars~518 tokensUpdated 5 mo ago
    Auto-check passed

Questions about Podcast

What does Podcast do?

Generate Korean podcast episodes from any source (URLs, tweets, articles, PDFs) — analyzes content, writes a script, generates audio via OpenAI TTS, converts to MP4, and auto-uploads to YouTube. Podcast is an agent skill from team-attention/plugins-for-claude-natives. Generate Korean podcast episodes from any source (URLs, tweets, articles, PDFs) — analyzes content, writes a script, generates audio via OpenAI TTS, converts to MP4, and auto-uploads to YouTube.

When should I use Podcast?

Podcast fits situations like: the user says make a podcast; convert to podcast; create an episode; turn this into audio.

How do I install Podcast in Claude Code?

Run `npx skills add team-attention/plugins-for-claude-natives --skill podcast -a claude-code`. Or copy the skill folder (plugins/podcast/skills/podcast in team-attention/plugins-for-claude-natives) into .claude/skills/podcast in your project. Claude Code loads it when a task matches its description.

How do I install Podcast in Codex?

Run `npx skills add team-attention/plugins-for-claude-natives --skill podcast -a codex`. Or copy the skill folder (plugins/podcast/skills/podcast in team-attention/plugins-for-claude-natives) into .agents/skills/podcast in your project. Codex loads it when a task matches its description.

Can I use Podcast in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add team-attention/plugins-for-claude-natives --skill podcast -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/podcast, .gemini/skills/podcast, .github/skills/podcast and .opencode/skills/podcast in your project.

What does Podcast need to run?

Going by SKILL.md and its folder, Podcast needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named OPENAI_API_KEY. Our summary lists: Python 3; A credential in OPENAI_API_KEY.

Does Podcast access the network?

SKILL.md names 1 domain. In commands or code: youtu.be; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Podcast safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Podcast use?

Podcast is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Podcast use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Podcast?

Skills that share tags, products or a category with Podcast: Video (iBigQiang/feedgrab, 614 stars), Lesson (gug007/lpm, 152 stars), Bibi (JimmyLv/BibiGPT-v1, 6.2k stars) and Video Transcribe (wendy7756/AI-Video-Transcriber, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Podcast?

team-attention (a GitHub organization) maintains it in team-attention/plugins-for-claude-natives, which has 827 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on April 20, 2026.

Source: team-attention/plugins-for-claude-natives on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.