agentsclimarketplace

Audio to markdown transcriber

Skill findscripter/everything-skills/01-documents/audio-to-markdown-transcriber

类书式 AI Agent 技能大典 · 精选/中文化/互见成网的 500+ 开源技能,可作为 Claude Code 插件市场一键安装。A curated, cross-referenced encyclopedia of 500+ open-source agent skills.

Install
npx -y skills add findscripter/everything-skills --skill audio-to-markdown-transcriber

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

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 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.

What its author says it does

Copied from the file, not written here

当需要把音频/视频录音转成文字并产出结构化 Markdown(含元数据、逐字稿、会议纪要、摘要)时使用;用 Whisper/Faster-Whisper 转写并经 LLM 整理出参与者、议题、决策、待办;不适用于实时流式转写、说话人精确声纹识别或纯听写无结构需求;触发词:转写音频、会议纪要、语音转文字

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

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

何时使用

适用:

  • 把本地或 URL 的音频/视频转成文字逐字稿(MP3、WAV、M4A、OGG、FLAC、WEBM、MP4)。
  • 从录音自动生成会议纪要(参与者、议题、决策、待办)和高管摘要。
  • 需要带技术元数据(时长、语言、文件大小、说话人数、转写引擎)的规范化 Markdown 报告。
  • 批量转写一个目录下的多个录音。

不该用(负边界):

  • 实时/流式转写或会中实时字幕(本技能针对已落盘文件离线处理)。
  • 高精度声纹说话人识别(diarization)——这里只做粗粒度区分,不保证身份准确。
  • 仅需纯文本听写、不要任何结构化整理的场景(直接调用 whisper 即可,无需本技能)。
  • 飞书妙记等平台已托管的音视频——优先用对应平台技能,不要本地 ffmpeg/whisper。

步骤

1. 探测转写引擎(零配置)

优先 Faster-Whisper(快 4-5 倍),否则回退原版 Whisper:

if python3 -c "import faster_whisper" 2>/dev/null; then
    TRANSCRIBER="faster-whisper"
elif python3 -c "import whisper" 2>/dev/null; then
    TRANSCRIBER="whisper"
else
    TRANSCRIBER="none"
fi
command -v ffmpeg >/dev/null && echo "ffmpeg 可用(支持格式转换)"

均缺失时给出安装指令(不静默自动装,先征求用户):pip install faster-whisper(推荐)或 pip install openai-whisper;格式转换需 brew install ffmpeg(macOS)/ apt install ffmpeg(Linux)。

2. 校验音频并提取元数据

[[ -f "$AUDIO_FILE" ]] || { echo "文件不存在: $AUDIO_FILE"; exit 1; }

FILE_SIZE=$(du -h "$AUDIO_FILE" | cut -f1)
DURATION=$(ffprobe -v error -show_entries format=duration \
    -of default=noprint_wrappers=1:nokey=1 "$AUDIO_FILE" 2>/dev/null)
FORMAT=$(ffprobe -v error -select_streams a:0 -show_entries \
    stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$AUDIO_FILE" 2>/dev/null)

SIZE_MB=$(du -m "$AUDIO_FILE" | cut -f1)
[[ $SIZE_MB -gt 25 ]] && echo "大文件($FILE_SIZE)——处理可能需要数分钟,确认继续?"

格式不在支持列表时,用 ffmpeg 转 16kHz WAV:

EXTENSION="${AUDIO_FILE##*.}"
SUPPORTED=("mp3" "wav" "m4a" "ogg" "flac" "webm" "mp4")
if [[ ! " ${SUPPORTED[@]} " =~ " ${EXTENSION,,} " ]]; then
    ffmpeg -i "$AUDIO_FILE" -ar 16000 "${AUDIO_FILE%.*}.wav" -y
    AUDIO_FILE="${AUDIO_FILE%.*}.wav"
fi

3. 转写并生成结构化 Markdown

用选定引擎转写得到分段(segments),再借 LLM 整理纪要:识别议题(按时间戳聚类)、决策(关键词「决定/同意/批准/decided/agreed」)、待办(关键词「需要/将/应/action/will」),并生成不超过 5 段的执行摘要(Chain of Density 思路)。

4. 输出文件(带时间戳避免覆盖)

TIMESTAMP=$(date +%Y%m%d-%H%M%S)
echo "$TRANSCRIPT_CONTENT" > "transcript-${TIMESTAMP}.md"
[[ -n "$ATA_CONTENT" ]] && echo "$ATA_CONTENT" > "ata-${TIMESTAMP}.md"

逐字稿(transcript)与 LLM 处理后的纪要(ata)分开两个文件;清理 metadata.json、transcription.json 等临时件。LLM 处理可选,用户拒绝则只产出逐字稿。

指令

  • 引擎优先级固定为 Faster-Whisper > Whisper,不要随意切换。
  • 缺依赖时先问、不擅自联网安装;大文件(>25MB)先确认再处理。
  • 调用本地 LLM CLI 整理纪要时设超时(如 300 秒),失败要回退保留逐字稿:
result = subprocess.run(['claude', '-'], input=full_prompt,
    capture_output=True, text=True, timeout=300)
return result.stdout.strip() if result.returncode == 0 else None
  • 输出 Markdown 报告固定包含:元数据表(文件名/大小/时长/语言/处理日期/说话人数/引擎)、会议纪要(参与者、议题及时间戳、决策、待办复选框)、执行摘要。

示例

输入:转写为 Markdown:meeting-2026-02-02.mp3

输出要点:

文件: meeting-2026-02-02.mp3 | 大小: 12.3 MB | 时长: 00:45:32
语言: 中文 | 说话人: 4 | 字数: 6842 | 用时: 127s
生成: transcript-*.md(逐字稿)、ata-*.md(纪要)

批量:转写 recordings/*.mp3 → 逐个处理并各产出一份报告,末尾汇总总耗时。

待办条目格式:- [ ] **任务** - 负责人: {说话人} - 截止: {若提及}

注意事项

  • 仅在任务明确落入上述范围时使用;输出不替代针对具体环境的校验、测试或专家复核。
  • 若缺少必要输入、权限、安全边界或成功判据,停下并向用户澄清。
  • 说话人识别为粗粒度,身份/分段不保证准确,重要场合需人工核对。
  • 大文件或长音频转写耗时可能 10-15 分钟,先告知用户预期。
  • 跨平台:依赖本地 Python/ffmpeg,不绑定特定项目配置或云 API,遵循零配置理念。

互见

  • lark-minutes(飞书妙记):平台托管音视频转纪要/逐字稿,优先于本地 whisper。
  • lark-markdown / lark-doc:把产出的 Markdown 报告上传或转为在线文档。
  • lark-workflow-meeting-summary:多会议纪要汇总成结构化周报。

采编自 sickn33/antigravity-awesome-skills(MIT 许可证)。

What ships with it

Read from the repository

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

Keep looking

Skills are one crate of 328,083. 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.