agentsclimarketplace

Overcast wiretap

Skill kdr/overcast/skills/overcast-wiretap

Work a recorded call or audio clip already in the case — separate the speakers, read the background scene for location clues, isolate and re-transcribe voices, and correlate content across recordings.From its SKILL.md

Install
npx -y skills add kdr/overcast --skill overcast-wiretap

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.2 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

overcast-wiretap

Use this skill to analyze audio recordings you already hold (a call, a voicemail, a field recording): how many people speak, what the background reveals about where it was recorded, and whether two clips share a voice or a phrase. Use the broad overcast skill and overcast/reference/verbs.md for exact flags.

Workflow

  1. Transcribe the recording and read its background scene on the default backend. --describe surfaces the whole audio scene (traffic, trains, a PA announcement, church bells) — the "enhance the background noise" move that places a recording — and is a tinycloud/Cloudglue multimodal feature, so do all the transcript/describe work FIRST, before binding any speech-only provider:
overcast doctor --json
overcast case init --json
overcast listen ./call.wav --json                 # speech transcript + time-anchored segments
overcast listen ./call.wav --describe --json       # background audio scene (tinycloud describe)
overcast view ./call.wav --spectrogram --json      # visual inspection artifact (tones, hums, edits)
  1. Isolate voices from noise and re-transcribe the cleaned track — a second pass often recovers words the first missed:
overcast enhance ./call.wav --ops voice-isolate,denoise --json   # bundled-ffmpeg filter (fast, lossy)
overcast enhance ./call.wav --ops separate --json                # true source separation → a track per speaker
                                                                 # (local pyannote: scripts/visual-db-uv.sh --voice + HF_TOKEN, or fal)
overcast listen <enhanced-record-id> --json
  1. Separate the speakers. --diarize needs a diarize-capable listen provider (the default tinycloud/Cloudglue listen is speech-transcript only and rejects --diarize). Bind ElevenLabs for this — but do it LAST, after the describe / multimodal steps above, because ElevenLabs Scribe is speech-only and drops the audio-scene describe:
overcast provider setup apply --verb listen --choice elevenlabs --yes --json
overcast listen ./call.wav --diarize --json        # -> <diarize-record-id> (speaker-labeled)
  1. Verify a speaker's identity across recordings with the local voice-print DB (speaker embeddings, not phrase matching — scripts/visual-db-uv.sh --voice, no token needed). Scores are rank scores, not liveness: a cloned/synthetic voice can score high, so corroborate before naming anyone:
overcast index create voices --type voice-print --local --json
overcast voice add ./call.wav --index voices --json               # enroll each recording
overcast voice match ./voicemail.m4a --index voices --json        # which recordings share this voice?
overcast voice match ./call.wav ./known-sample.wav --diarize --json  # WHICH diarized speaker matches (HF_TOKEN)

voice answers WHO is speaking (enroll a reference, then rank where/which). To ask whether two clips are the SAME RECORDING (a re-upload/leak of an identical file — a different question), fingerprint them with the local audio-fp DB, which matches exact audio through transcode/noise but NOT pitch/speed:

overcast index create clips --type audio-fp --local --json
overcast audio add ./call.wav --index clips --json
overcast audio match ./leaked.mp3 --index clips --min-margin 2 --json   # same recording? time-offset aligned

Full drills: overcast-voiceprint (WHO is speaking) and overcast-audio-match (same recording surfaced again).

  1. Record per-speaker and per-clue observations, then correlate across recordings. Cite the speaker-labeled <diarize-record-id> for who-said-what claims (not the step-1 transcript record):
overcast note "Speaker 2: PA announces 'platform 4' at 00:38 → rail station" --ref <diarize-record-id> --at 38 --confidence medium --json
overcast ask "which recordings share a speaker, phrase, or background cue? cite record.id + time" --verb listen --json
  1. Turn confirmed clues into findings and export; always leave a tldr note:
overcast finding create "call.wav and voicemail.m4a share Speaker 2's phrasing + station PA — likely same caller/location" --ref <diarize-record-id> --confidence medium --json
overcast note "3 recordings; 2 speakers on call.wav; background = rail station; cross-clip voice overlap on 2 of 3" --tag tldr --json
# Wait for the note result before exporting, so the TL;DR is included.
overcast brief --export ./wiretap.html --json

Output

A per-recording speaker breakdown with timestamps, the background-scene clues that locate or date it, any cross-clip voice/phrase overlaps, and the spectrogram artifacts — each cited by record.id + media.at.

Caveats

--diarize needs a diarize-capable listen provider: the default tinycloud/Cloudglue listen transcribes speech only and errors on --diarize — bind ElevenLabs (provider setup apply --verb listen --choice elevenlabs --yes) for speaker separation. Bind it LAST: ElevenLabs Scribe is speech-only and drops the audio-scene --describe, so run all transcript/describe/multimodal work on the default backend first, then rebind for the diarize pass. Diarization LABELS speakers ("Speaker 1/2"), it does not IDENTIFY them — a name is a corroborated inference, never a diarizer output. voice match scores speaker similarity, not liveness — a cloned/synthetic voice can score high and the same speaker scores lower across languages or heavy compression, so treat a voice match as a lead to corroborate, never an identification. voice-isolate on the bundled ffmpeg is a filter, not source separation — for a real per-speaker split use enhance --ops separate (local pyannote via scripts/visual-db-uv.sh --voice + HF_TOKEN and the accepted pyannote license, or fal), or bind ElevenLabs (--verb enhance --choice elevenlabs) for stronger isolation; either way re-listen to confirm the cleaned transcript rather than trusting it blind. Background-cue geolocation is suggestive, not definitive.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.