xiaoyuzhou-podcast — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited xiaoyuzhou-podcast (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Download podcasts from xiaoyuzhoufm.com and generate full transcripts using FunASR Automatic Speech Recognition (ASR).
This skill processes Xiaoyuzhou FM podcast links to:
Activate this skill when:
First-time setup:
~/.claude/skills/xiaoyuzhou-podcast/scripts/install.shThis checks and installs:
~/.claude/skills/xiaoyuzhou-podcast/scripts/download.sh <URL or Episode ID>Examples:
# Using full URL
scripts/download.sh https://www.xiaoyuzhoufm.com/episode/6942f3e852d4707aaa1feba3
# Using episode ID only
scripts/download.sh 6942f3e852d4707aaa1feba3
# Custom output directory
scripts/download.sh 6942f3e852d4707aaa1feba3 ~/MyPodcastsOutput structure:
~/Research/Podcast/
├── {id}_{host} - {title}/ # 播客目录
│ ├── README.md # 最终合并文档(Show Notes + 转录)
│ └── .cache/ # 临时缓存(处理后自动删除)
│ ├── *.md # Show Notes
│ └── *.m4a # 音频文件python3 ~/.claude/skills/xiaoyuzhou-podcast/scripts/transcribe_enhanced.py --audio <audio_path>New Features:
Options:
--audio: Path to audio file (required)--output-dir: Custom output directory--hotword: Space-separated keywords to improve accuracy--batch-size: Batch size in seconds (default: 300)--no-diarization: Disable speaker diarization--no-segmentation: Disable smart segmentationExample:
# Basic transcription with all enhancements
python3 scripts/transcribe_enhanced.py --audio ~/Research/Podcast/6942f3e852d4707aaa1feba3/.cache/podcast.m4a
# With hotwords
python3 scripts/transcribe_enhanced.py --audio podcast.m4a --hotword "巴菲特 穆迪 投资理念"
# Disable speaker diarization (faster)
python3 scripts/transcribe_enhanced.py --audio podcast.m4a --no-diarizationOutput:
~/Research/Podcast/{id}_{host} - {title}/.cache/
├── {id}_{host} - {title}.txt # Raw transcript
├── {id}_{host} - {title}_formatted.md # Enhanced version ⭐
└── {id}_{host} - {title}_timestamp.txt # With timestampsFormatted Version Includes:
~/.claude/skills/xiaoyuzhou-podcast/scripts/extract-info.sh <Episode ID or Show Notes path>This outputs:
Accepts either:
https://www.xiaoyuzhoufm.com/episode/{24-char-hex-id}6942f3e852d4707aaa1feba3)Expected performance on Mac M1/M2/M3:
FunASR paraformer-zh:
Models are automatically downloaded to:
~/.cache/modelscope/hub/iic/
├── speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pybuild/
├── speech_fsmn_vad_zh-cn-16k-common-pybuild/
└── punc_ct-transformer_cn-en-common-vocab471067-large/Total disk usage: ~2GB (first-time download)
[SUCCESS] Podcast processed successfully
**Metadata:**
- Title: {title}
- Host: {host}
- Duration: {duration}
- Published: {date}
- Episode ID: {id}
**Files:**
- Final Document: ~/Research/Podcast/{id}_{host} - {title}/README.md
- (Cache files deleted after processing)
**Transcript Statistics:**
- Word count: {count}
- Processing time: {time}
**Transcript Preview:**
{first 500 characters}...| Error Type | Message | Solution |
|---|---|---|
invalid_url | Invalid URL format | Use full URL or 24-char hex ID |
not_installed | Dependencies missing | Run install.sh |
download_failed | Audio download failed | Check network, verify URL |
transcribe_failed | ASR transcription failed | Check audio file integrity |
not_found | Episode not found | Verify URL is correct |
mps_unavailable | Metal acceleration unavailable | Will use CPU fallback |
--hotword parameter to improve specific term recognition1. MPS (Metal) not available
2. Model download fails
3. Slow transcription
python3 -c "import torch; print(torch.backends.mps.is_available())"4. Poor accuracy on specific terms
--hotword "term1 term2 term3"For detailed troubleshooting, see references/troubleshooting.md
User: 帮我下载并转录这个播客 https://www.xiaoyuzhoufm.com/episode/6942f3e852d4707aaa1feba3
Assistant: I'll help you download and transcribe this podcast. Let me start by running the installation check, then download and transcribe it.
[Runs install.sh]
[Runs download.sh with URL]
[Runs transcribe.py with audio file]
[Runs extract-info.sh to show summary]
[SUCCESS] Podcast downloaded and transcribed!
**Metadata:**
- Title: EP9 深度专访MIT博士"黑色面包"-我为什么重仓Fiserv (FISV)
- Host: 鹅先知 投资、出海和长寿科技
- Duration: 196:20
- Published: 2025-01-15
- Episode ID: 6942f3e852d4707aaa1feba3
**Files:**
- Final Document: ~/Research/Podcast/6942f3e852d4707aaa1feba3_鹅先知.../README.md
**Transcript Preview:**
大家好,欢迎收听本期节目。今天我们邀请了MIT博士...
The transcript is ready for analysis. Would you like me to summarize key points or search for specific topics?~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.