Agent skill

Podcast Shorts

by shawnla90 in shawnla90/gtm-coding-agent

Turn a raw podcast or interview recording into captioned vertical shorts staged as Buffer drafts.

MITAuto-check passedMedia & Creative

Install Podcast Shorts

skills CLI
$ npx skills add shawnla90/gtm-coding-agent --skill podcast-shorts -a claude-code

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

GitHub CLI
$ gh skill install shawnla90/gtm-coding-agent podcast-shorts --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/shawnla90/gtm-coding-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/starters/podcast-shorts .claude/skills/podcast-shorts && 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-shorts
GitHub stars
155
Token cost
~1.3k tokens
SKILL.md length
587 words
Files
17 (incl. assets)
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Turn a raw podcast or interview recording into captioned vertical shorts staged as Buffer drafts.

  • Works in 8 steps: Transcribe — python3 transcribe.py… → Plan cuts — python3 plan_clips.py .… → Compose overlay — python3… → …
  • Hands over a long recording and asks for social clips
  • SKILL.md covers When to invoke, Pack layout, pack.json schema and Workflow, plus 3 more sections
  • Runs Python and Shell scripts from its folder; calls python3; needs BUFFER_ACCESS_TOKEN

What it does

Podcast Shorts is an agent skill from shawnla90/gtm-coding-agent. Turn a raw podcast or interview recording into captioned vertical shorts staged as Buffer drafts. Invoke on "podcast to shorts", "cut podcast shorts", "clip this episode", "/podcast-shorts", or when the user hands over a long recording and asks for social clips.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including assets (for example `README.md`, `assets/README.md` and `buffer_schedule.py`).

It sits in Media & Creative. It works with Python. The repository describes itself as: Build your go-to-market engine with coding agents instead of a $2K/mo tool stack. 21 chapters, nine forkable starters, four installable skills, GTM-OS skeleton, and Python… The licence is MIT.

When your agent uses it

  • Hands over a long recording and asks for social clips

Example prompts

  • “podcast to shorts”
  • “cut podcast shorts”
  • “clip this episode”
  • “/podcast-shorts”

Requirements

  • Python 3
  • Node.js
  • A Bash shell
  • A credential in BUFFER_ACCESS_TOKEN

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Transcribe — python3 transcribe.py [idx]. Whisper (word timestamps) per
  2. Plan cuts — python3 plan_clips.py . Anchors the cut on
  3. Compose overlay — python3 compose_overlay.py . Graphics-only
  4. Render — `npx hyperframes render /projects/clip_NN/public --format mov -o
  5. Composite master — python3 final_composite.py . One ffmpeg pass
  6. Social encodes — ./make_delivery.sh. 8-bit yuv420p re-encode, both streams
  7. QA gate — python3 qa_delivery.py delivery _social. Every clip must PASS before
  8. Stage drafts — host the encodes anywhere with public URLs, write

What it can do on your machine

Read from SKILL.md and the folder at commit 072c185. 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 script files (Python and Shell), 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

    No URLs in SKILL.md.

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

  • Credentials

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

    • BUFFER_ACCESS_TOKEN

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

Context cost

Podcast Shorts loads about 1.3k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 587 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from shawnla90/gtm-coding-agent at commit 072c185, republished under its MIT licence (© shawnla90). 587 words, ~1,340 tokens.

Download SKILL.mdSave it as .claude/skills/podcast-shorts/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.
name
podcast-shorts
description
Turn a raw podcast or interview recording into captioned vertical shorts staged as Buffer drafts. Invoke on "podcast to shorts", "cut podcast shorts", "clip this episode", "/podcast-shorts", or when the user hands over a long recording and asks for social clips.

podcast-shorts — transcript-anchored vertical clips

Raw recording → word-timestamped transcript → planned cuts → styled overlay render → one-pass master composite → QA gate → social encodes → Buffer drafts.

When to invoke

  • A podcast/interview recording (ideally per-speaker video + WAV exports) needs to become vertical clips.
  • The user describes moments by content ("the story about the pricing call") — the transcript layer turns that into timestamps.

Do NOT invoke for single-source talking-head recuts with no cutting plan, or for meme-style captioning.

Pack layout

<pack-dir>/
  pack.json            # the spec — see pack.example.json
  source/              # per-speaker video + lossless WAV exports
  transcripts/         # written by transcribe.py + plan_clips.py
  projects/clip_NN/    # HyperFrames overlay projects (compose_overlay.py)
  out/                 # masters + delivery encodes
  clips/               # word jsons, captions, buffer_urls.json
  review/framing.json  # optional: face_x overrides + cameo source ranges

pack.json schema

See pack.example.json. Per clip: slug, mode (square | wide | guest | duo), lead (speaker_a | speaker_b), start/end (source seconds), start_text/end_text (the words the clip must open and close on — anchors, not guesses), hook (two overlay lines), cta, optional kicker, speaker_names, cameo_text, tx_windows, drops, blocks. Top level: sources, framing_defaults, optional series (day-order slugs for Buffer).

Workflow

  1. Transcribe — python3 transcribe.py <pack> [idx]. Whisper (word timestamps) per speaker track. Add your product names to ASR_FIXES first; whisper mangles proper nouns.
  2. Plan cuts — python3 plan_clips.py <pack> <idx>. Anchors the cut on start_text/end_text word matches, jump-cuts silences, compensates whisper's early word-end stamps (END_COMP/BLEED), writes transcripts/clip_NN.cut.json including fade_start anchored to the last word.
  3. Compose overlay — python3 compose_overlay.py <pack> <idx>. Graphics-only transparent HyperFrames project (footage never touches the browser). Keep every text card-host at data-start="0" — card hosts run their own scheduler clock, and a nonzero data-start fights the gsap timeline and flashes on frame 0.
  4. Render — npx hyperframes render <pack>/projects/clip_NN/public --format mov -o <abs>/projects/clip_NN/renders/overlay.mov. ProRes 4444 alpha; delete after step 5 (300-800MB each).
  5. Composite master — python3 final_composite.py <pack> <idx>. One ffmpeg pass: denoise, speed bake, crops, alpha overlay, loudnorm, end fade. The audio chain ends asetpts=N/SR/TB — do not remove it (see below).
  6. Social encodes — ./make_delivery.sh. 8-bit yuv420p re-encode, both streams fresh, asetpts=N/SR/TB on audio.
  7. QA gate — python3 qa_delivery.py delivery _social. Every clip must PASS before anything is hosted or drafted.
  8. Stage drafts — host the encodes anywhere with public URLs, write clips/buffer_urls.json ({slug: url}) and clips/captions.json, then python3 buffer_schedule.py <pack> all go. Needs BUFFER_ACCESS_TOKEN and BUFFER_ORG_ID env vars. Drafts, not scheduled posts — a human reviews.
Show full SKILL.md (249 more words)Show less

The hidden audio-pts gap (read this before changing any audio flag)

The master's audio filter graph (atrim → concat → atempo → loudnorm) can emit a timestamp jump at a cut seam while the audio CONTENT stays continuous. Players and platform ingests play sample-continuously and never show it — masters sound perfect. But any re-encode with a timestamp-aware filter materializes the gap: aresample=async=1 turns it into time-squeezed audio followed by seconds of real silence at the start of the clip.

Rules:

  • The composite's audio chain ends asetpts=N/SR/TB (timestamps rebuilt from sample position — continuous by construction).
  • Delivery encodes use -af "asetpts=N/SR/TB" and NEVER aresample=async=1.
  • QA compares decoded audio, not just frames: a defect like this is invisible in every visual check.

QA gate spec (qa_delivery.py)

checkbar
silencedetect regionscount == the master's (a new region = injected dropout)
audio cross-correlation vs masterabs lag <= 25ms at 0.2/1/2/5/10s windows
first video packetkeyframe at pts 0
packet timinguniform CFR
durationwithin 0.1s of master

Gotchas

  • Whisper word-END stamps run ~0.1s early: never clamp a cut to the next word's start minus epsilon, or continuous speech collapses the tail and chops the final word.
  • Never overwrite a published object under the same filename — CDNs serve stale bytes for an hour or more. Version filenames and byte-verify (sha256) what the URL serves.
  • Buffer: pace mutations ~1s apart (rate windows at 15m and 24h); editPost is a full replace, resend text + assets + metadata with any change.
  • gsap is fetched from jsdelivr on first run (GreenSock license — not committed).

© shawnla90, 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 16 other files (assets) in starters/podcast-shorts of shawnla90/gtm-coding-agent.

  • SKILL.md
  • .gitignore
  • README.md
  • assets/README.md
  • assets/fonts/Inter-400-latin.woff2
  • assets/fonts/Inter-700-latin.woff2
  • assets/fonts/OFL.txt
  • buffer_schedule.py
  • compose_overlay.py
  • final_composite.py
  • make_delivery.sh
  • pack.example.json
  • plan_clips.py
  • qa_delivery.py
  • requirements.txt
  • run.sh
  • transcribe.py

Open the folder on GitHubat commit 072c185

Compare with similar skills

Podcast Shorts 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 Shorts compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Podcast Shorts this skillshawnla90/gtm-coding-agent155—~1.3kAutomated safety check: PassMIT
Cap Cinematic Demo GeneratorCapSoftware/Cap23k—~2.4kAutomated safety check: PassCustom licence
Edu Math Videowy51ai/edulab1.4k—~2.5kAutomated safety check: NotesApache-2.0
Book Video Factorybytec-ai/book-video-factory321—~1.4kAutomated safety check: NotesNone
Jianying EditorisYangs/jianying-editor-skill214—~1.9kAutomated safety check: PassMIT
Srt Vox Directorgeeklee/srt-vox-director105—~1.8kAutomated safety check: PassNone

Similar skills

  • Turns any URL into a short cinematic product-demo video on macOS, scouting the page, recording it with virtual input, then treating the clip with Cap's 3D camera and music.

    23k GitHub stars~2.4k tokensUpdated today
    Media & CreativeAuto-check passed
  • Edu Math Video

    wy51ai/edulab

    A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a math problem (数学题, geometry, algebra, functions, motion/行程 problems), from a problem screenshot…

    1.4k GitHub stars~2.5k tokensUpdated yesterday
    Media & CreativeAuto-check: notes
  • Book Video Factory

    bytec-ai/book-video-factory

    通用的多账号图书短视频生产工作流。用于用户希望建立图书号项目目录、配置账号级片头/声音/BGM/视觉规范,或只提供一本书后依次完成资料研究、口播稿、分镜、图片、配音、字幕、预览与成片导出。适用于新建工作区、批量管理多个账号、继续已有单书任务和检查生产状态;不绑定特定研究、图片、TTS、转录或视频渲染供应商。

    321 GitHub stars~1.4k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Jianying Editor

    isYangs/jianying-editor-skill

    剪映 (JianYing) AI自动化剪辑的高级封装 API。支持录屏、素材导入、字幕生成、Web 动效合成及项目导出。

    214 GitHub stars~1.9k tokensUpdated 6 mo ago
    Media & CreativeAuto-check passed
  • Srt Vox Director

    geeklee/srt-vox-director

    把已经写好的字幕(SRT / 配音稿 / 解说词 / 旁白稿)变成 Vox 风格解释视频的分镜与提示词包——参考图提示词、图生视频提示词、分镜表、关键词台账、视觉圣经、风格选择。只交付文本提示词,不生成任何图片或视频。适用于用户已有成片旁白、想做成分镜或配画面、需要切分镜头与处理时长差值、选定视觉风格,或出图/出片失败后诊断修复(字错了、画面没动、风格跑偏等)。

    105 GitHub stars~1.8k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Dreamina CLI

    yuyou-dev/dreamina-cli-skill

    A skill your agent uses when an agent needs Dreamina(即梦) generation, task querying, account checks, or login/session operations through the packaged Python wrapper scripts around the dreamina CLI.

    129 GitHub stars~1.1k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed

More from shawnla90/gtm-coding-agent

  • Clearbox Onboard

    shawnla90/gtm-coding-agent

    Turn a website domain into a complete Clearbox offer pack — one-liner, selling points in the form's fixed template shapes, keywords, competitor brands, own brands, and suggested tracked subreddits —…

    155 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Reddit Onboard

    shawnla90/gtm-coding-agent

    Build a personalized Reddit onboarding doc for a new Clearbox signup or client, grounded in their real product data, and push it to Notion.

    155 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check: notes
  • Reply Engine

    shawnla90/gtm-coding-agent

    Batch-draft one suggested Reddit reply template per classified opportunity, hard-gated.

    155 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Reddit Agency

    shawnla90/gtm-coding-agent

    The agency motion for a Reddit-led visibility offer. An agent skill from shawnla90/gtm-coding-agent.

    155 GitHub stars~3.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Reddit Engage

    shawnla90/gtm-coding-agent

    Draft and approve Reddit comments from scouted opportunities with a hard human-in-the-loop gate.

    155 GitHub stars~794 tokensUpdated 1 mo ago
    Auto-check passed
  • Student Gtm

    shawnla90/gtm-coding-agent

    Scaffold a student's own GTM repo and run the weekly build-in-public loop that turns a coding agent into a public go-to-market track record.

    155 GitHub stars~4.2k tokensUpdated 1 mo ago
    Auto-check: notes

Works with

Questions about Podcast Shorts

What does Podcast Shorts do?

Turn a raw podcast or interview recording into captioned vertical shorts staged as Buffer drafts. Podcast Shorts is an agent skill from shawnla90/gtm-coding-agent. Turn a raw podcast or interview recording into captioned vertical shorts staged as Buffer drafts.

When should I use Podcast Shorts?

Podcast Shorts fits situations like: hands over a long recording and asks for social clips.

How do I install Podcast Shorts in Claude Code?

Run `npx skills add shawnla90/gtm-coding-agent --skill podcast-shorts -a claude-code`. Or copy the skill folder (starters/podcast-shorts in shawnla90/gtm-coding-agent) into .claude/skills/podcast-shorts in your project. Claude Code loads it when a task matches its description.

How do I install Podcast Shorts in Codex?

Run `npx skills add shawnla90/gtm-coding-agent --skill podcast-shorts -a codex`. Or copy the skill folder (starters/podcast-shorts in shawnla90/gtm-coding-agent) into .agents/skills/podcast-shorts in your project. Codex loads it when a task matches its description.

Can I use Podcast Shorts 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 shawnla90/gtm-coding-agent --skill podcast-shorts -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-shorts, .gemini/skills/podcast-shorts, .github/skills/podcast-shorts and .opencode/skills/podcast-shorts in your project.

What does Podcast Shorts need to run?

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

Does Podcast Shorts access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Podcast Shorts 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. Review the folder before installing.

What licence does Podcast Shorts use?

Podcast Shorts 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 Shorts use?

About 1.3k tokens (SKILL.md is roughly 5.4k 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 Shorts?

Skills that share tags, products or a category with Podcast Shorts: Cap Cinematic Demo Generator (CapSoftware/Cap, 23k stars), Edu Math Video (wy51ai/edulab, 1.4k stars), Book Video Factory (bytec-ai/book-video-factory, 321 stars) and Jianying Editor (isYangs/jianying-editor-skill, 214 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Podcast Shorts?

shawnla90 (a GitHub user) maintains it in shawnla90/gtm-coding-agent, which has 155 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on September 2, 2026.

Source: shawnla90/gtm-coding-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.