YouTube Skill

SkillMedia

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

Use YouTube Skill in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add YouTube Skill and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the YouTube Skill skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

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

YouTube SkillStart free
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
143
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