Aug 25, 2026
qiaomu-anything-to-notebooklm: One Skill, Many Inputs, NotebookLM as the Backend
A Claude Code skill that turns WeChat articles, paid sites, podcasts, videos, and office files into NotebookLM-generated podcasts, PPTs, mind maps, quizzes, and reports via a single natural-language prompt.
Most NotebookLM workflows assume you already have the source material as a URL or a clean document. The unglamorous part is getting the source: WeChat articles sit behind anti-scraping, paid sites hit paywalls, podcast audio needs transcription, and PDF scans need OCR. joeseesun/qiaomu-anything-to-notebooklm is a Claude Code skill that bundles the fetch-and-normalize pipeline and hands a clean document to NotebookLM, which then renders the output you asked for.
Why This Skill Matters
The skill accepts a wide range of inputs: WeChat public accounts (via MCP browser emulation), X/Twitter posts and threads, YouTube videos with auto-subtitles, Xiaoyuzhou / Ximalaya / Bilibili podcasts, 300+ paid sites (NYT, WSJ, FT, Economist, Bloomberg, WaPo, The Information), PDFs (with OCR), EPUB, Markdown, plain text, Office documents (.docx, .pptx, .xlsx), images with auto-OCR, audio files with auto-transcription, and ZIP archives for batch processing. Paywall handling uses a 6-level bypass cascade.
Once the source is fetched and normalised, NotebookLM produces the format you requested: podcasts (.mp3), PPT/slides (PDF), mind maps (.json), quizzes, videos, reports (structured JSON Q&A), infographics, or flashcards. Recommended input length is 1k–10k characters (minimum ~500, maximum ~500k).
The skill targets Claude Code specifically. WeChat fetching needs the wexin-read-mcp and feishu-read-mcp MCP servers; other inputs do not. License is MIT (personal study and research only — verify before commercial use).
Installation
The README gives a canonical clone-and-run path:
cd ~/.claude/skills/
git clone https://github.com/joeseesun/qiaomu-anything-to-notebooklm
cd qiaomu-anything-to-notebooklm
./install.sh
For podcast transcription you, also need a Get笔记 API key/client_id (set GETNOTE_API_KEY and GETNOTE_CLIENT_ID in your environment). WeChat fetching requires the MCP servers above.
Real Workflow: A Paid Article Into a Two-Host Podcast
You want to listen to a long article from a paid publication on your morning commute, but the site gates the full text behind a subscription wall. The skill handles the fetch and renders an audio version.
Step 1. Copy the article URL. From a Claude Code session with the skill installed, ask:
Turn this article into a podcast: https://www.theinformation.com/articles/<slug>
Step 2. The skill detects the paywall, attempts the 6-level bypass cascade (Googlebot UA, archive.today fallback, and so on), and either fetches the full text or stops at a CAPTCHA. On success, it uploads the normalised text to NotebookLM.
Step 3. NotebookLM renders the audio. Expect the output at /tmp/article_podcast.mp3. For English articles you get a two-host conversational format; for Chinese you get a single narrator.
Step 4. If the bypass stops at a CAPTCHA, finish it manually in a browser tab, then re-run the skill on the same URL — the cache holds the resolved URL so the second pass usually succeeds.
Real Workflow: A Xiaoyuzhou Podcast Into a Slide Deck
You want to turn a long-form podcast episode into a presentation you can share with teammates who will not listen to an hour of audio.
Step 1. From a Claude Code session, ask:
Turn this Xiaoyuzhou episode into a slide deck: https://xiaoyuzhoufm.com/episode/<id>
Step 2. The skill hits the Get笔记 API to transcribe the episode. Transcription usually takes 2–5 minutes depending on length. The transcript is uploaded to NotebookLM.
Step 3. NotebookLM returns a structured analysis, and the skill renders a slide PDF of about 25 pages at /tmp/podcast_slides.pdf.
Step 4. Open the PDF, prune slides that do not match your team's framing, and use it as the basis for a live walkthrough. If you want a different shape (say, a quiz instead of slides), re-run the same prompt with into a quiz substituted for into a slide deck — the same fetch and transcribe pipeline feeds any NotebookLM output format.
- Set
GETNOTE_API_KEYandGETNOTE_CLIENT_IDbefore invoking; without them podcast transcription fails. - Keep input length in the 1k–10k character band for the best NotebookLM output quality.
- For WeChat inputs, install the MCP servers first; without them, the skill cannot bypass WeChat's anti-scraping.
- For paywalled sites that send no content server-side, expect a CAPTCHA at some point in the bypass cascade — handle it manually and retry.
- Treat the skill as a personal-study-and-research tool unless you have separately verified the underlying sources' terms of use. Paywall bypass has legal and ethical implications that are your responsibility.
- License is MIT per the repo's own LICENSE file, but the README restricts use to "personal study and research only" — read both before commercial adoption.
When Not to Use This
If you already have a clean document and only need NotebookLM to generate an audio or slide deck from it, paste the document into NotebookLM directly and skip the skill. The skill's value is the fetch-and-normalize pipeline for sources that are normally hard to retrieve; for sources you already own, it adds no value.
See the leaderboard for more content-processing skills.