本文へ移動
cccskills
無料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/切り抜き動画.

インストール方法を見る

含まれるファイル(3)

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

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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".

日本語の概要は準備中です。原文の説明を表示しています。

t4ku/agent-skills52026年10月7日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

t4ku/agent-skills52026年10月7日 更新

loop-design

無料日本語概要

やりたいことを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 を参照。

t4ku/agent-skills52026年10月7日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

t4ku/agent-skills52026年10月7日 更新

show-me

無料日本語概要

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.

t4ku/agent-skills52026年10月7日 更新

skill-vendor

無料日本語概要

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.

t4ku/agent-skills52026年10月7日 更新

t4ku のスキルをすべて見る

このスキルの問題を報告する