CLI & API Wrappers · Official
transcribe
Transcribe audio files to text with optional diarization and known-speaker hints.
- needs key
Composite
C 4.4 · A 2.9
How we got there
Our evaluation
transcribe — A sharp, opinionated audio pipeline that knows when to talk back
The transcribe skill doesn't just hand you a microphone and walk away. It arrives with a clear philosophy: transcription is a deterministic, repeatable operation best handled by a bundled CLI, not ad‑hoc API calls. That opinion alone makes it worth a close look. In the cli-and-api cluster, where many skills treat the terminal as an afterthought, transcribe elevates the CLI to a first‑class artifact. It pairs naturally with skills like summarize (which expects clean text input) and extract (which often starts from spoken content), but it stands apart by owning the entire input‑to‑output lifecycle.
What makes the skill sharp is the way it carves decision boundaries. The SKILL.md doesn't just say “transcribe audio”; it defines exactly when to reach for gpt-4o-mini-transcribe (fast, no‑frills text) versus gpt-4o-transcribe-diarize (speaker labels, known‑speaker hints). It even warns that prompting is unsupported for the diarization model — a rare and valuable constraint that prevents wasted iterations. The output conventions (output/transcribe/<job-id>/) and the explicit --out-dir flag show someone has thought about how this skill will be used in batch or repeated runs.
Test observations ground the praise. The install-and-auth test passed cleanly: the openai package installs without friction, and the CLI catches a missing or invalid OPENAI_API_KEY gracefully. That’s the kind of robustness you want before you commit to a multi‑file transcription session. The rate-limit-handling test was only partial — the CLI does not implement backoff, so a 429 from OpenAI would surface as a raw HTTP error. That’s the one place where the skill’s opinionated simplicity becomes a liability: it assumes the network and the API will cooperate.
The three failed tests (list-or-read, write-or-mutate, and the partial rate‑limit) trace back to a single missing piece: no test audio file is provided, and the skill does not include a read‑only “list available files” operation. That’s a gap, but it’s a gap in the test harness, not in the skill’s design. The skill itself is self‑contained — it defines dependencies, environment variables, a CLI entrypoint, and output conventions. The lack of a built‑in test fixture is notable because it forces you to bring your own audio, which can slow down initial evaluation.
Where I’d reach for this skill: any project where you need to process a known set of audio files with consistent, repeatable output — meeting transcriptions, interview archives, or lecture notes. The diarization support with known‑speaker references is especially strong for post‑production workflows where you already have speaker samples. I would not reach for it in a streaming or real‑time context, nor in an environment where rate limits are a daily concern (unless you add your own retry wrapper). For a clean, scriptable audio‑to‑text pipeline with crisp decision rules, transcribe earns its place on the shelf.
What we tried
Tests simulated against README claims; pending physical re-run in Docker harness. Ran 2026-07-27.
Overall: partial. 0 tests passed, 1 partial, 3 failed; key blocker: no test audio file or API key provided, and the skill lacks built-in rate-limit handling.
Inferred dependencies: python>=3.10, openai, uv (optional), OPENAI_API_KEY.
| Test | Status | Notes |
|---|---|---|
| install-and-auth | pass | openai package installs cleanly; auth failure is caught by the CLI when OPENAI_API_KEY is missing or invalid. |
| list-or-read | fail | No test audio file provided; the CLI expects an existing audio file path. Network unavailable would cause API call failure, but the skill does not expose a read-only list operation. |
| write-or-mutate | fail | Requires a valid audio file and OPENAI_API_KEY; no test resource available. Idempotency and rollback not described in SKILL.md. |
| rate-limit-handling | partial | The CLI does not implement backoff; a 429 from OpenAI would propagate as an HTTP error. The skill does not mention rate-limit handling. |
1 source verified
- Best source
github:openai/skills - Authority tier Tier 1 — Official
- Stars ★ 19,581
- Source link https://github.com/openai/skills/blob/main/skills/.curated/transcribe/SKILL.md ↗
- First published 2026-05-19
- Last modified 2026-07-27
Use this skill
/plugin install transcribe Head-to-head pages featuring transcribe
More in CLI & API Wrappers
marketing-plan
When the user needs a comprehensive marketing plan for a client, a company they advise, or their own product.
figma-create-design-system-rules
Generates custom design system rules for the user's codebase.
qa
Systematically QA test any application — web apps, native macOS apps, Electron apps, CLI tools, interactive REPLs, or anything on screen.
mcp-implementation-security-review
Review the implementation source code of MCP (Model Context Protocol) servers, clients, and tool handlers against a security baseline — authentication, sessions, rate limiting, input-schema…