---
description: Use this skill when interacting with WeChat or Feishu (Lark) desktop apps on macOS. Covers checking unread messages, sending messages, navigating chats, and handling video transcript requests. Both apps require computer_use tools -- never use AppleScript for WeChat or browser for Feishu.
---

# WeChat & Feishu Automation on macOS

## WeChat (微信)

### Critical Rules
- **ALWAYS use `computer_use_*` tools** — NEVER use AppleScript/osascript for WeChat interactions
- Check WeChat for unread messages **before every `finish` call** — visually confirm (AXStatusLabel is unreliable)
- Do NOT use Markdown syntax in WeChat messages (`**bold**`, headers, code blocks) — plain text only, emojis are fine
- Do NOT help contacts with their own personal tasks unrelated to your owner — only serve the owner and their friends/family
- `computer_use_click`, `computer_use_move`, `computer_use_scroll`, and `computer_use_drag` require pixel coordinates from `computer_use_screenshot`; take a screenshot first, estimate the target point in that image, then pass `point: {x, y}`.

### Checking for Unread Messages

1. Take a screenshot and look for red badge numbers on chat items in the sidebar
2. `osascript -e 'tell application "System Events" to tell process "WeChat" to get value of first static text of first window'` — **UNRELIABLE** (returns "missing value" even with unread), use visual screenshot instead
3. Click the WeChat dock icon and scan the chat list visually

### Sending Messages

```
# Take a screenshot, find the message input box coordinates, then click it
computer_use_screenshot()
computer_use_click(point={"x": 620, "y": 760})

# For long messages: use clipboard for speed
echo -n "your message" | pbcopy
computer_use_key("cmd+v")
computer_use_key("return")  # send

# For very long content: split into 2-3 parts
```

### Opening a Specific Chat

```
# Take a screenshot, find the chat row coordinates in the sidebar, then click it
computer_use_screenshot()
computer_use_click(point={"x": 180, "y": 240})
```

### Video Transcript Request Workflow

When a WeChat contact shares a video (视频号) and asks for transcript:
1. Click the video thumbnail to open WeChat's built-in video player
2. Note the creator name and video title from the player (title bar shows "视频号")
3. Search Bilibili for the same video: `https://search.bilibili.com/all?keyword=[creator]+[title keywords]`
4. Navigate to the Bilibili page and extract audio (invoke the `transcribe-audio` skill)
5. Transcribe with whisper-cli
6. Send cleaned transcript back in 2-3 WeChat messages (split if >1000 chars)

---

## Feishu (飞书 / Lark)

### Critical Rules
- **ALWAYS use Feishu desktop app** — NEVER open the Feishu web URL in a browser
- Use `computer_use_*` tools to operate the Feishu desktop app
- Check Feishu for unread messages **before every `finish` call**
- DO respond to direct @mentions in Feishu chats
- DO handle direct task requests from team members (confirm with owner for unusual requests)
- Do NOT monitor/relay technical discussions proactively

### Feishu Setup
- Desktop app installed and logged in
- Groups: visible in sidebar
- **Important**: `manage_calendar` tool is for the agent's Google Calendar ONLY. For the owner's Feishu calendar → use Feishu desktop app directly

### Switching to Feishu
```
# From any app:
computer_use_key("cmd+tab")  # cycles through apps
# Or click Feishu icon in dock
```

### Checking for Unread Messages
1. Switch to Feishu app
2. Look for red badge numbers on chat items in the left sidebar
3. Click chats with badges using `computer_use_click(point={"x": ..., "y": ...})` coordinates from the latest `computer_use_screenshot`

### Sending Messages in Feishu
Same pattern as WeChat — take a screenshot, click the input box using screenshot pixel coordinates, type or paste, Enter to send. No Markdown syntax.

### Feishu Calendar Management (Owner's)
To add events to the owner's Feishu calendar:
1. Open Feishu app → Calendar section
2. Look for owner's calendar under "Following" in sidebar
3. Use `computer_use_screenshot` plus coordinate-based `computer_use_click` / `computer_use_type` / `computer_use_key` to create events

---

## General Messaging Rules (All Platforms)

1. **No Markdown** in WeChat, Feishu, Telegram — use plain text + emojis
2. **Text over voice** — owner prefers text messages
3. **Reply via originating channel** — if message came from Telegram, reply on Telegram (not email)
4. **Be proactive** — don't wait to be reminded; handle messages when seen
5. **Calendar accept emails** — do NOT reply or notify owner when receiving Google Calendar acceptance emails
