Skip to main content

transcript-clean

Turn a raw ASR transcript into clean, speaker-labeled, timestamped text that the rest of the pack can read reliably.

Informations de source

Dépôt
ryanfrigo/clawmart
Dernière activité de la source
3 juillet 2026 à 06:45
Langue détectée de SKILL.md
anglais
Étoiles
3
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
transcript-clean
description
Turn a raw ASR transcript into clean, speaker-labeled, timestamped text that the rest of the pack can read reliably.
metadata
{"openclaw":{"emoji":"🧹"}}
# Transcript Clean Raw transcripts from Whisper, Descript, Otter, Riverside, or YouTube auto-captions are messy: filler words, false starts, `Speaker 1 / Speaker 2` labels, mangled names, and 400-word run-on blocks. This skill turns any of them into one **canonical transcript** — the single clean file every other skill in the Content Engine pack reads. ## When to use (trigger phrases) Use this skill when the user says: - "clean up this transcript" - "fix the transcript / label the speakers" - "here's the raw captions, make it readable" - "prep this episode transcript for show notes / clips" - "convert this SRT/VTT to a clean transcript" ## How it works 1. **Identify the input format.** Detect one of: SRT, WebVTT (`.vtt`), Whisper/Descript JSON, or plain text. Timed formats look like `00:00:12,340 --> 00:00:15,900`. Keep the timestamps — downstream clip-finding depends on them. 2. **Parse to segments.** Reduce every format to a list of `{ start, speaker, text }`. For SRT/VTT you can strip the cue numbers and arrows; for JSON read the `segments`/`words` array. If the source has no timestamps, keep the text but warn the user that clip-finder will be approximate. 3. **Resolve speakers.** ASR gives `SPEAKER_00`, `Speaker 1`, etc. Ask the user once: *"Who is Speaker 1 / Speaker 2?"* Then map every label to a real name (e.g. `Host — Ryan`, `Guest — Dr. Chen`). If diarization is obviously wrong (one speaker's lines bleed into another mid-sentence), fix the boundary using conversational cues (questions vs. answers). 4. **Build a name & term glossary.** ASR reliably mangles proper nouns, product names, and jargon. Ask the user for a short glossary (`"it's 'Convex' not 'convicts', 'x402' not 'x 4 0 2'"`) and apply it as a find-and-replace across the whole transcript. This one step saves every downstream skill. 5. **Light-clean the prose — do not rewrite it.** Remove filler (`um`, `uh`, `you know`, `like` used as filler), collapse stutters and false starts (`I think— I think we should` → `I think we should`), and fix obvious punctuation. **Keep the speaker's actual words and voice.** Never paraphrase, never "improve" the argument. When in doubt, leave it. 6. **Re-paragraph.** Break the wall of text into paragraphs at every speaker change and roughly every 30–60 seconds of a single speaker. Prepend a `[HH:MM:SS]` timestamp to each paragraph so clips and chapters can anchor to it. 7. **Offer a verbatim mode.** If the user is producing an accessibility transcript or legal record, ask before removing filler — some use cases need it word-for-word. Default is "readable clean," verbatim on request. 8. **Write the canonical file.** Save as `transcript.clean.md` next to the source (or wherever the user keeps the episode). Report a short diff summary: input format, duration, speaker count, words removed. ## Output A single markdown file in this canonical shape: ```markdown # The Cold Start Problem — Ep. 42 with Dr. Chen Duration: 58:12 · Speakers: Host — Ryan, Guest — Dr. Chen [00:00:00] **Ryan:** Welcome back. Today I'm talking to Dr. Chen about why most consumer apps die in the first ninety days, and what the survivors do differently. [00:00:19] **Dr. Chen:** Thanks for having me. The thing nobody tells you is that retention is a distribution problem, not a product problem. You can have a great product and still churn everyone if the first session doesn't land. [00:01:04] **Ryan:** Say more about "the first session doesn't land" — ``` Plus a one-line report back to the user, e.g.: `Cleaned VTT → transcript.clean.md · 58:12 · 2 speakers · removed 214 filler words · applied 6 glossary fixes (Convex, x402, Dr. Chen…).` ## Notes - **This skill does not transcribe audio or video.** It expects text in. If the user only has a recording, run a transcription skill first (e.g. the `openai-whisper` OpenClaw skill, or Descript/Riverside export) and hand the result here. - **Fidelity over polish.** The most common failure is an over-eager rewrite that changes what the guest actually said. Clean the noise, keep the substance. If you find yourself rephrasing a sentence, stop. - **Preserve timestamps at all costs.** If the source is plain text with no timing, tell the user clip timestamps will be estimated, not exact. - **The glossary is worth the interruption.** One pass of corrected names/terms here prevents the same error showing up in show notes, clips, the newsletter, and the thumbnail title. - Non-English or code-switched audio: keep the original language; don't silently translate. Ask if a translated version is wanted as a separate file.
Voir sur GitHub