/SKILL.md
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.
npx skillsauth add singajogijaswanth/wechat-to-notebooklm wechat-to-notebooklmInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automatically sync WeChat Official Account articles to Google NotebookLM for AI-powered analysis, summarization, and content generation.
This skill automates the entire workflow of getting a WeChat article into NotebookLM:
Use this skill when you:
Example triggers:
Before using this skill, ensure NotebookLM CLI is authenticated:
notebooklm login # Opens browser for Google OAuth
notebooklm status # Verify authentication
Step 1: Fetch Article Content
Use the web reader MCP tool to fetch the WeChat article:
mcp__web_reader__webReader
URL: <WeChat article 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:
# Extract title from content or use default
# Save to /tmp/<sanitized_title>.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:
notebooklm create "<article_title>" --json
Parse the JSON response to get the notebook ID:
{"notebook": {"id": "abc-123-def", "title": "..."}}
Step 4: Upload Article to Notebook
Add the Markdown file as a source to the notebook:
notebooklm source add /tmp/<article_title>.md --notebook <notebook_id> --json
Parse the response to get the source ID:
{"source": {"id": "source-xyz-789", "title": "...", "type": "text"}}
Step 5: Confirm Success
Report to the user:
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
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"
1. Article URL is invalid or inaccessible
2. NotebookLM authentication failed
notebooklm login againnotebooklm status to verify3. File upload failed
4. Notebook creation failed
--notebook flagIf user wants to add to an existing notebook:
# Get list of notebooks
notebooklm list --json
# Use existing notebook ID
notebooklm source add /tmp/article.md --notebook <existing_notebook_id> --json
For multiple WeChat articles:
# Create notebook once
notebooklm create "WeChat Articles Collection" --json
# Add multiple articles
for url in "${urls[@]}"; do
# Fetch, save, upload to same notebook
done
After successful upload, suggest:
For analysis:
notebooklm use <notebook_id>
notebooklm ask "What are the key insights?"
notebooklm ask "Summarize in 3 bullet points"
For content generation:
notebooklm generate audio "Create an engaging podcast"
notebooklm generate video "Make an explanatory video"
notebooklm generate quiz "Test understanding"
For research:
notebooklm source add-research "related topics" --mode deep
notebooklm ask "Compare with other sources"
Problem: Article content is incomplete
Problem: Chinese characters display incorrectly
Problem: NotebookLM says "Processing" for too long
notebooklm source listnotebooklm source list after upload| Task | Command/Tool |
|------|--------------|
| Fetch article | mcp__web_reader__webReader |
| Create notebook | notebooklm create "Title" --json |
| Upload file | notebooklm source add file.md --notebook <id> --json |
| Check sources | notebooklm source list --notebook <id> --json |
| Chat with article | notebooklm use <id>; notebooklm ask "question" |
| Generate podcast | notebooklm generate audio "instructions" --notebook <id> |
User: "Sync this WeChat article to NotebookLM: https://mp.weixin.qq.com/s/xxxxx"
Agent workflow:
/tmp/article_title.mdTime estimate: 30-60 seconds total
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.