YouTube Transcript Fetcher

v0.1.3

Fetch full YouTube transcripts with robust InnerTube fallback. Use when extracting captions/transcripts from a YouTube URL, channel, or batch config, especia...

1· 102·0 current·0 all-time
by小島 伊織 / Iori Kojima@ioridev
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description match the implementation: the code calls yt-dlp for channel/video listing and uses Python + requests to scrape YouTube and call the InnerTube player endpoint. Required binaries (python3, yt-dlp) and the listed Python dependencies are appropriate for the stated goal.
Instruction Scope
SKILL.md and README explicitly instruct fetching the watch page, extracting INNERTUBE_API_KEY, calling youtubei/v1/player with multiple client profiles, downloading caption XML, and returning transcript text. These steps are within the skill's purpose but do involve direct network calls to YouTube and user-agent/client spoofing to recover captions. The instructions do not ask the agent to read unrelated system files or environment variables.
Install Mechanism
Install spec uses a standard brew formula for yt-dlp and a requirements.txt for pip. No arbitrary downloads or obscure install URLs are present. The pip dependencies (requests, youtube-transcript-api) are normal for this functionality; as always, vet PyPI packages if you require strict supply-chain assurance.
Credentials
No environment variables, credentials, or config paths are requested. The tool only needs network access to YouTube and local ability to run yt-dlp and Python. There are no extra SECRET/TOKEN env requirements that would be disproportionate.
Persistence & Privilege
The skill is not marked always:true and does not request to modify other skills or global agent settings. It is a runtime-invoked CLI/skill with no persistent privileged presence requested.
Assessment
This skill appears internally consistent with its stated purpose, but consider the following before installing: (1) It scrapes YouTube and uses the extracted INNERTUBE_API_KEY to call youtubei endpoints — this is a pragmatic but scraping-like technique and may have ToS or legal implications for some uses. (2) Transcripts (potentially sensitive or copyrighted content) are fetched and written to disk (default /tmp); avoid running on private content you don't control and consider changing the output path. (3) The tool depends on yt-dlp and PyPI packages (requests, youtube-transcript-api); install those from trusted sources and review requirements.txt if you enforce supply-chain security. (4) If you want to minimize risk, run the skill in an isolated environment/container and inspect the script (scripts/youtube_transcript_fetcher.py) yourself — there are no obfuscated endpoints or hidden credentials in the provided files. If you need deeper assurance, provide the truncated portion of the script so it can be fully reviewed.

Like a lobster shell, security has layers — review code before you run it.

latestvk971gm8e9e395yts45gsreq8y184hqh2

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

Binspython3, yt-dlp

Install

Install yt-dlp (brew)
Bins: yt-dlp
brew install yt-dlp

Comments