transcribe — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited transcribe (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Fetch a spoken-word transcript from a video URL. YouTube URLs try the uploader's captions first (seconds, no model download). Everything else — and YouTube videos without captions — falls through to audio extraction + mlx-whisper on Apple Silicon, with a headless-Playwright fallback for Threads and other yt-dlp-unsupported platforms.
From the Bash tool:
transcribe <url> # default: captions-first for YouTube, whisper otherwise
transcribe <url> --json
transcribe <url> --force-whisper # skip YouTube captions, always run whisperThe transcribe executable is on PATH once the plugin is installed.
From another skill, use the Skill tool:
Skill({ skill: "transcribe:transcribe", args: "<url>" })Default (markdown):
# {title}
**Source:** {url}
**Platform:** {YouTube|Instagram|TikTok|Threads}
**Duration:** {mm:ss or "unknown"}
**Model:** mlx-community/whisper-large-v3-mlx
{transcript}With `--json`: structured object with title, url, platform, duration_seconds, model, tier (youtube-captions-manual, youtube-captions-auto, ytdlp, or playwright), text, and segments[] with timestamps. The captions tiers return an empty segments[] — segment timing is only available when whisper runs.
Install with:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/install.shApple Silicon only in v0.1. Install deps: yt-dlp, ffmpeg, Node.js ≥ 20, Playwright Chromium, mlx-whisper.
Default model: mlx-community/whisper-large-v3-mlx (~3GB, downloaded on first use). Override per-call with the WHISPER_MODEL environment variable, for example:
WHISPER_MODEL=mlx-community/whisper-base-mlx transcribe <url>Smaller models trade accuracy for speed. Use whisper-base-mlx (~140MB) for quick checks.
yt-dlp --write-sub --write-auto-sub fetches the uploader's captions directly, no audio download, no whisper. Manual captions preferred; auto-generated is the fallback within this tier. YouTube URLs only. Seconds per video.--force-whisper is set. Minutes per video.The Model: line in the output reports which tier ran: youtube-manual-captions, youtube-auto-captions, or the whisper model name.
--force-whisper when accuracy matters more than speed.~/.cache/transcribe-plugin/playwright-profile/.<video> element's currentSrc and filters to segments sharing its CDN asset id, but expect occasional failures or mismatches. Retry or fall back to manual download for critical Threads transcripts.references/integration-guide.md — how other skills should invoke transcribe~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.