ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

wechat-article-to-obsidian

Save WeChat public account articles (微信公众号文章) as clean Markdown notes in Obsidian. Use this skill whenever the user shares a mp.weixin.qq.com link and wants to save it to Obsidian, or mentions '微信文章', '公众号文章', '保存微信', '导入微信文章到Obsidian', 'save wechat article', 'clip wechat'. Also triggers when the user wants to batch-save multiple WeChat article URLs to their Obsidian vault. Zero external dependencies — just curl and Node.js.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/amortalsodyssey/wechat-article-to-obsidian
Or

WeChat Article → Obsidian

Save WeChat MP articles (微信公众号) as clean Markdown notes in Obsidian. No browser, no CDP, no plugins needed.

How it works

WeChat articles are fetched with a two-stage strategy. First, try a normal curl with browser-like headers. If that only returns a shell page and the parser cannot find usable metadata / #js_content, fall back to a real browser fetch using Playwright + Chrome, extract the rendered article body, then convert it to clean Markdown and save it into Obsidian.

Dependencies

  • curl (pre-installed on macOS/Linux)
  • Node.js >= 18
  • Playwright + a Chromium/Chrome browser (only needed for fallback mode)
  • obsidian CLI (optional for vault-side workflows, not required for saving)

First-time setup

On first use, check <skill-path>/config.json. If obsidian_vault or default_path is empty, ask the user:

  1. "What is your Obsidian vault name?" — this is the vault name used with obsidian CLI (e.g., vault=MyVault)
  2. "Where should I save WeChat articles by default?" — a path inside the vault (e.g., notes/wechat, articles/wechat)

Then write the answers to <skill-path>/config.json:

{
  "obsidian_vault": "MyVault",
  "default_path": "notes/wechat"
}

This only needs to happen once. After that, the skill uses the saved config automatically.

Configuration

Natural language override (per-request)

The user can override the default path anytime:

  • "把这篇文章存到 reading/tech 目录"
  • "save this under articles/ai/"
  • "导入到 Obsidian 的 inbox 文件夹"

Parse the target path from the user's message and use it instead of default_path.

Config file (persistent default)

<skill-path>/config.json:

  • obsidian_vault: the vault name for obsidian CLI
  • default_path: where to save articles when the user doesn't specify a path
  • vault_disk_root: absolute disk path of the vault root for direct-write saving

Recommended setup:

  • obsidian_vault: optional vault name reference
  • default_path: notes/wechat
  • vault_disk_root: absolute disk path to the user's Obsidian vault

Workflow

Preferred execution strategy (important)

Use a step-by-step workflow by default. Do not assume the one-line "fetch + parse + save" pattern is the most reliable option in OpenClaw.

Preferred order:

  1. Fetch HTML with fetch.sh
  2. Inspect metadata with parse.mjs --json
  3. Only if metadata/body is unusable, try browser fallback with Playwright
  4. Parse HTML into Markdown
  5. Save to Obsidian. For the publish build, use the bundled safe direct-write saver.

Why this matters:

  • some exec forms may be blocked by environment policy even when the underlying task is allowed
  • a blocked exec does not always mean a user approval can fix it
  • splitting the flow makes it much easier to identify whether the failure is in fetching, parsing, browser fallback, or vault writing

Single article

SKILL_PATH="<skill-path>"

Metadata

Stars4473
Views0
Updated2026-05-01
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-amortalsodyssey-wechat-article-to-obsidian": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.