agentleFS
qwwiwiqwwiwi/agentos-skills-public/skills/transcript/SKILL.md

transcript

Skill4 starsChanged 4 months agoMITView on GitHub

Транскрипт YouTube роликов через Loore (yt_transcript, публичные субтитры). ОБЯЗАТЕЛЬНО используй этот скилл когда: (1) пользователь присылает YouTube ссылку (youtube.com, youtu.be), (2) просит рассказать о чём видео, (3) просит транскрипт/субтитры, (4) говорит «что в этом видео», «о чём ролик», «перескажи видео», (5) любой запрос связанный с содержимым YouTube видео. Триггеры: YouTube ссылка, «транскрипт», «о чём видео», «что говорят в видео», «перескажи ролик», «summarize video», «get transcript». НЕ использовать yt-dlp, youtube-transcript-api и сайты транскриптов -- только этот скилл.

  • Reads credentials

11 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 0 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If $LOORE_API_KEY is not set, ask the user to create a key: https://app.loore.ai → Настройки → API и MCP (the plaintext is shown once).

    line 30
  2. Very specific:

    Default: always use --timestamps unless the user asks otherwise.

    line 67
  3. Very specific:

    Use --json --timestamps when you need precise timestamps for quoting specific moments.

    line 114

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Transcript

Fetch YouTube video transcripts via Loore — tool yt_transcript (docs: https://docs.loore.ai). It reads the video's public captions, any length, no AI transcription; works for videos and Shorts.

YouTube data comes only from Loore or the official YouTube Data API v3. The official API cannot download captions of other people's videos (captions.download works only for videos you can edit), so Loore is the only path here. Never fetch transcripts with yt-dlp, innertube or transcript sites from your own machine.

Setup

If $LOORE_API_KEY is not set, ask the user to create a key: https://app.loore.ai → Настройки → API и MCP (the plaintext is shown once). Then:

export LOORE_API_KEY="..."   # never in chat, logs or git

Spend approval. A transcript costs 2 credits, only when one is returned (no captions = free; continuing a long transcript is free). The title header adds one yt_video call (1.5 credits). State the cap to the user once, and after their «yes» create a 24-hour budget:

python3 ./scripts/_loore.py approve --flow transcript --cap 20
export LOORE_SPEND_AUTHORIZATION_ID=<printed id>

The script sends spend_authorization_id with every paid call. Without it Loore answers 428 needs_user_confirmation.

MCP instead of the script. Tool yt_transcript on https://mcp.loore.ai/mcp (header Authorization: Bearer <key>) takes the same arguments.

Get a transcript

python3 ./scripts/yt_transcript.py "VIDEO_URL" --timestamps
FlagDefaultMeaning
VIDEO_URL—YouTube URL (watch, youtu.be, shorts, live) or 11-char video ID
--timestampsofftimed lines [hh:mm:ss] text (Loore include_timestamps)
--jsonoffJSON instead of text
--langautocaption language, e.g. ru, en, en-US (Loore language)
--originaloffonly captions in the original spoken language (original_audio)
--no-metaoffskip the # title — channel header (saves the yt_video call)

Default: always use --timestamps unless the user asks otherwise.

Long transcripts come in windows (up to 40000 characters or 400 segments each, truncated / nextOffset); the script reads all of them.

Output (text, --timestamps):

# Rick Astley - Never Gonna Give You Up — Rick Astley

[00:00:18] We're no strangers to love
[00:00:21] You know the rules and so do I

Output (--json --timestamps):

{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [
    { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 },
    { "text": "You know the rules and so do I", "start": 21.5, "duration": 2.8 }
  ],
  "metadata": {
    "title": "Rick Astley - Never Gonna Give You Up",
    "author_name": "Rick Astley"
  }
}

Without --timestamps, transcript is one string.

Errors

Exit / codeMeaningAction
exit 3LOORE_API_KEY not setSet the key (Setup)
401Bad or revoked keyCheck the key in app.loore.ai
402Out of credits / plan quotaStop and tell the user
428Spend approval neededCreate the budget (Setup)
429Rate limitedThe script waits Retry-After; longer than 120 s – exit 4 with the time to rerun
exit 4 / 404No captions (or no captions in --lang)The script lists the caption languages the video has

Tips

  • For long videos, summarize key points first, offer full transcript on request.
  • Use --json --timestamps when you need precise timestamps for quoting specific moments.
  • Drop --timestamps for clean text suitable for translation or analysis.
  • Pick the track: yt_video lists captionLanguages; pass one as --lang.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.