with one click
fetch-google-recorder
// Fetch and transcribe Google Recorder voice notes. Use when the user shares a recorder.google.com link and wants the original audio file, a transcript, or wants to act on a voice note.
// Fetch and transcribe Google Recorder voice notes. Use when the user shares a recorder.google.com link and wants the original audio file, a transcript, or wants to act on a voice note.
Initialize a new Python library with modern tooling, packaging, tests, and optional CLI support. Use when the user wants to scaffold a new Python package.
Add the standardized CI publish workflow (`.github/workflows/publish.yml` + `make release`) to an existing Python project so PyPI releases happen on tag push. Use when a project still publishes via a local script (`publish.py`, `hatch publish`, `twine upload`) or has no automated publish at all.
Release the current project to its package registry and GitHub by bumping the version, pushing a tag, and letting CI publish. Works for any project (Python/PyPI, Rust/crates.io, Node/npm, etc.) that has a CI publish workflow keyed off `v*` tags.
Run and fix stylint checks for prose, Markdown, lessons, workshops, docs, and agent-written text. Use when editing written content or when the user asks for style, polish, or lint cleanup.
Transcribe local audio files with the OpenAI Audio Transcriptions API without adding OpenAI dependencies to the target project.
Fetch YouTube video transcripts. Use when the user asks to get a YouTube video transcript, subtitles, or captions, or wants to analyze/summarize a YouTube video.
| name | fetch-google-recorder |
| description | Fetch and transcribe Google Recorder voice notes. Use when the user shares a recorder.google.com link and wants the original audio file, a transcript, or wants to act on a voice note. |
| allowed-tools | Bash(uv run *), Bash(python *) |
| argument-hint | ["recorder-url"] |
Fetch Recorder-provided transcripts from public Google Recorder share links. Fetch audio only when explicitly needed, and optionally transcribe audio with WhisperX.
Google Recorder links must be public. Private links redirect to Google sign-in and cannot be fetched without an authenticated browser session or cookies.
Prefer this when the user asks for the transcript. Google Recorder
shares already expose a transcript through the Recorder playback RPC, so
there is no need to download the .m4a or run WhisperX.
Run from the directory where outputs should be written:
uv run python ~/.claude/skills/fetch-google-recorder/recorder.py transcript \
'https://recorder.google.com/<share-id>' \
--out-dir fetched
This writes:
<recording-title>.transcript.txt
<recording-title>.transcription.jsonpb
<recording-title>.words.json
Use .transcript.txt for normal text workflows. Use .words.json only
when word-level timestamps are needed.
Run from the directory where outputs should be written:
uv run python ~/.claude/skills/fetch-google-recorder/recorder.py fetch \
'https://recorder.google.com/<share-id>' \
--out-dir fetched
This writes the original .m4a audio file. The filename is lowercase and
underscore-separated, based on the Recorder title. It also tries to write
the Recorder-provided transcript files.
WhisperX currently needs Python 3.13 for the available Torch wheels. Use --python 3.13 even if the surrounding repo defaults to another Python version:
uv run --python 3.13 --with whisperx --with torch \
python ~/.claude/skills/fetch-google-recorder/recorder.py transcribe \
fetched/google_recorder_apr_24_at_12_26.m4a
This writes:
<audio-stem>.whisperx.txt
The timestamped transcript format is:
[MM:SS] transcript text
Add --raw only if a plain raw transcript is also needed:
<audio-stem>.whisperx.raw.txt
For the full flow:
uv run --python 3.13 --with whisperx --with torch \
python ~/.claude/skills/fetch-google-recorder/recorder.py fetch-transcribe \
'https://recorder.google.com/<share-id>' \
--out-dir fetched
For transcript requests, use the transcript command first. It is faster
and avoids downloading audio.
After fetching/transcribing audio, use the .m4a for audio workflows and
.whisperx.txt for WhisperX text workflows. If WhisperX transcription
quality is poor, inspect the Recorder-provided .transcript.txt.