--- name: wechat-to-notebooklm description: WeChat article to NotebookLM sync tool. Use when user provides a WeChat Official Account article URL (mp.weixin.qq.com) and wants to add it to their NotebookLM. Automatically fetches article content, converts to Markdown, creates notebook, and uploads to NotebookLM. --- # WeChat to NotebookLM Automatically sync WeChat Official Account articles to Google NotebookLM for AI-powered analysis, summarization, and content generation. ## What This Does This skill automates the entire workflow of getting a WeChat article into NotebookLM: 1. **Fetches** the article content from the URL 2. **Converts** to clean Markdown format 3. **Creates** a NotebookLM notebook (optionally with custom title) 4. **Uploads** the article as a source 5. **Returns** the notebook ID for further interaction ## When to Use Use this skill when you: - Have a WeChat Official Account article URL (mp.weixin.qq.com) - Want to save the article to NotebookLM for analysis - Want to create a podcast/video from the article - Want to chat with the article content using AI - Want to summarize or extract insights from the article **Example triggers:** - "Sync this WeChat article to NotebookLM" - "Add this mp.weixin.qq.com link to my notebook" - "Create a notebook from this WeChat article" - "Save this article to NotebookLM" ## Prerequisites Before using this skill, ensure NotebookLM CLI is authenticated: ```bash notebooklm login # Opens browser for Google OAuth notebooklm status # Verify authentication ``` ## Workflow ### Complete Sync Process **Step 1: Fetch Article Content** Use the web reader MCP tool to fetch the WeChat article: ``` mcp__web_reader__webReader URL: return_format: markdown retain_images: false (optional, saves bandwidth) ``` This returns the article content in Markdown format. **Step 2: Save Content to File** Save the fetched content to a temporary Markdown file: ```bash # Extract title from content or use default # Save to /tmp/.md ``` The file should be saved with a descriptive name based on the article title. **Step 3: Create NotebookLM Notebook** Create a new notebook with the article title: ```bash notebooklm create "" --json ``` Parse the JSON response to get the notebook ID: ```json {"notebook": {"id": "abc-123-def", "title": "..."}} ``` **Step 4: Upload Article to Notebook** Add the Markdown file as a source to the notebook: ```bash notebooklm source add /tmp/.md --notebook --json ``` Parse the response to get the source ID: ```json {"source": {"id": "source-xyz-789", "title": "...", "type": "text"}} ``` **Step 5: Confirm Success** Report to the user: - Notebook title and ID - Source file name - Notebook ID for further use - Suggested next steps (ask questions, generate podcast, etc.) ## Progress Updates Provide brief, clear status updates: ``` ✅ Fetching article from WeChat... ✅ Converting to Markdown... ✅ Creating notebook "Article Title"... ✅ Uploading to NotebookLM... ✅ Done! Notebook ID: abc-123-def ``` ## Output Summary When complete, provide: ``` Successfully synced WeChat article to NotebookLM! 📓 Notebook: [Article Title] ID: abc-123-def 📄 Source: article_title.md ID: source-xyz-789 💡 Next steps: - Use: notebooklm use abc-123-def - Ask: notebooklm ask "Summarize this article" - Generate: notebooklm generate audio "Create a podcast" ``` ## Error Handling ### Common Issues **1. Article URL is invalid or inaccessible** - Error: Failed to fetch content - Solution: Verify the URL is correct and accessible - Alternative: Try copying the article content manually **2. NotebookLM authentication failed** - Error: Auth/cookie error - Solution: Run `notebooklm login` again - Check: `notebooklm status` to verify **3. File upload failed** - Error: Invalid file or upload error - Solution: Check if Markdown file was created correctly - Verify: File path and permissions **4. Notebook creation failed** - Error: Rate limiting or API error - Solution: Wait a few minutes and retry - Alternative: Add to existing notebook with `--notebook` flag ## Advanced Features ### Add to Existing Notebook If user wants to add to an existing notebook: ```bash # Get list of notebooks notebooklm list --json # Use existing notebook ID notebooklm source add /tmp/article.md --notebook --json ``` ### Batch Processing For multiple WeChat articles: ```bash # Create notebook once notebooklm create "WeChat Articles Collection" --json # Add multiple articles for url in "${urls[@]}"; do # Fetch, save, upload to same notebook done ``` ### Follow-up Actions After successful upload, suggest: **For analysis:** ```bash notebooklm use notebooklm ask "What are the key insights?" notebooklm ask "Summarize in 3 bullet points" ``` **For content generation:** ```bash notebooklm generate audio "Create an engaging podcast" notebooklm generate video "Make an explanatory video" notebooklm generate quiz "Test understanding" ``` **For research:** ```bash notebooklm source add-research "related topics" --mode deep notebooklm ask "Compare with other sources" ``` ## Limitations - **WeChat articles only**: Optimized for mp.weixin.qq.com URLs - **Text content**: Focuses on text, images are preserved as links - **Public articles**: Requires publicly accessible articles - **Rate limits**: NotebookLM has rate limits on uploads ## Troubleshooting **Problem**: Article content is incomplete - **Cause**: WeChat page uses JavaScript rendering - **Solution**: web reader tool handles most cases, but some dynamic content may be missed **Problem**: Chinese characters display incorrectly - **Cause**: File encoding issues - **Solution**: Ensure UTF-8 encoding when saving files **Problem**: NotebookLM says "Processing" for too long - **Cause**: Large articles take time to index - **Solution**: Wait 1-2 minutes, then check status with `notebooklm source list` ## Best Practices 1. **Use descriptive notebook titles**: Extract from article title or topic 2. **Keep articles organized**: Use separate notebooks for different topics 3. **Verify uploads**: Check `notebooklm source list` after upload 4. **Clean up temp files**: Remove /tmp files after successful upload 5. **Handle rate limits**: If uploads fail, wait 5-10 minutes before retry ## Quick Reference | Task | Command/Tool | |------|--------------| | Fetch article | `mcp__web_reader__webReader` | | Create notebook | `notebooklm create "Title" --json` | | Upload file | `notebooklm source add file.md --notebook --json` | | Check sources | `notebooklm source list --notebook --json` | | Chat with article | `notebooklm use ; notebooklm ask "question"` | | Generate podcast | `notebooklm generate audio "instructions" --notebook ` | ## Example Usage **User**: "Sync this WeChat article to NotebookLM: https://mp.weixin.qq.com/s/xxxxx" **Agent workflow**: 1. Fetch article using web reader 2. Save to `/tmp/article_title.md` 3. Create notebook "Article Title" 4. Upload markdown file 5. Report success with IDs and next steps **Time estimate**: 30-60 seconds total