YouTube Skill

SkillMedia

This youtube skill lets your agent fetch transcripts from YouTube videos through their built-in captions.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the YouTube Skill skill

About this skill

Extract transcripts from YouTube videos via the YouTube caption system

What this skill tells your AI

The instructions your AI receives, as published by axoviq-ai/synthadoc in synthadoc/skills/youtube/SKILL.md and read by ahel’s review.

Extracts the transcript (captions) from a YouTube video using the YouTube caption system — no API key or audio download required. Optionally uses a vision-capable LLM to produce a structured summary (Overview, Topics, Key takeaways) before the raw transcript.

Setup

pip install youtube-transcript-api

Standalone usage

Transcript only (no LLM required):

import asyncio
from synthadoc.skills.youtube.scripts.main import YoutubeSkill

skill = YoutubeSkill()          # no provider — returns raw timestamped transcript

async def main():
    result = await skill.extract("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
    print(result.text)          # "[0:00] text [0:04] text ..."
    print(result.metadata)      # {"video_id": "...", "title": "...", "url": "..."}

asyncio.run(main())

With LLM summarization (pass any provider that implements complete()):

skill = YoutubeSkill(provider=my_provider)
result = await skill.extract(url)
# result.text contains:
#   ## Executive Summary
#   <Overview / Topics / Key takeaways>
#
#   ## Transcript
#   [0:00] ...

The provider must implement:

async def complete(messages, system=None, temperature=0.0, max_tokens=4096)
    -> object with .text (str), .input_tokens (int), .output_tokens (int)

Message (used to build the messages list) is importable from synthadoc.skills.base:

from synthadoc.skills.base import Message

When this skill is used

  • Source starts with https://www.youtube.com/, https://youtu.be/, or https://www.youtubekids.com/

To search YouTube by topic instead of ingesting a specific URL, use the web search skill — it filters Tavily results to YouTube domains automatically:

synthadoc ingest "youtube Moore's Law"
synthadoc ingest "youtube kids: Sesame Street"
synthadoc ingest "search for youtube: history of computing"

Limitations

  • Only works for videos that have captions (auto-generated or manually added). If no captions are available the source is skipped with a warning.
  • Private or deleted videos are skipped gracefully.

Signals

GitHub stars
1k
Forks
131
Last commit
Sep 2026

ahel review

  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
youtube-axoviq-ai
Source
github.com/axoviq-ai/synthadoc