A skill collection for creators who want to streamline writing, X Articles draft publishing, WeChat digital-asset capture, and local workflows with Claude Code and Codex.
개요
A skill collection for creators who want to streamline writing, X Articles draft publishing, WeChat digital-asset capture, and local workflows with Claude Code and Codex.
README
yichen-skills
English | 中文
A skill collection for creators who want to streamline writing, X Articles draft publishing, WeChat digital-asset capture, and local workflows with Claude Code and Codex.
What This Repo Does
- Turn Claude Code conversations into structured Obsidian notes (
yichen-summary) - Upload Obsidian/Markdown articles to X Articles drafts (
yichen-x-article-draft-uploader) - Run two WeChat accounts on one Mac with a distinct blue icon (
yichen-mac-wechat-dual-open) - Turn WeChat chats, Moments, and Favorites into AI-powered digital assets (
yichen-wechat-local-vault) - Fetch benchmark videos from Douyin (
yichen-douyin-fetcher) - Fetch benchmark posts from Xiaohongshu (
yichen-xiaohongshu-fetch) - Transcribe, caption, and rough-cut talking-head videos with Volcengine ASR (
yichen-volc-asr) - Diagnose benchmark video transcripts (
yichen-video-content) - Run verified research through the official ChatGPT web page (
yichen-chatgpt-web-research) - Hand off rough cuts to Jianying/CapCut for final editing (
yichen-jianying-editor) - Install and maintain a Markdown/Obsidian-first Agent Memory Vault system (
yichen-agent-memory) - Batch-export WeChat Official Account article history, original-article lists, bodies, and optional read/comment metrics (
yichen-wechat-mp-batch-exporter) - Read and export local WeCom/企业微信 5.x database snapshots without controlling the app (
yichen-wecom-local-vault)
Included Skills
1) yichen-summary
- Purpose: extract key insights from the current conversation and save to Obsidian
- Typical triggers:
/yichen-summary, “save conversation”, “export highlights” - Capabilities:
- Filters out low-value chat transitions
- Produces structured notes (Background, Core Content, Solution, Key Points, Related)
- Useful for long-term knowledge accumulation
2) yichen-x-article-draft-uploader
Upload Obsidian/Markdown long-form articles to X Articles drafts:
- Uses the first image as the X Article cover
- Converts Markdown into rich text for the X editor
- Inserts body images at their original Markdown positions
- Runs in an independent Playwright browser so it does not take over the user’s current Chrome window
- Reuses Chrome login state through temporary exported cookies
- Saves drafts only and does not click the final
发布button
See yichen-x-article-draft-uploader/README.md for installation, privacy notes, and troubleshooting.
3) yichen-mac-wechat-dual-open
Run two WeChat accounts simultaneously on macOS — no third-party tools:
- Copies WeChat, changes the bundle identifier, and re-signs locally
- Recolors the second app’s icon from green to blue for visual distinction
- Handles both outer and embedded icon files, Finder custom icon, and cache refresh
- One-command workflow:
create→recolor-icon→launch - Typical triggers: “微信双开”, “WeChat dual open”, “double WeChat”
- Requirements: macOS 12+, WeChat at
/Applications/WeChat.app, Python 3.10+, Pillow - Limitations: breaks after WeChat updates (re-run
repair), push notifications may be unreliable - Based on the well-known copy + bundle-id + ad-hoc signing method documented by @koffuxu
4) yichen-wechat-local-vault
WeChat digital-asset assistant for macOS:
- Decrypts WeChat Mac 4.x local SQLCipher databases (AES-256-CBC)
- Extracts chats, Moments (
sns.db), and Favorites (favorite.db) - Generates AI-powered chat digests, Moments reports, Favorites cleanup notes, customer follow-up drafts, and relationship review prompts
- First-time onboarding introduces 3 categories and 9 playbooks: chat records, Moments, and Favorites
- Configurable monitoring for groups, contacts, Moments targets, and Favorites cleanup preferences
- First-time setup guided via frida key extraction
- Typical triggers: “微信解析”, “微信全量”, “微信增量”, “导出聊天”, “朋友圈解析”, “收藏夹整理”, “客户跟进”, “yichen-wechat-local-vault”
- Requirements: macOS, WeChat Mac 4.x, Python 3.9+,
pycryptodome,zstandard - See yichen-wechat-local-vault/README.md for full documentation
5) yichen-douyin-fetcher
Fetch Douyin video metadata and download an MP4 through Playwright network interception:
- Supports
/video/links and selected modal-style URLs - Writes a compact
.metadata.jsonnext to the downloaded video - Use
--metadata-onlyto validate a link without downloading media
6) yichen-xiaohongshu-fetch
Fetch Xiaohongshu video/image posts into local files:
- Parses
window.__INITIAL_STATE__ - Downloads video, subtitles, images, and metadata when available
- Keeps cookies, Feishu AppToken/TableID, and target table IDs out of the repo
7) yichen-volc-asr
Transcribe local audio/video files and generate rough cuts:
- Uses environment variables for Volcengine ASR and TOS configuration
- Produces transcript text, SRT subtitles, ASR cache, and optional rough-cut MP4
- Requires explicit user approval before cleaning temporary files
8) yichen-video-content
Analyze benchmark video transcripts:
- Breaks a transcript down sentence by sentence
- Labels each sentence’s role
- Produces a structured imitation and improvement report
9) yichen-chatgpt-web-research
Run research through the user’s already signed-in official ChatGPT website account:
- Uses the real ChatGPT web page, not the OpenAI API or a separate account
- Prefers Chrome extension control and falls back to visible Computer Use only when necessary
- Waits for a full answer with a unique marker before extracting
- Saves raw and readable Markdown reports under the current workspace’s
reports/directory - Keeps profile names, local paths, cookies, tokens, and browser storage out of the public skill
See yichen-chatgpt-web-research/README.md for privacy notes and workflow details.
10) yichen-jianying-editor
Guide Jianying/CapCut desktop finishing:
- Confirms media files and imports rough cuts
- Handles timeline placement, subtitles, visual polishing, and export notes
- Leaves automatic rough-cut logic to
yichen-volc-asr
11) yichen-agent-memory
Install and maintain the public Agent Memory Vault system:
- Creates a local Markdown/Obsidian-first memory vault from the public template
- Uses Markdown as the source of truth and SQLite/FTS as the fast index
- Supports optional Zvec semantic retrieval for fuzzy “meaning-based” recall
- Guides prewrite reconcile, closeout, audit, and privacy-safe template updates
- Typical triggers: “install Agent Memory Vault”, “set up memory vault”, “run memory closeout”, “audit my Agent Memory Vault”
- Template repo: mcncarl/agent-memory-vault
12) yichen-wechat-mp-batch-exporter
Batch-export WeChat Official Account articles:
- Downloads known
mp.weixin.qq.comarticle URLs as Markdown/JSON/text/HTML - Uses
wechat-article-exporterfor account search and history list sync - Separates
publish_groups,expanded_url_items, andoriginal_articles - Supports enhanced archive planning for read counts, likes, shares, comments, and replies through
wxdown-servicewhen fresh user-owned credentials are available - Requires user confirmation for QR login, credential capture, certificate trust, proxy changes, and any WeChat desktop steps
- Never operates WeChat UI or stores real credentials in the repo
See yichen-wechat-mp-batch-exporter/README.md for setup and privacy notes.
13) yichen-wecom-local-vault
Read, decrypt, query, and export local WeCom/企业微信 5.x desktop databases on macOS:
- Creates private, timestamped plaintext snapshots and never writes back to the WeCom container
- Supports contacts, sessions, message history, search, and Markdown/JSON export
- Keeps raw keys, snapshots, and chat exports out of Git
- Does not control the original WeCom app or send messages
Project Structure
yichen-skills/
├─ yichen-summary/
│ └─ SKILL.md
├─ yichen-x-article-draft-uploader/
│ ├─ SKILL.md
│ ├─ README.md
│ ├─ agents/
│ └─ scripts/
│ ├─ export_x_cookies_from_chrome.py
│ ├─ parse_markdown.py
│ └─ upload_markdown_to_x_article.py
├─ yichen-wechat-local-vault/
│ ├─ SKILL.md
│ ├─ README.md
│ └─ scripts/
│ ├─ decrypt_all_dbs.py
│ ├─ export_chat.py
│ ├─ extract_keys.py
│ ├─ list_contacts.py
│ ├─ search_sns.py
│ └─ wechat_digest.py
├─ yichen-mac-wechat-dual-open/
│ ├─ SKILL.md
│ ├─ scripts/
│ │ └─ wechat_dual_open.py
│ └─ references/
│ └─ reliability-and-risks.md
├─ yichen-douyin-fetcher/
│ ├─ SKILL.md
│ └─ scripts/
│ └─ download.py
├─ yichen-xiaohongshu-fetch/
│ ├─ SKILL.md
│ └─ scripts/
│ └─ fetch.py
├─ yichen-volc-asr/
│ ├─ SKILL.md
│ └─ scripts/
│ └─ transcribe.py
├─ yichen-video-content/
│ ├─ SKILL.md
│ └─ references/
│ └─ title-formulas.md
├─ yichen-chatgpt-web-research/
│ ├─ SKILL.md
│ ├─ README.md
│ └─ agents/
├─ yichen-jianying-editor/
│ └─ SKILL.md
├─ yichen-agent-memory/
│ ├─ SKILL.md
│ └─ agents/
├─ yichen-wechat-mp-batch-exporter/
│ ├─ SKILL.md
│ ├─ README.md
│ ├─ agents/
│ ├─ references/
│ └─ scripts/
├─ yichen-wecom-local-vault/
│ ├─ SKILL.md
│ ├─ agents/
│ ├─ references/
│ └─ scripts/
├─ README.md
├─ README.zh.md
├─ THIRD_PARTY_NOTICES.md
├─ LICENSE
└─ .gitignore
Requirements
- Claude Code / Codex CLI (with local skill loading)
- Python Playwright (required by
yichen-x-article-draft-uploader) - Python 3.9+
- Dependencies:
- X article drafts:
pip install playwright pycryptodome && python3 -m playwright install chromium - WeChat local vault:
pip install pycryptodome zstandard - WeChat dual open:
pip install Pillow - Douyin fetcher:
pip install playwright requests && python3 -m playwright install chromium - Xiaohongshu fetcher:
pip install requests - Volc ASR rough cut:
pip install requestsplus localffmpeg/ffprobe - ChatGPT Web research: Chrome signed in to ChatGPT, plus Chrome/Computer Use capability in your agent environment
- WeChat MP batch export: Python 3 standard library for known URL downloads;
wechat-article-exporter/wxdown-serviceonly for account history, metrics, and comments - WeCom local vault:
pycryptodome;fridaonly for explicitly authorized raw-key capture
- X article drafts:
Installation
Copy this repository into your local skills directory:
- Common Claude path:
~/.claude/skills/ - Common Agents path:
~/.agents/skills/ - Custom skill path also works if your setup supports it
Keep directory names unchanged:
yichen-summaryyichen-x-article-draft-uploaderyichen-wechat-local-vaultyichen-mac-wechat-dual-openyichen-douyin-fetcheryichen-xiaohongshu-fetchyichen-volc-asryichen-video-contentyichen-chatgpt-web-researchyichen-jianying-editoryichen-agent-memoryyichen-wechat-mp-batch-exporteryichen-wecom-local-vault
Quick Start (3 Minutes)
A) Enable yichen-summary
- Ensure
yichen-summary/SKILL.mdis available in your loaded skills path - Start a new session and run
/yichen-summary - Confirm output is written to your Obsidian folder (example paths may use
/...)
B) Enable yichen-x-article-draft-uploader
- Install Python Playwright:
pip3 install playwright pycryptodome && python3 -m playwright install chromium - Make sure Chrome is already logged in to X
- Say “upload this Markdown article to X Articles draft” or run the script directly
- The skill creates a fresh draft, preserves the first image as the cover, and inserts body images in place
- See yichen-x-article-draft-uploader/README.md for commands
C) Enable yichen-mac-wechat-dual-open
- Install Python dependency:
pip3 install Pillow - In Claude Code, say “帮我微信双开” or “WeChat dual open”
- The skill will create a second WeChat at
~/Applications/WeChat-2.appwith a blue icon - See
yichen-mac-wechat-dual-open/SKILL.mdfor all commands
D) Enable yichen-wechat-local-vault
- Install Python dependencies:
pip3 install pycryptodome zstandard - In Claude Code or Codex, say “微信解析”, “导出聊天”, or “收藏夹整理”
- First run will guide you through key extraction and choosing among the 9 playbooks
- If unsure, start with the recommended trio: group chat digest + Moments report + Favorites cleanup
- Subsequent runs generate the selected digest, report, or draft workflow
- See yichen-wechat-local-vault/README.md for details
E) Enable the creator video workflow
- Install Playwright, requests, and ffmpeg
- Use
yichen-douyin-fetcheroryichen-xiaohongshu-fetchto save benchmark media locally - Use
yichen-volc-asrto transcribe or rough-cut recorded talking-head videos - Use
yichen-video-contentto diagnose benchmark transcripts - Use
yichen-jianying-editorfor final Jianying/CapCut import, subtitle, polish, and export steps
F) Enable yichen-chatgpt-web-research
- Make sure Chrome is already signed in to the intended ChatGPT account
- Keep the ChatGPT tab or profile visible when a Pro route must be confirmed
- Ask for official-site research, for example: “Use ChatGPT Web to research Anthropic and save a Markdown report”
- The skill waits for a complete answer, verifies the marker, and saves raw/readable Markdown reports
G) Enable yichen-agent-memory
- Make sure
yichen-agent-memory/SKILL.mdis available in your loaded skills path - Ask Codex to “install Agent Memory Vault” or “set up a local Agent Memory Vault vault”
- The skill will use mcncarl/agent-memory-vault to create a private local vault
- After setup, use
codex_memory_search.py,codex_memory_closeout.py, andcodex_memory_audit.pyfor search, task-end cleanup, and periodic review
H) Enable yichen-wechat-mp-batch-exporter
- Make sure
yichen-wechat-mp-batch-exporter/SKILL.mdis available in your loaded skills path - For known article URLs, ask for a Markdown download directly
- For account history, configure
WECHAT_ARTICLE_EXPORTER_DIRor use the public exporter route supported bywechat-article-exporter - For read counts and comments, configure
WXDOWN_SERVICE_DIRand confirm the credential-capture workflow before starting any local helper - See yichen-wechat-mp-batch-exporter/README.md before using metrics, comments, proxy, certificate, or WeChat desktop workflows
I) Enable yichen-wecom-local-vault
- Ensure
yichen-wecom-local-vault/SKILL.mdis available in your loaded skills path - Install
pycryptodome; installfridaonly if you need an explicitly authorized local raw-key capture - Ask to inspect or export your local WeCom data; the workflow never controls the original app
X Cookie Handling
This repo does not include real credentials or cookie templates.
yichen-x-article-draft-uploader exports current X cookies from the user’s local Chrome profile into a temporary Playwright cookie file:
python3 ~/.codex/skills/yichen-x-article-draft-uploader/scripts/export_x_cookies_from_chrome.py --output /tmp/x_current_cookies.json
The temporary file is sensitive and should be deleted after use:
rm -f /tmp/x_current_cookies.json
.gitignore already ignores **/cookies.json.
Security Notes
- Real token/cookie values are not included
- History/cache artifacts are excluded from tracking
- Personal absolute paths are replaced with generic forms
- Third-party AppID, AppToken, TableID, bucket names, and ASR tokens must be supplied through environment variables or private config
- WeChat exporter auth-keys, credential files, QR secrets, captured cookies, and downloaded article archives must stay local and private
If you ever exposed real cookies in a public repo, rotate them immediately.
FAQ
Why doesn’t a skill trigger?
- Verify the skill folder is in your actually loaded skill path
- Restart the session and retry
- Check
nameanddescriptioninSKILL.mdfrontmatter
Why did X Articles draft upload fail?
- Check whether Chrome is still logged in to X
- Re-export temporary cookies
- Verify Python Playwright is installed
- Verify local Markdown/image paths exist
Can I use my own Obsidian path?
- Yes. Replace example paths in skill files
/...is only an example
For Redistributors
This repository is published for personal learning and non-commercial personal use only. Do not use it for commercial services, client delivery, paid products, internal company toolkits, marketplace packages, courses, or any other revenue-generating purpose without explicit written permission.
If you fork for personal study, keep at least:
README.mdREADME.zh.mdLICENSE.gitignoreTHIRD_PARTY_NOTICES.mdyichen-x-article-draft-uploader/README.md
Do not republish or repackage this repository as a public skill bundle. Always remind users not to publish real credentials or private data.
Acknowledgments
Parts of the X Articles draft workflow and Markdown parsing approach are adapted with references to:
wshuyi/x-article-publisher-skill- Repo:
- Docs:
- License: MIT
The WeChat database decryption approach in yichen-wechat-local-vault is adapted from:
zhuyansen/wx-favorites-report- Repo:
- Author: zhuyansen
- License: MIT
- Specifically: the frida hook method for
CCKeyDerivationPBKDFkey extraction and SQLCipher 4 page-level decryption logic
The WeChat dual-open method in yichen-mac-wechat-dual-open is based on:
- @koffuxu — original tutorial (2026-04): Mac 微信双开最完美方案
- @MinLiBuilds — independent confirmation (2026-04)
See THIRD_PARTY_NOTICES.md for details.
Compliance Boundary
- This project is not affiliated with, endorsed by, or sponsored by X (Twitter) or WeChat (Tencent).
- This repository is for personal learning and non-commercial personal workflow use only.
- Commercial use, client delivery, resale, paid redistribution, marketplace packaging, course bundling, and internal company deployment are prohibited without prior written permission.
- Users are responsible for complying with X platform terms/policies and local laws.
yichen-wechat-local-vaultis for personal use only — only decrypt and read your own chat data.yichen-wecom-local-vaultis for owner-authorized local data only — never upload keys, plaintext snapshots, or chat exports.- Never upload real account credentials (for example,
cookies.json,wechat-keys.json) to public repositories. - Never upload real chat records, WeChat databases, customer data, private notes, API keys, local paths, or other personal data.
License
Personal Learning and Non-Commercial Use License. See LICENSE.
추천 도구
다른 키워드를 입력하거나 필터를 제거해 보세요.
설치
npx skillfish add mcncarl/yichen-skills