starchild-ai-agent/official-skills

wechat-binding

WeChat binding: QR scan, bind, unbind, reconnect, status check. Use when setting up or repairing WeChat delivery (e.g. connect WeChat, scan QR, why isn't WeChat pushing, disconnect WeChat).

All-time #5886 First seen May 15, 2026
8-week activity · all time api

Installation

$ npx skills add starchild-ai-agent/official-skills --skill wechat-binding

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from starchild-ai-agent/official-skills · top by installs.

npx skills add starchild-ai-agent/official-skills

Browse all from starchild-ai-agent/official-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 26
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.1

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,649 B
  • docs SUMMARY.md 211 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2,131 installs

SKILL.md

📱 WeChat Binding

Connect / reconnect / disconnect the user's WeChat account so the agent can push messages via sendtowechat.

The wechat tool stays built-in. This SKILL.md is the reference doc.

See also

  • config/context/references/messaging-channels.md — how to actually send messages once bound
  • skills/tg-bot-binding/SKILL.md — analogous Telegram flow

Typical binding flow

qrcode → user scans → qrcode_status(qrcode=...) → connect(bot_token=...)
  1. Generate QR: wechat(action="qrcode") — saves an image to workspace, returns qrcode (id) + file_path.
  2. Show the QR to the user. On web channel: include the filepath so the frontend renders the image. On TG/WeChat channel: send the image via sendtotelegram with the filepath.
  3. Wait for the user to scan + confirm in WeChat. Don't auto-poll — let them say "scanned" / "done" first.
  4. Poll for completion: wechat(action="qrcodestatus", qrcode=<id from step 1>). Returns bottoken once scan + confirm completes.
  5. Connect: wechat(action="connect", bottoken=<from step 4>). Optional: ilinkbotid, ilinkuser_id if the user has multiple WeChat accounts.
  6. Confirm to user: "WeChat connected. You can now push messages with sendtowechat."

Actions

action required purpose
status Current WeChat connection state. Use before reconnect, to verify binding.
qrcode Generate QR code image (saved to workspace). Returns qrcode id + file_path.
qrcode_status qrcode Poll whether user has scanned + confirmed. Returns bot_token on success.
connect bot_token Complete a NEW WeChat connection (after first-ever QR scan). Optional: ilinkbotid, ilinkuserid.
disconnect Terminate current WeChat session (unlink).
reconnect bot_token Re-establish a previously-bound WeChat (token from a fresh QR scan).

connect vs. reconnect

  • connect — first-time binding. The user has NEVER bound this WeChat before.
  • reconnect — the user was previously connected, the connection dropped (e.g. ilink session expired), and they just scanned a fresh QR.

When in doubt, call status first:

  • connected: false + no prior history → connect
  • connected: false + prior history exists → reconnect

Channel-aware QR display

User channel How to show the QR
Web Include file_path in your reply — frontend renders it inline
Telegram sendtotelegram(filepath=<qrpath>, message_type="photo")
WeChat (You can't — they're trying to bind WeChat in the first place. Tell them to open the web app.)

Critical rules

  • Don't auto-poll qrcode_status after qrcode. Wait for user confirmation that they scanned + confirmed in WeChat. Auto-polling spams the upstream API.
  • Each qrcode call generates a fresh image. Don't re-use an old qrcode id with a new image — the upstream session is tied to the id.
  • Never paste bottoken in chat. It's a credential. Once you have it from qrcodestatus, immediately pass it to connect / reconnect and don't echo it back to the user.
  • disconnect is destructive — confirm with the user before calling it.