Skip to content
cccskills
FreePublished on GitHub

youtube-slide-maker

YouTube動画からスライドまたは切り抜き動画を生成する。字幕ベースでキーフレームを選定しffmpegで抽出、Marpスライド or 切り抜きクリップを出力。

Use when user asks to create slides from a YouTube video, extract key frames, summarize a video visually, or create short clips/切り抜き動画.

The English summary is being prepared. Showing the original description.

Works withYouTube
See how to install

Files included (3)

  • SKILL.md4.9 KB
  • references/commands.md2.5 KB
  • references/marp-template.md2.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

YouTube Slide Maker

YouTube URL → スライドデッキ or 切り抜き動画 の2モード。字幕 → LLMでキーフレーム選定 → ffmpegで抽出。

Modes

ModeOutputUse Case
slidesslides.md (Marp) + frames/*.png動画の要点スライド化(PKM・ブログ等)
clipsclips/*.mp4 (1-3分の切り抜き)SNS・ダイジェスト用
both両方スライドと切り抜きを同時生成

Workflow

1. Prepare

# Default output directory (PKMのInbox配下)
OUT="Projects/PKM/youtube-slides/<video-slug>"
mkdir -p "$OUT/frames" "$OUT/clips"
cd "$OUT"

2. Download video + subtitles

# Video (prefer 720p to save space)
yt-dlp -f 'bv[height<=720]+ba/b[height<=720]' \
  --merge-output-format mp4 \
  --write-auto-subs --write-subs --sub-lang en,ja --sub-format vtt \
  --convert-subs srt \
  -o 'video.%(ext)s' "$URL"

--merge-output-format mp4 を付けること。付けないと結合結果が video.webm / video.mkv になり、以降の video.mp4 決め打ちの ffmpeg コマンドが全部落ちる。 それでも拡張子が変わることがあるので、続くコマンドは実ファイルを拾って使う:

VIDEO=$(ls video.mp4 video.mkv video.webm 2>/dev/null | head -1)

Fields of interest after download:

  • $VIDEO(通常 video.mp4) — full video
  • video.en.srt or video.ja.srt — transcript

3. Analyze transcript → select keyframes

Read the SRT. For a target of N slides (default 10-15):

  • Identify chapter-like structure (topic shifts, emphasis words, demos)
  • Output JSON-like list: [{ts: "00:01:23", title: "...", summary: "..."}]
  • For clips mode: identify 1-3 min contiguous segments ({start, end, title})

Prompt pattern for transcript → keyframes:

This is a video transcript (SRT). Select {N} key moments that best represent the video.
For each, output:
- ts: timestamp in HH:MM:SS (pick a moment ~2-5s after speaker introduces topic to catch the explanation frame)
- title: ≤30 char headline
- summary: 1-2 sentence body

4. Extract frames

# Per keyframe (ts = HH:MM:SS)
ffmpeg -ss "$ts" -i "$VIDEO" -vframes 1 -q:v 2 "frames/$(printf '%02d' $i)-$slug.png"

Tips:

  • -ss before -i = fast seek (input-level)
  • -q:v 2 = high quality JPEG (or omit for PNG)
  • For slide thumbnails: scale with -vf scale=1280:-1

5. Extract clips (clips/both mode)

# Lossless cut (fast, no re-encode)
ffmpeg -ss "$start" -to "$end" -i "$VIDEO" -c copy "clips/$(printf '%02d' $i)-$slug.mp4"

# Re-encode (needed if keyframe alignment matters, smooth cut)
ffmpeg -ss "$start" -to "$end" -i "$VIDEO" -c:v libx264 -c:a aac "clips/$(printf '%02d' $i)-$slug.mp4"

For SNS切り抜き: consider vertical crop

ffmpeg -i clip.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" -c:a copy vertical.mp4

6. Generate Marp slides (slides/both mode)

See references/marp-template.md for the slide structure.

Key points:

  • 1 frame per slide, title overlay + summary bullet
  • Use Projects/PKM/youtube-slides/<slug>/slides.md
  • Render to PDF/HTML: npx @marp-team/marp-cli slides.md -o slides.pdf

7. Link back to PKM

Add to the original Readwise inbox file (Inbox/readwise-*.md) or Journal:

### Slide Deck
- slides
- Source: <video URL>
- Generated: YYYY-MM-DD

Parameters (ask if unclear)

  • URL: required
  • Mode: slides | clips | both (default: slides)
  • N: slide count (default: 12) or clip count (default: 3)
  • Language: subtitle preference (en, ja, auto)
  • Output dir: default Projects/PKM/youtube-slides/<slug>/

Common Pitfalls

  • No subtitles available: fall back to --write-auto-subs (auto-generated). If still none, use whisper or ask user.
  • Slug conflicts: derive from video title + short ID hash
  • Large videos: limit to 720p by default, warn if >1GB
  • Rate limits: yt-dlp may need --cookies-from-browser for members-only or age-restricted
  • Timestamp offset: -ss before -i is fast but can be ~1s off on some codecs; use -ss after -i for frame-accurate at cost of speed

Tool Reference

See references/commands.md for full yt-dlp / ffmpeg command cookbook.

Integration with PKM

  • Output dir: Projects/PKM/youtube-slides/<slug>/ (submodule-safe location)
  • Slide deck reference added to source Inbox/readwise-*.md file
  • No Cards auto-creation — user decides if content warrants a Card

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Add GitHub permalinks with fixed SHA/commit references to research documentation containing code snippets. Use when writing technical docs with code examples, creating investigation/research docs that reference source files, user asks to "add permalinks" or "add GitHub links", documenting code research findings with file:line references, or creating audit trails needing permanent code references. Triggers on "add github links", "add permalinks", "link to source", "make code references permanent".

The English summary is being prepared. Showing the original description.

t4ku/agent-skills5Updated Oct 7, 2026

Fetch Airbnb income estimate (ADR, occupancy, monthly revenue) for any area using the official Airbnb GraphQL API — the same data the Airbnb host simulator shows. Input: station/area name. Output: per-night rate, avg nights, monthly estimate for entire_home and private_room.

The English summary is being prepared. Showing the original description.

t4ku/agent-skills5Updated Oct 7, 2026

やりたいことを1行で言うと、B 型 loop engineering の 7 要素 (context / feedback / verification gate / termination / error handling / state / cost guard) を埋めた loop spec をコピペ可能な形で生成する。生成した spec は現行 Claude Code の実行プリミティブ (Workflow ツール / /loop skill / ralph-loop plugin / claude -p) に落とせる骨格になる (旧 `claude --goal` は廃止)。10 件 failure mode (F1-F10) の対策フックも自動挿入。Hybrid モード: 1 行入力 → デフォルト埋めで一発出力 → 「ここを調整したい」場所だけ短く聞き直す。Use when ユーザーが「loop を作りたい / loop-design / 自走ループ書いて / Workflow 用の spec 作って / 7 要素埋めて / verification gate ありで」と言ったとき、または `/loop-design` を実行したとき。Loop engineering の理論背景は Cards/loop-engineering-autonomous-agents、失敗モード対策は Cards/loop-failure-modes-mechanism-2026 を参照。

The English summary is being prepared. Showing the original description.

t4ku/agent-skills5Updated Oct 7, 2026

Run a project's GitHub Issues through Orca Workers from a coordinating session in the project's Hub folder. The Orchestrator reads Issues, claims one, dispatches an Orca Task into a fresh worktree of the target repo, supervises until worker_done, and writes the outcome back to the Issue — it never edits code itself. Use when the user says "take

The English summary is being prepared. Showing the original description.

t4ku/agent-skills5Updated Oct 7, 2026

Help the user understand the current topic visually with concise diagrams, code-shape sketches, and focused HTML artifacts. Use when the user asks to show / diagram / visualize / sketch / illustrate what is going on, asks "what does this look like", "how does this flow", "show me the structure", or in Japanese 図で見せて / 図解して / 図にして / 構造を見せて / フローを見せて / 全体像を見せて / どうつながってるか見せて. Also use it proactively when an explanation is running long and a call tree, file tree, component tree, diff, Mermaid diagram, or a small HTML artifact would land faster than prose.

The English summary is being prepared. Showing the original description.

t4ku/agent-skills5Updated Oct 7, 2026

Vendor (copy-import) a single external Claude Code skill into your own skills repo correctly — with license compliance and full provenance/attribution. Deterministic, idempotent primitive: given an upstream ref (owner/repo/path@sha or a GitHub URL) it fetches the skill, detects and gates on the license, copies the folder, injects a provenance frontmatter block (license + metadata: author/source/upstream_commit/vendored_at/provenance), ships the upstream LICENSE, adds a ## Credits section, and records a CREDITS.md ledger entry. Use when the user asks to "vendor a skill", "import a skill", "clone a skill", "borrow someone's skill", "add an external skill with attribution/credit", or スキルを取り込む / vendoring / 他人のスキルを自分のリポに取り込む. This is the import primitive that a skill-scout/curator orchestrator calls; it does NOT discover or evaluate — it correctly imports ONE skill you already chose.

The English summary is being prepared. Showing the original description.

t4ku/agent-skills5Updated Oct 7, 2026

See all skills by t4ku

Report a problem with this skill