Install
openclaw skills install clipperSave web content to Obsidian vault. Supports Twitter/X, WeChat MP, Xiaohongshu, YouTube, Bilibili, and any web page. Automatically routes to the best fetch m...
openclaw skills install clipperUnified web content clipper for Obsidian. One entry point, auto-detects platform, uses optimal method.
When user provides a URL and wants to save it:
python3 {{SKILL_DIR}}/scripts/clip.py "<url>"
Output:
<vault>/clippings/tweet/YYYY-MM-DD-<handle>-<id>.md<vault>/clippings/web/<domain>/YYYY-MM-DD-<slug>.md| Platform | Method | Why |
|---|---|---|
| Twitter/X | Jina Reader | Fast, reliable, no auth needed |
| WeChat MP | Browser snapshot | Handles JS rendering |
| Xiaohongshu | x-reader | Works well |
| YouTube | x-reader | Gets description/metadata |
| Bilibili | x-reader | Works well |
| Other | x-reader | General purpose |
python3 {{SKILL_DIR}}/scripts/clip.py "https://x.com/user/status/123"
One command, done.
WeChat articles need browser rendering. The script will return needs_browser: true.
Step 1: Open in browser
browser action=open profile=openclaw targetUrl=<url>
Step 2: Get snapshot
browser action=snapshot profile=openclaw targetId=<targetId>
Step 3: Extract content and save
python3 {{SKILL_DIR}}/scripts/wechat.py \
--url "<url>" \
--title "<title>" \
--author "<author>" \
--date "<date>" \
--content "<markdown>"
Or pipe content via stdin:
echo "<markdown>" | python3 {{SKILL_DIR}}/scripts/wechat.py \
--url "<url>" \
--title "<title>"
Twitter:
https://twitter.com/<handle>/status/<id>https://x.com/<handle>/status/<id>WeChat:
https://mp.weixin.qq.com/s/<id>Others:
obsidian-cli (for vault detection) OR manually configured vault pathx-reader for general web: pipx install 'git+https://github.com/runesleo/x-reader.git'User: https://x.com/naval/status/1234567890 save this
You: [runs clip.py] → Saved to clippings/tweet/2026-03-18-naval-1234567890.md
User: https://mp.weixin.qq.com/s/abc123 保存这个
You: [runs clip.py] → needs_browser: true
[opens browser, gets snapshot]
[extracts content, runs wechat.py]
→ Saved to clippings/web/mp_weixin_qq_com/2026-03-18-article-title.md
All saves trigger automatic git sync: pull --rebase → add → commit → push
Git warnings (non-fatal) are returned in git_warnings array.