SKILL.md
/notify-wecom
Send a single message to a WeCom group bot.
Human confirmation boundary
Read the explicit recipientscope and recipientlabel from the shared config. self is the user's own delivery channel and may send without authorization. others requires the active human-confirmation gate with the exact label and message. Missing/invalid scope is a configuration error: stop and classify the target; do not guess. A local alert/outbox item still needs identity/content validation before either route.
Usage
/notify-wecom Claude Code 备份完成 ✅
The skill reads the webhook URL from the shared config file:
~/.config/setup-notifications-via-wecom/config.json
If the config is missing, it prints the one-line setup command and stops.
Prerequisite
This skill is a lightweight companion to setup-notifications-via-wecom. Either:
- Install
setup-notifications-via-wecomfirst (recommended — it provides the webhook setup steps and its bundled sender), or - Create the config file manually as shown below.
What It Does
- Reads
~/.config/setup-notifications-via-wecom/config.jsonforwebhookurl,recipientscope, andrecipient_label. - Unsets all local proxy env vars (Tencent endpoints must be reached directly).
- If scope is
self, sends without an authorization prompt. If scope isothers, presents the exact label and message for human confirmation. - Sends via the WeCom webhook using the sender from
setup-notifications-via-wecom(or an equivalent inline curl call). - Reports success or the exact WeCom error; authorization alone is not delivery proof.
Examples
/notify-wecom 服务上线成功 🚀
/notify-wecom 告警:build 失败,请检查
/notify-wecom 今日同步完成,0 缺失 0 滞后
Multi-line Messages
For multi-line messages, wrap in triple quotes or use a file:
/notify-wecom "第一行
第二行
第三行"
Failure Modes
- Config missing: Run the setup step from
setup-notifications-via-wecom, or create the config file manually. - Recipient or sender identity missing/invalid: Use
setup-notifications-via-wecom'ssetrecipient.pycommand; never infer self versus others from the webhook URL, and never trust a script merely because its basename issendwecom.py. - Webhook key invalid: WeCom returns an
errcode; the skill prints it. - Proxy still interfering: If you have proxy vars set outside the standard names, unset them first.
Limitations
- Plain text only. No markdown cards, images, or @mentions.
- Message length limit is 4096 bytes (UTF-8).
- No templating — use
setup-notifications-via-wecomfor structured backup/alert/status messages. - A prepared pending item is not a delivery receipt; only the sender response proves delivery.