Communitygithub.com

DrErwin/videoscript-skill

Turn a public media URL (YouTube, Apple Podcasts, 小宇宙, Spotify public episodes, Bilibili) into a timestamped transcript with the user's own VideoScript account, using the `videoscript` CLI. Use when the user asks for a transcript, subtitles, SRT/VTT, or "what was said in this video/podcast", when captions are missing or need cleaning, or when a long recording must be turned into text for notes, summaries or further AI work.

videoscript-skill 是什么?

videoscript-skill is a Claude Code agent skill that turn a public media URL (YouTube, Apple Podcasts, 小宇宙, Spotify public episodes, Bilibili) into a timestamped transcript with the user's own VideoScript account, using the `videoscript` CLI. Use when the user asks for a transcript, subtitles, SRT/VTT, or "what was said in this video/podcast", when captions are missing or need cleaning, or when a long recording must be turned into text for notes, summaries or further AI work.

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add DrErwin/videoscript-skill

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

VideoScript Transcripts

What This Skill Does

It drives the videoscript command-line client. The CLI talks to the public VideoScript API with a key the user issued for themselves; the service does the extraction, transcription and billing. This skill never speaks HTTP itself and never handles a key.

Before Anything Else

videoscript auth status --json
  • {"authenticated": true, ...} → carry on.
  • Exit code 3 → the user is not signed in. Tell them to create an API key on the VideoScript website and run videoscript auth login --token <key> themselves. Never ask them to paste the key into the conversation, and never echo it.
  • videoscript not found → ask the user to install it (npm install -g videoscript).

The Normal Flow

# 1. Submit (returns a task ID immediately)
videoscript transcribe create "<url>" --json

# 2. Wait for it (honours the server's Retry-After)
videoscript transcribe wait <id> --json

# 3. Write the transcript to a file, not into the chat
videoscript transcript get <id> --format markdown --output notes/<name>.md

Rules That Matter:

  • One submission = one idempotency key. The CLI generates it and echoes it in --json; if a call has to be retried, reuse that key (--idempotency-key) so the user is never charged twice.
  • Long transcripts go to files. Read the file only as far as the user's request needs. Never paste a whole hour-long transcript into the conversation.
  • Consumption is visible. Every completed task spends the user's Credits and appears in their library; say so before submitting something long.
  • Content limits are the service's, not yours to work around. Logins, paid content, DRM, region blocks and live streams are refused by design. Do not suggest proxies, cookies or third-party downloaders.

When Something Goes Wrong

Exit codes: 3 sign-in, 4 no such task, 5 retry later, 6 Credits/budget, 7 the source is refused.

  • 5 → wait for the Retry-After the CLI reports, then retry. The CLI already retries twice by itself.
  • 6 → tell the user their balance or this key's budget is exhausted; never attempt a purchase.
  • 7 → explain the restriction plainly and stop. Do not retry.
  • 1/2 → unexpected error or bad arguments; read the message, fix the call.

Full tables: reference/cli.md and reference/errors.md.

What This Skill Does Not Do

Uploads, bulk jobs, deleting tasks, payments, admin actions, or anything that needs the user's password. The key's scopes are enforced by the service.

相关技能