prompt-lookup
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
把小宇宙(Xiaoyuzhou FM)单集播客转成结构化的 Markdown 笔记。工作流为:解析小宇宙单集链接 → 拿到音频直链、shownotes、章节(有官方转录则直接用)→ 转录音频 → 判断内容类型(财经/科技商业/人物访谈/知识科普/通用)→ 套用对应的笔记模板 → 输出 .md 笔记文件。只要用户给出小宇宙链接(xiaoyuzhoufm.com/episode/...)、或提到"把这期播客整理成笔记""转录小宇宙""生成播客笔记""播客总结/逐字稿/shownotes
Claude Code
$ npx -y skills add weisi-gu/xiaoyuzhou-podcast-notes --skill xiaoyuzhou-podcast-notes --agent claude-code
Codex
$ npx skills add weisi-gu/xiaoyuzhou-podcast-notes --skill xiaoyuzhou-podcast-notes -a codex -y
Cursor
$ npx skills add weisi-gu/xiaoyuzhou-podcast-notes --skill xiaoyuzhou-podcast-notes -a cursor -y
Gemini CLI
$ npx skills add weisi-gu/xiaoyuzhou-podcast-notes --skill xiaoyuzhou-podcast-notes -a gemini-cli -y
GitHub Copilot
$ npx skills add weisi-gu/xiaoyuzhou-podcast-notes --skill xiaoyuzhou-podcast-notes -a github-copilot -y
OpenCode
$ npx skills add weisi-gu/xiaoyuzhou-podcast-notes --skill xiaoyuzhou-podcast-notes -a opencode -y
Windsurf
$ npx skills add weisi-gu/xiaoyuzhou-podcast-notes --skill xiaoyuzhou-podcast-notes -a windsurf -y
name: xiaoyuzhou-podcast-notes description: 把小宇宙(Xiaoyuzhou FM)单集播客转成结构化的 Markdown 笔记。工作流为:解析小宇宙单集链接 → 拿到音频直链、shownotes、章节(有官方转录则直接用)→ 转录音频 → 判断内容类型(财经/科技商业/人物访谈/知识科普/通用)→ 套用对应的笔记模板 → 输出 .md 笔记文件。只要用户给出小宇宙链接(xiaoyuzhoufm.com/episode/...)、或提到"把这期播客整理成笔记""转录小宇宙""生成播客笔记""播客总结/逐字稿/shownotes 整理",就使用本技能;即便用户没说"skill"二字也应触发。也支持用户已自备音频文件或转录文本,只需生成笔记的场景。
把一条小宇宙单集链接,变成一份类型匹配、可直接归档的 Markdown 笔记。
1. **取数据** —— 用 `scripts/fetch_episode.py` 解析链接,拿到标题、播客名、发布日期、时长、音频直链、shownotes(含图文与图表)、章节;若页面自带官方转录,一并取出。 2. **得转录** —— 若第 1 步已有官方转录,直接用;否则下载音频并用 `scripts/transcribe.py` 转录。 3. **判类型** —— 根据播客名 + shownotes + 转录开头,判断内容类型,选定模板(见下)。类型不明确时问用户一次。 4. **写笔记** —— 读取对应模板文件,用转录 + shownotes 逐块填充。**不要**照抄模板里的说明文字,要输出填好的真实内容。 5. **存文件** —— 保存两个成品:`<播客名>-<集标题>-笔记.md` 和 `<播客名>-<集标题>-逐字稿.txt`(逐字稿一并留档),用 `present_files`(若可用)交给用户。
---
python scripts/fetch_episode.py "<小宇宙链接或episode_id>" --out ./_work
脚本会在 `./_work/` 下生成:
加 `--download` 会把音频存到 `./_work/audio.m4a`:
python scripts/fetch_episode.py "<链接>" --out ./_work --download
> 说明:本脚本只处理**公开单集**。付费或需登录的内容拿不到直链,此时提示用户改用官方 App 导出音频,再走"已自备音频"路径。
**核心原则:笔记必须基于真转录稿,不能只靠 shownotes 推断。** 按下面优先级逐级尝试,前一级成功就停:
**① 官方转录**:若 `meta.json` 里 `has_official_transcript` 为真,直接用 `official_transcript.txt`。最准、零成本,跳过 ASR。
**② 云端 Qwen(长音频首选,若配了 `DASHSCOPE_API_KEY`)**:小宇宙音频直链是公网 URL,可不下载、直接转。异步长音频,支持最长 12 小时,一期约 2-5 分钟出稿:
python scripts/transcribe.py --from-meta ./_work --out ./_work --backend qwen --language zh # 新加坡账号加 --region intl
> `--from-meta ./_work` 让脚本自己去读 meta.json 里的 audio_url,无需手动传链接(bash 和 PowerShell 都一样,避免引号/续行问题)。
**②b 对谈型播客(多人)建议改用 fun-asr 开说话人分离**:能给每句标 `【说话人N】`,主播/嘉宾观点不混淆,配合 finance.md 的"对谈型"分支和 interview 模板更好。开分离时音频建议 ≤2 小时、仅单声道:
python scripts/transcribe.py --from-meta ./_work --out ./_work --backend funasr --diarize --speaker-count 2 --language zh # 想让嘉宾名/术语更准,可在百炼控制台建热词表后加 --vocabulary-id vocab-xxx
**②c 省钱档 —— paraformer(每月自动续免费额度)**:`paraformer-v2` 更便宜(0.00008 元/秒,约 qwen/funasr 的 1/3),且免费额度**每月 1 号自动续 10 小时**(qwen/funasr 的额度是开通后 90 天一次性)。**同样支持说话人分离和热词**,用法与 funasr 完全一致,只是识别精度略弱(中英混/专名/嘈杂时更明显):
python scripts/transcribe.py --from-meta ./_work --out ./_work --backend paraformer --diarize --speaker-count 2 --language zh
**③(可选)其它 OpenAI 兼容 ASR**:`--backend api`(配 `ASR_API_BASE`/`ASR_API_KEY`),需先 `--download` 下载音频为本地文件。一般用不到。
**决策建议(先用免费额度、再看性价比)**:
**省心用法 —— 自动降级 `--fallback`**:给一串后端顺序,某个额度用尽/欠费时自动换下一个(其它错误不切、直接报错)。推荐顺序 = 省钱的在前:
python scripts/transcribe.py --from-meta ./_work --out ./_work --fallback paraformer,funasr,qwen --diarize --speaker-count 2 --language zh
(注:qwen 不支持说话人分离,若降级到它则该期无 `【说话人N】`。)
产物:`./_work/transcript.txt`(纯文本)与 `./_work/transcript.srt`(带时间戳)。
> ⚠️ 若都失败(付费内容/无 Key),**不要**用 shownotes 硬凑成"逐字稿笔记"。应如实告知用户没拿到转录,并让其在 front-matter 标注"整理依据:仅 shownotes(未转录)"。
看 `podcast_title` + `shownotes.md` + 转录前 ~500 字,选一个最贴切的类型:
| 类型 | 触发信号 | 模板文件 | |---|---|---| | **财经/投资** | 谈宏观、股市、利率、基金、ETF、财报、投资策略 | `templates/finance.md`(内含子分支:**行情/研报型** 与 **理念/对谈型**,进模板后先按其顶部⓪判定再填) | | **科技/商业/创投** | 产品、创业、AI、行业分析、公司战略、融资 | `templates/tech-business.md` | | **人物/访谈/对谈** | 以嘉宾经历、观点、故事为主,弱结论强叙事 | `templates/interview.md` | | **知识/科普/文史** | 讲解某学科、历史、概念、方法论 | `templates/knowledge.md` | | **通用/其它** | 以上都不贴切 | `templates/general.md` |
类型明显就直接用;**若在两类之间拿不准,用一句话问用户确认一次**,别硬猜。用户也可以指定"就用财经模板"。
> 写笔记不绑定 Claude:由当前 agent 直接按模板写即可;也可让用户用 `scripts/make_notes.py` 配任意 OpenAI 兼容 LLM(DeepSeek/通义/Kimi/GLM/GPT 等)离线生成。以下是 agent 直接写的要点。
1. `view` 选定的模板文件,按它的结构和逐块说明填写。 2. 每一块都要**输出填好的真实内容**,不能用"详见原文""同上"占位,也不要把模板里的方括号说明原样留在成品里。 3. 所有笔记统一在文件开头加 YAML front-matter:
--- 播客: <podcast_title> 单集: <title> 发布日期: <pub_date> 时长: <duration 分钟> 链接: <小宇宙链接> 类型: <财经/科技商业/人物访谈/知识科普/通用> 整理日期: <今天> ---
4. **财经类的要求**(见 `templates/finance.md`):
5. 忠实于音频,**不要脑补**主讲人没说的判断或数据。模板里要求"若未涉及则如实标注"的地方,就照实写"本集未涉及"。
保存**两个成品文件**: 1. `<播客名>-<集标题>-笔记.md`(文件名去掉非法字符)。 2. `<播客名>-<集标题>-逐字稿.txt` —— 把 `_work/transcript.txt`(有说话人分离则含 `【说话人N】`)复制/另存为成品一并留档,方便日后回查原文、核对细节。
两个都用 `present_files` 交给用户(若可用);否则告诉用户文件路径。
---
用户给多条链接时,对每条依次跑完整流程,每期一个 md 文件,最后可另生成一个 `索引.md` 汇总各期标题、类型、一句话主旨和文件名。
小宇宙播客笔记生成器 · Turn a Xiaoyuzhou (Chinese podcast) episode into structured Markdown notes — a Claude skill using Qwen / Fun-ASR for transcription.
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…