Youtube to transcript
Skill tikhomirovv/agents-knowledge/skills/youtube-to-transcript
Роли и базы знаний для агентов а также их менеджмент в виде текстовых файлов для использования с LLM.
npx -y skills add tikhomirovv/agents-knowledge --skill youtube-to-transcriptAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Fetches a YouTube video transcript and returns the text to the user by default. Present the answer like a simple UI — short and substantive; avoid flags, paths, and stack talk unless something breaks or the user asks. Use when the user provides a YouTube link or video ID and wants the transcript; optional save-to-file or Add Knowledge. Triggers on "get transcript", "download transcript", "YouTube transcript", or a YouTube URL plus transcript intent.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.8 KB, 828 tokens by cl100k_base, as published. Nobody here has run it
YouTube to Transcript
Default: transcript in the reply; run without --file (stdout = plain text for the user). Do not assume a project folder or transcripts/ unless the user asked.
Save to disk only if the user asked: then --file <path>. No path for a save they want → ask once. Unclear request → default chat only; no extra "reply or file" question.
Optional: --lang xx (default en). Add Knowledge only if they want that next.
How you talk to the user — §6. Do not ask which package to use: always youtube-transcript-plus (see §4).
Workflow
1. URL / ID
Missing → ask once.
2. Output intent
- Chat (default) — no
--file. - Save — user asked for a file:
--file <path>(ask forpathonce if needed). - Unclear — chat only, no
--file.
3. Runtime (Bun only)
bun must be on PATH. If not → stop with error (the user must install Bun; you do not install it here).
Run the script with bun run only, never with node on the .ts file.
4. Dependency (youtube-transcript-plus)
- Check (exit 0 = ok):
bun -e "import('youtube-transcript-plus').then(()=>process.exit(0)).catch(()=>process.exit(1))" - If the check fails → install only with
bun install -g youtube-transcript-plus. Do not:bun add youtube-transcript-plusin the skill, this repo, or any project;bun install(without-g) to pull this package into a folder. Do not usenpm install -g(or pnpm/yarn global) for it. Re-run the check. Do not add apackage.jsonto the skill.
npm / npx / node / NODE_PATH are not used for this skill.
If the import still fails after a successful global install, report the error to the user.
5. Run script
<path> = this skill’s scripts/fetch-transcript.ts — anchor the path to the directory containing this SKILL.md.
- Chat:
bun run <path> "<id-or-url>" [--lang xx] - Save: add
--file "<path>"
Read stdout = transcript; stderr = progress/errors.
6. Reply (user-facing)
Short, plain language. Do not surface script paths, --lang/--file, or Bun by default. Technical detail when something failed or the user asked.
Normalize HTML entities in text if they appear in the source.
Saved file: one line, human path, if applicable.
Edge cases
- No
bunon PATH — error; do not run. - No URL — do not run.
- Fetch errors — report; try another
lang/ video. - Relative
--file— resolved vs shell cwd; use an absolute path if the user needs a specific place.
Summary
Bun on PATH, else error → URL/ID (ask if missing) → default chat (or --file if the user wanted a save) → bun -e import check → if needed, bun install -g youtube-transcript-plus (not npm -g) → bun run <script> → answer. One runtime only; no local package files inside the skill.