# Yichen Mac Wechat Dual Open

Create, inspect, repair, and polish a second WeChat app on macOS by copying WeChat...

- Repository: https://github.com/mcncarl/yichen-skills (5140 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add mcncarl/yichen-skills --skill yichen-mac-wechat-dual-open -g -a claude-code -y`
Codex: `npx skills add mcncarl/yichen-skills --skill yichen-mac-wechat-dual-open -g -a codex -y`
Cursor: `npx skills add mcncarl/yichen-skills --skill yichen-mac-wechat-dual-open -g -a cursor -y`
Gemini CLI: `npx skills add mcncarl/yichen-skills --skill yichen-mac-wechat-dual-open -g -a gemini-cli -y`

## Description

Create, inspect, repair, and polish a second WeChat app on macOS by copying WeChat, changing the bundle identifier, ad-hoc re-signing, preparing it for the user to open manually, setting Chinese language preferences, and recoloring only the copied app icon from WeChat green to blue. Use when the user asks whether Mac WeChat dual-open methods from X/Twitter or scripts are reliable, asks to prepare a second WeChat app, fix WeChat-2 language/icon/cache issues, or make the copied app visually distinct without installing third-party injection tools. Never launch or control WeChat.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Mac WeChat Dual Open

## Core Judgment

Prefer the copy + bundle id + ad-hoc signing method over injection/tweak tools when the user wants a cleaner second WeChat:

1. Copy `/Applications/WeChat.app` to a user-owned app such as `~/Applications/WeChat-2.app`.
2. Change only the copy's `CFBundleIdentifier`, usually to `com.tencent.xin2`.
3. Re-sign the copy with `codesign --force --deep --sign -`.
4. Stop and have the user open the prepared copy manually. The agent never launches WeChat.

This is generally workable, but not permanent. Updates, push notifications, keychain isolation, Gatekeeper/signing policy, and Tencent-side app checks can break or degrade it. Read `references/reliability-and-risks.md` when evaluating a public tutorial or explaining tradeoffs.

## Prerequisites

- macOS 12+ with WeChat installed at `/Applications/WeChat.app`
- Python 3.10+ (system python works)
- Pillow: required for `recolor-icon`. Install with `pip3 install Pillow` if missing.
- Xcode Command Line Tools: `xcode-select --install` provides `codesign`, `iconutil`, `sips`.

## Locating the Script

This skill contains a helper script at `scripts/wechat_dual_open.py` relative to the skill directory. Different agents install skills to different paths:

- Claude Code: `~/.claude/skills/yichen-mac-wechat-dual-open/scripts/wechat_dual_open.py`
- Codex CLI: `~/.codex/skills/yichen-mac-wechat-dual-open/scripts/wechat_dual_open.py`
- Others: locate the skill directory by finding `SKILL.md` for `yichen-mac-wechat-dual-open`

When executing commands, construct the script path dynamically:

```bash
# Auto-detect: find the script regardless of agent platform
SKILL_DIR="$(dirname "$(find ~ -path '*/yichen-mac-wechat-dual-open/SKILL.md' -maxdepth 4 2>/dev/null | head -1)")"
SCRIPT="$SKILL_DIR/scripts/wechat_dual_open.py"
python3 "$SCRIPT" status
```

Or if you know your skill path, use it directly:

```bash
SCRIPT="<skill-dir>/scripts/wechat_dual_open.py"
python3 "$SCRIPT" status
```

The rest: https://github.com/mcncarl/yichen-skills/blob/HEAD/yichen-mac-wechat-dual-open/SKILL.md
