ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

youtube-summary

Summarize any YouTube video by dropping the link in chat. Supports custom prompts — paste the URL followed by your instructions (e.g. 'focus on the technical details'). Triggers on YouTube URLs.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/chapati23/yt-summary
Or

YouTube Summary Skill

Summarize YouTube videos by extracting transcripts via TranscriptAPI.com and generating structured summaries.

Setup

Prerequisites

  • Python 3.10+
  • A TranscriptAPI.com account ($5/mo for 1,000 transcripts)
  • Optional: pass (Unix password manager) for secure key storage

Installation

  1. Sign up at transcriptapi.com and get your API key
  2. Provide the API key via one of these methods:
    • Environment variable (simplest): export TRANSCRIPT_API_KEY="your-key-here"
    • pass password store (most secure): pass insert transcriptapi/api-key
  3. Install Python dependencies:
    pip install -r skills/youtube-summary/requirements.txt
    

Detection

Trigger on messages containing YouTube URLs matching any of:

  • youtube.com/watch?v=ID
  • youtu.be/ID
  • youtube.com/shorts/ID
  • m.youtube.com/watch?v=ID
  • youtube.com/live/ID

⚠️ Critical Rules

  • NEVER use web_search as a fallback. If transcript extraction fails, report the error and stop.
  • NEVER fabricate transcript content. Only summarize what the extraction script returns.
  • Always run the extraction script. Do not skip it, even for well-known videos.

Workflow

Step 1: Extract transcript

If using pass:

_yt_key_file=$(mktemp) && pass transcriptapi/api-key > "$_yt_key_file" && python3 skills/youtube-summary/scripts/extract.py "YOUTUBE_URL_OR_ID" --api-key-file "$_yt_key_file"; rm -f "$_yt_key_file"

If using env var:

python3 skills/youtube-summary/scripts/extract.py "YOUTUBE_URL_OR_ID"

(Reads TRANSCRIPT_API_KEY from the environment automatically.)

Security note: The pass + temp file approach avoids exposing the key in ps output or shell history. The env var approach is simpler but the key is visible in the process environment.

Parse stdout:

  • PROGRESS: lines → relay to user as status updates (optional)
  • ERROR: lines → relay error to user, stop
  • RESULT: line → parse the JSON after RESULT: — contains: header, transcript, language, tokens, title, channel, duration_str

Step 2: Summarize the transcript

Use the extracted transcript to generate a summary. The summary language must match the transcript language (from the language field).

If tokens < 50000 — single-pass: summarize the full transcript in one request.

If tokens ≥ 50000 — tell the user it's a long video and summarize the first ~40K tokens with a note that it was truncated.

Default summary format (use when no custom prompt given):

{header}

**TL;DR:** 2-3 sentence summary.

**Key Points:**
• Point one
• Point two
• (3-7 total)

**Notable Quotes:** (only if genuinely quotable lines exist)
> "Quote here"

Custom prompt — if the user included text alongside the URL, append it as additional instructions for the summary.

Step 3: Reply

Metadata

Author@chapati23
Stars2387
Views0
Updated2026-03-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-chapati23-yt-summary": {
      "enabled": true,
      "auto_update": true
    }
  }
}

Tags

#youtube#video#summary#transcript
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.