Whisper Speech Recognition
Orchestra-Research/AI-Research-SKILLs
Transcribes audio with OpenAI's Whisper: 99 languages, translation to English, language detection, six model sizes and word-level timestamps, from Python or the CLI.
Turns meeting recordings into notes with a chain of custody from audio to claim, auditing transcripts for gaps and low-confidence numbers and names.
$ npx skills add ooiyeefei/ccc --skill scribe -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ooiyeefei/ccc scribe --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scribe .claude/skills/scribe && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scribe" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/scribe into .claude/skills/scribe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scribe", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ooiyeefei/ccc/tree/main/skills/scribeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ooiyeefei/ccc --skill scribe -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ooiyeefei/ccc scribe --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/scribe .agents/skills/scribe && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scribe" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/scribe into .agents/skills/scribe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scribe", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ooiyeefei/ccc --skill scribe -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ooiyeefei/ccc scribe --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/scribe .cursor/skills/scribe && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scribe" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/scribe into .cursor/skills/scribe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scribe", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ooiyeefei/ccc.git --path skills/scribe--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ooiyeefei/ccc --skill scribe -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ooiyeefei/ccc scribe --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/scribe .gemini/skills/scribe && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scribe" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/scribe into .gemini/skills/scribe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scribe", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ooiyeefei/ccc scribeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ooiyeefei/ccc --skill scribe -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/scribe .github/skills/scribe && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scribe" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/scribe into .github/skills/scribe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scribe", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ooiyeefei/ccc --skill scribe -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ooiyeefei/ccc scribe --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/scribe .opencode/skills/scribe && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scribe" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/scribe into .opencode/skills/scribe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scribe", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scribeTurns meeting recordings into notes with a chain of custody from audio to claim, auditing transcripts for gaps and low-confidence numbers and names.
The skill rests on the idea that a summarizer cannot hear and will turn garbled audio into confident, clean-sounding facts. It keeps a chain of custody so every claim in the notes traces to audio the model heard well, and a claim with broken custody says so. It begins by pinning down the recording's language, speakers and domain vocabulary, then transcribes with scripts/transcribe.py, preferring a backend that labels speakers.
Next, scripts/audit.py reports two kinds of findings: gaps, where a recorder dropped content, and risky spans, where numbers and proper nouns rest on low-confidence audio. Each finding must be corroborated against a second transcript, confirmed with you or carried into the notes as a marked uncertainty, and a transcript from another tool can be aligned against the first. The scripts need Python with httpx, the local provider also needs faster-whisper, and a providers reference covers setup and cost.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c0fd926. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scribe Meeting Notes loads about 876 tokens when it runs, and up to ~2.3k if it reads all its reference files. Until then it costs about 62 tokens; SKILL.md has 474 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ooiyeefei/ccc at commit c0fd926, republished under its MIT licence (© ooiyeefei). 474 words, ~876 tokens.
.claude/skills/scribe/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.A summariser cannot hear. Hand it a garbled span and it launders the noise into a clean fact — "some paying customer" becomes "~8,000 users" — and nothing downstream can separate that from a real figure. This skill holds a chain of custody: every claim in the notes traces back to audio the model actually heard well, and a claim whose custody is broken says so.
Scripts are in scripts/. They need a Python with httpx; --provider local also needs faster-whisper.
Ask the user, or read it off the surrounding material — the files, the repo, an existing transcript:
Done when you can state the language code, the speaker count, and at least five domain terms.
python scripts/transcribe.py AUDIO... --out DIR --language <code> --diarize --keyterms "term,term,..."--provider selects the backend; auto takes the first with a key present. Setup, capability and cost per provider: references/providers.md.
Prefer a backend that diarizes. Speaker labels you derive yourself by reasoning about who-said-what are inference, and inference is a break in the chain of custody.
Done when every input file has a .json and .txt in DIR.
python scripts/audit.py DIRTwo findings, both of which vanish once a transcript is flattened into prose:
Give every finding one of three dispositions: corroborated against a second transcript, confirmed with the user, or carried into the notes as a marked uncertainty.
Done when the count of dispositions equals the count of findings.
When the user has another transcript of the same audio — Granola, Otter, an earlier run — align it against yours.
Two independent decodes are the cheapest confidence signal available. A claim present in one and absent from the other is a divergence, not a fact, and inherits the lower confidence of the two. Where your audio has gaps, the other transcript may be the only evidence that exists; anything sourced that way stays marked as uncorroborated.
Group by topic, so each section stands on its own.
Every figure and every named entity carries its custody:
| Traced to | Written as |
|---|---|
| a span above threshold | stated plainly |
| a flagged span | stated with its marking and timestamp |
| a gap-filling second transcript only | marked uncorroborated |
| no source | absent |
Cite timestamps for anything a reader might challenge.
Done when every figure and named entity in the notes falls into one of those four rows.
© ooiyeefei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in skills/scribe of ooiyeefei/ccc.
Open the folder on GitHubat commit c0fd926
Scribe Meeting Notes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scribe Meeting Notes this skillooiyeefei/ccc | 494 | — | ~876 | Automated safety check: Pass | MIT | |
| Whisper Speech RecognitionOrchestra-Research/AI-Research-SKILLs | 13k | 8 repos | ~1.9k | Automated safety check: Notes | MIT | |
| Video To Subtitle Summaryimlewc/video-to-subtitle-summary-skill | 212 | — | ~4.6k | Automated safety check: Notes | MIT | |
| Issue From NotesAxonIQ/AxonFramework | 3.6k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| AgentCall Join Meetingpattern-ai-labs/agentcall | 165 | 1 repos | ~25k | Automated safety check: Pass | MIT | |
| Transcript Fixerdaymade/claude-code-skills | 1.4k | — | ~10k | Automated safety check: Pass | MIT |
Orchestra-Research/AI-Research-SKILLs
Transcribes audio with OpenAI's Whisper: 99 languages, translation to English, language detection, six model sizes and word-level timestamps, from Python or the CLI.
imlewc/video-to-subtitle-summary-skill
A skill your agent uses when user provides a short video platform URL or local video/audio file and wants subtitles/AI summary, or when user asks to list their own AI Douyin historical tasks.
AxonIQ/AxonFramework
Create well-structured GitHub issues from any source: meeting notes, transcriptions, conversation context, informal descriptions, or direct requests.
pattern-ai-labs/agentcall
Joins Google Meet, Teams or Zoom video calls as an AI bot with voice and visual presence through the AgentCall service, in audio, text-to-speech or webpage modes.
daymade/claude-code-skills
Corrects ASR/STT transcription errors — homophones, garbled terms, person-name errors, mixed Chinese/English — with dictionary rules plus Claude's built-in AI, no external API key required.
Vexa-ai/vexa
Sends a Vexa bot into a meeting, follows the live transcript and writes meeting notes with speakers, decisions and action items into Obsidian, Notion or Markdown.
ooiyeefei/ccc
Builds marketing and explainer videos in Remotion from rendered scenes, with one real product capture as proof, and cuts them for each platform's formats.
ooiyeefei/ccc
Records a sharp product demo video by driving the real app with a browser agent, from storyboard to Xvfb capture and a narration script synced to the frames.
ooiyeefei/ccc
Generates architecture diagrams as .excalidraw files by analyzing a codebase, with optional PNG or SVG export through Playwright.
ooiyeefei/ccc
Sets up GA4 on a website and wires one real conversion event end to end, verified in DebugView before any money goes into ads.
ooiyeefei/ccc
Builds or rewrites SaaS landing pages by researching the real product, positioning it against alternatives and writing buyer-focused copy, then implementing it in the codebase.
ooiyeefei/ccc
Walks a site owner through installing the Meta Pixel, firing one conversion event and verifying it with the Pixel Helper before any ads run.
Turns meeting recordings into notes with a chain of custody from audio to claim, auditing transcripts for gaps and low-confidence numbers and names. The skill rests on the idea that a summarizer cannot hear and will turn garbled audio into confident, clean-sounding facts. It keeps a chain of custody so every claim in the notes traces to audio the model heard well, and a claim with broken custody says so.
Scribe Meeting Notes fits situations like: turning meeting recordings into trustworthy notes; fixing garbled or untrustworthy auto-generated transcripts or summaries; transcribing audio with speaker labels and domain terms; checking a transcript for gaps and unreliable figures.
Run `npx skills add ooiyeefei/ccc --skill scribe -a claude-code`. Or copy the skill folder (skills/scribe in ooiyeefei/ccc) into .claude/skills/scribe in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ooiyeefei/ccc --skill scribe -a codex`. Or copy the skill folder (skills/scribe in ooiyeefei/ccc) into .agents/skills/scribe in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ooiyeefei/ccc --skill scribe -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scribe, .gemini/skills/scribe, .github/skills/scribe and .opencode/skills/scribe in your project.
Going by SKILL.md and its folder, Scribe Meeting Notes needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python with httpx; faster-whisper, for the local provider; An API key for a hosted transcription provider, unless the local provider is used.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Scribe Meeting Notes is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 876 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scribe Meeting Notes: Whisper Speech Recognition (Orchestra-Research/AI-Research-SKILLs, 13k stars), Video To Subtitle Summary (imlewc/video-to-subtitle-summary-skill, 212 stars), Issue From Notes (AxonIQ/AxonFramework, 3.6k stars) and AgentCall Join Meeting (pattern-ai-labs/agentcall, 165 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ooiyeefei (a GitHub user) maintains it in ooiyeefei/ccc, which has 494 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on July 29, 2026.
Source: ooiyeefei/ccc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.