transcribe-media
Skill4 starsChanged 4 months agoMITView on GitHub
Use when the user wants a transcript, timestamps, speaker-labeled text, SRT or WebVTT subtitles, or accessible speech content from an audio/video recording in Simplified. Use before content-repurposer when the source must first be transcribed.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- VideoTranscriberAI/videotranscriber-skillstheir own version, first seen Oct 13, 2026
- cyberpinkman/awesome-capturetheir own version, first seen Jul 30, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- VideoTranscriberAI/videotranscriber-skills★ 14same name
- cyberpinkman/awesome-capture★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- campaign-reviewSkill
- content-repurposerSkill
- creative-testingSkill
- cross-platform-campaignSkill
- edit-imageSkill
- evergreen-content-engineSkill
- generate-imageSkill
- generate-videoSkill
- generate-voiceoverSkill
- local-business-marketingSkill
- manage-assetsSkill
- manage-brandSkill
- manage-projectsSkill
- repurpose-videoSkill
- simplified-agentsSkill
- simplified-cliSkill
- simplified-project-managementSkill
- simplified-socialSkill
- simplified-workflowsSkill
- simplified-workspaceSkill
- social-content-plannerSkill
- social-performance-analystSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Verify the connected tools and current schemas.
- Very specific: line 16
Use the recording's known language as language_code in BCP-47 form.
- Very specific: line 20
Call media_transcribeVideo with video_url and the chosen language.
- Distinctive: line 38
Keep verbatim transcript and assistant-written summary distinct.
- Very specific: line 42
Only after job_status: "DONE", call media_downloadTranscriptionFile with the transcription id and requested_format: "srt" or "vtt".
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Transcribe recordings and export subtitles
Deliver the source transcript separately from summaries or rewritten content. Do not infer words, speaker identities, or timestamps that the returned recording data does not support.
Source, language, and scope
Verify the connected tools and current schemas. Resolve a named or uncertain workspace/teamspace using api_getWorkspaceInfo and accessible membership from api_listTeamspaces; carry numeric space_id through transcription, source assets, exports, and any downstream draft calls.
media_transcribeVideo.video_url takes a reachable audio or video URL, despite the name. An uploaded asset UUID must first be resolved with api_getAsset; require ready status: 4 and use its fresh file URL. A chat attachment or local path is not a hosted file. Use manage-assets for client-capable upload/import; otherwise request an accessible source. Do not treat a web page requiring login as the media URL.
Use the recording's known language as language_code in BCP-47 form. If unknown and material, ask; do not silently transcribe a non-English recording with the default en-US. A request to transcribe authorizes that job; a request to list options does not. Preserve the source file.
Submit once and inspect completion
Call media_transcribeVideo with video_url and the chosen language. The raw backend submission can return only an id; current MCP middleware normally waits and returns a full transcription record. Do not force another polling call when the returned job_status is already DONE.
| Returned state | Action |
DONE with payload.phrases | Read the transcript; export subtitles if requested |
Only a transcription id | Inspect it with media_getTranscription |
FAILED | Stop and report the failure; do not claim a transcript exists |
CREATED, PENDING, PROCESSING, RENDERING, UPDATED | Continue the same id with media_getTranscription |
Timeout/error envelope containing id | Retain that transcription ID and inspect it with media_getTranscription before retrying |
UPDATED is non-terminal for transcription, even though other media workflows use it differently. Poll at reasonable intervals, such as 10 seconds, with a bounded wait. The transcription id is not a Celery task_id, an asset UUID, or a repurposing-project ID; do not call api_getTaskResult with it. If continuation is unavailable, report the pending ID rather than submit a duplicate.
Preserve evidence and timing
Read payload.phrases and its word-level data. Words can include text, start, end, and confidence; timing is in milliseconds, so divide by 1000 for seconds. 90000 milliseconds is 90 seconds, not 90000 seconds. Use only the timings actually returned; one timed word does not establish a whole phrase's duration.
A label such as speaker_0 identifies an anonymous speaker, not a person's name. Attribute names only from reliable provided evidence. Mark unclear/low-confidence content, preserve qualifications, and avoid silently rewriting uncertain names, figures, or claims. A quoted business claim remains speaker testimony unless independently supported.
Keep verbatim transcript and assistant-written summary distinct. Do not claim to have reviewed visuals or non-speech content just because a recording was transcribed. For long content, retain the full transcript and label excerpt coverage.
Export requested subtitles
Only after job_status: "DONE", call media_downloadTranscriptionFile with the transcription id and requested_format: "srt" or "vtt".
The response is raw subtitle text, not necessarily a file URL. Preserve its numbering, timecodes, blank lines, and encoding. Save the returned body to a .srt/.vtt file when the client can create files, or provide the text accurately. Do not invent a download link or substitute transcription_url for a requested subtitle export. An SRT/VTT export does not prove subtitles were burned into the video.
Return the transcript/available artifact, language, supported speaker labels and timestamps, coverage limits, and saved transcription ID. When social repurposing is requested, hand the actual transcript to content-repurposer; persist drafts only within the requested scope. Transcription and draft creation do not authorize publishing.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

