AugmentClaude

WeChat MP Batch Exporter

Download WeChat public account articles, metrics, and comments in bulk for archival or analysis.

Installation

  1. Make sure Claude is on your device and in your terminal.

    Skills load from ~/.claude/skills/ when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. Paste into Claude Code or into your terminal.

    This copies the whole skill folder into ~/.claude/skills/wechat-mp-batch-exporter-mcncarl/ — the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.

    Faster alternative (instruction-only skills)

    Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.

    Quick install (SKILL.md only)
    Sign up to copy
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

  4. Just ask Claude.

    Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.

Prefer to read the source first? Open on GitHub.

When Claude uses it

批量下载微信公众号文章正文、历史文章列表、原创文章筛选、历史计数口径、阅读量、点赞/转发等指标、评论和评论回复。Use when the user asks to batch fetch mp.weixin.qq.com articles, export WeChat public-account history, distinguish publish groups vs expanded article URLs vs original articles, use wechat-article-exporter, use wxdown-service credentials, collect read/comment metrics, or create an archive for Obsidian/Feishu/local analysis. Do not use for ordinary one-off article summarization unless batch/enhanced data is requested.

What this skill does

WeChat MP Batch Exporter

Core Rule

Never operate the user's WeChat UI. Do not publish, delete, mass-send, follow, unfollow, send messages, or click inside WeChat. For any workflow requiring WeChat desktop, tell the user exactly what to do and wait for confirmation.

Never print raw cookies, auth-key, token, pass_ticket, key, uin, credentials JSON, or QR login secrets in chat or saved reports.

Downloaded article content belongs to the original authors or rights holders. Use exports only within the user's lawful/private-use scope unless the user confirms they have permission to republish or redistribute.

First Step

Run the local doctor before choosing a workflow:

python3 {baseDir}/scripts/doctor.py

Use --check-network only when the task needs the public exporter API or online download endpoint.

Decision Tree

  • User provides known article URLs and only needs正文/Markdown: use scripts/download_urls.py; no login or WeChat action is required.
  • User wants a public account's历史文章列表 or latest N articles: use exporter mode from wechat-article-exporter; this requires a user-owned WeChat Official Account backend login/auth-key.
  • User needs阅读量、点赞、转发、评论、评论回复: use wxdown-service credentials flow first, then export enhanced fields from wechat-article-exporter.
  • User says“不登录”“代理模式” or exporter mode fails: use the proxy/history fallback only after explicit confirmation; read references/manual-gates.md first.

For simple single-URL extraction without batch/enhanced needs, prefer the existing $wechat-article skill.

Count Discipline

Never report a public account total as just “N 篇文章” until the count scope is clear.

After any history sync or imported history JSON, run:

python3 {baseDir}/scripts/analyze_history.py --history-json /path/to/history.dedup.json
python3 {baseDir}/scripts/analyze_history.py --chunk-dir /path/to/chunks --output-dir /path/to/output

Use these labels in user-facing answers:

  • publish_groups: unique msgid values; roughly one WeChat publish/message group.
  • expanded_url_items: every unique article URL after expanding multi-article messages.
  • original_articles: frontend-style original article count, using copyright_type=1, copyright_stat=1, and is_deleted=false.

If counts disagree with what the user sees in WeChat, explain the scope difference first and point to the generated history.summary.json / history.summary.md.

Known-URL Body Download

Use this path for pasted URLs, .txt, .csv, or .json URL lists:

python3 {baseDir}/scripts/download_urls.py --file /path/to/urls.txt --format markdown
python3 {baseDir}/scripts/download_urls.py "https://mp.weixin.qq.com/s/..."

Report only: success count, failure count, failed URLs, output directory, and index.csv.

Default output:

~/Downloads/wechat-mp-batch/<run-id>/
|-- index.csv
|-- errors.json
`-- articles/
    `-- 001-<safe-title>.md

History And Enhanced Export

Read references/exporter-workflow.md before running exporter/history/enhanced-data tasks.

Start the local credential helper with:

python3 {baseDir}/scripts/start_wxdown_service.py

Use the mature upstream stack:

  • wechat-article/wechat-article-exporter for account search, article history, body download, and multi-format export.
  • wechat-article/wxdown-service for user-owned credential capture needed by read/comment metrics.

Local source paths are environment-specific. Prefer environment variables or explicit script flags:

export WECHAT_ARTICLE_EXPORTER_DIR=/path/to/wechat-article-exporter
export WXDOWN_SERVICE_DIR=/path/to/wxdown-service
python3 {baseDir}/scripts/doctor.py --exporter-path "$WECHAT_ARTICLE_EXPORTER_DIR" --wxdown-path "$WXDOWN_SERVICE_DIR"
python3 {baseDir}/scripts/start_wxdown_service.py --wxdown-dir "$WXDOWN_SERVICE_DIR"

If using the public exporter, default base URL is:

https://down.mptext.top

Manual Gates

Read references/manual-gates.md whenever the task involves login, credentials, comments, read counts, proxy, certificate trust, or WeChat desktop.

These actions always require explicit user confirmation:

  • Scanning a QR code and selecting the user's Official Account or service account.
  • Installing or trusting a mitmproxy certificate.
  • Enabling or changing macOS system proxy settings.
  • Asking the user to open an article/history page inside WeChat desktop and scroll.
  • Using a pasted auth-key or credentials file.

Outputs

Read references/output-schema.md when building an archive or merging exporter results into another system.

Preferred enhanced archive fields:

account_name, fakeid, title, url, publish_time, author, digest, cover_url,
body_markdown_path, html_path, image_dir,
read_count, like_count, share_count, favorite_count, comment_count,
comments_path, comment_replies_path, fetch_mode, credential_status, exported_at

History analysis outputs should include:

history.summary.json, history.summary.md,
history.dedup.json, history.dedup.csv, urls.all.txt,
history.original.json, history.original.csv, urls.original.txt

What Cannot Be Done Automatically

  • Do not bypass login, deleted content, paywalls, private articles, or platform permission checks.
  • Do not guarantee read/comment metrics without fresh user-owned credentials.
  • Do not operate WeChat UI or replace the user's required WeChat desktop actions.
  • Do not promise comments when the article has comments disabled or hidden.
  • Do not silently install system certificates, change proxies, or leave proxy settings enabled.

Related skills