From setup-notifications-via-wecom
Configures WeCom (Enterprise WeChat) webhook notifications for alerts, backup reports, and status updates. Includes a Python sender script and guidelines for clear messaging.
How this skill is triggered — by the user, by Claude, or both
Slash command
/setup-notifications-via-wecom:setup-notifications-via-wecomThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill helps you send clear, unambiguous technical notifications through a WeCom group bot webhook.
This skill helps you send clear, unambiguous technical notifications through a WeCom group bot webhook. It covers two things:
The bundled script scripts/send_wecom.py handles the actual HTTP call, including the proxy-unset rule
required for Tencent services in mainland China.
Trigger this skill when the user:
Check existing config:
cat ~/.config/setup-notifications-via-wecom/config.json
If it exists and contains webhook_url, skip to Send a Message.
Get the webhook URL from the WeCom group bot settings. It looks like:
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY
Store it privately (outside the skill bundle, so it survives updates):
mkdir -p ~/.config/setup-notifications-via-wecom
echo '{"webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY"}' \
> ~/.config/setup-notifications-via-wecom/config.json
chmod 600 ~/.config/setup-notifications-via-wecom/config.json
Test connectivity by sending a test message (run from the skill directory):
uv run --with requests scripts/send_wecom.py --message "WeCom webhook test ✅"
If you see the message in the WeCom group, setup is done.
These rules come from real corrections. Apply them to every notification.
The first line must say what happened. Do not bury the conclusion.
Claude Code 备份同步完成 ✅
Never say "synced 1075 sessions" if only 13 were new today.
Every count must be accompanied by what it counts. Prefer:
- 源目录主 session:1075 个
- 备份主 session:2328 个
Avoid undefined terms like "session" alone — it may include workflow journals, subagent files, or tool outputs.
Prefer:
Avoid:
Do not include commit hashes, file paths, internal documentation references, or verbose explanations unless the user explicitly asks for them.
Use correct technical terms and define them. Do not translate everything into "大白话" simplifications that hide precision.
When the user asked "does it miss anything?", answer directly:
- 验证:0 缺失,0 滞后
Tell the user whether they need to do anything:
- 下一步:无需操作,下次自动同步 03:00
Use when a backup/sync job finishes and you need to report completeness.
Claude Code 备份同步完成 ✅
- 自动同步:今日 03:00 正常执行
- 本次手动同步:补充 03:00 后的增量
- 主 session:13 个
- 子代理/工具输出/工作流:230 个
- 合计:243 个文件
- 验证:0 缺失,0 滞后
- 当前状态:
- 源目录主 session:1075 个
- 备份主 session:2328 个
- 下一步:无需操作,下次自动同步 03:00
Use when something requires immediate action. Do not use this template for routine "all good" updates.
🚨 [P?] [服务/任务名] [症状]
- 影响:[谁/什么受影响,程度如何]
- 严重程度:[P1–P5 等级]
- 开始时间:[YYYY-MM-DD HH:MM TZ]
- 已采取:[正在做的动作]
- 下一步:[建议动作或预计下次更新时间]
- 相关链接:[dashboard/runbook,可选]
Rules:
Use for routine "all good" updates.
[任务名] 状态正常 ✅
- 检查时间:2026-06-24 03:00 CST
- 关键指标:
- 源目录主 session:1075 个
- 备份主 session:2328 个
- 本次变更:无
- 下一步:无需操作
uv run --with requests scripts/send_wecom.py \
--message "你的消息内容"
For multiline messages, use a file:
cat > /tmp/wecom_msg.txt <<'EOF'
Claude Code 备份同步完成 ✅
- 验证:0 缺失,0 滞后
EOF
uv run --with requests scripts/send_wecom.py \
--file /tmp/wecom_msg.txt
If you prefer not to use the script:
env -u http_proxy -u https_proxy -u all_proxy -u HTTP_PROXY -u HTTPS_PROXY -u ALL_PROXY \
curl -s -X POST 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{
"msgtype": "text",
"text": {
"content": "YOUR_MESSAGE"
}
}'
Critical: Tencent services (WeChat/WeCom) must bypass the local proxy. The env -u ... prefix is required.
When a user asks "let my backup script send WeCom notifications", do the following:
scripts/send_wecom.py with the message.Connection closed or timeoutWeCom endpoints may fail if local proxy env vars leak into the request. The script and inline curl examples already unset them. If it still fails:
env | grep -i proxy
Unset any that are set before running the sender.
Check the response body. WeCom returns 200 even for errors like invalid key or message-too-long. The script prints the full response; read it.
Run the setup step again. The script expects ~/.config/setup-notifications-via-wecom/config.json with a webhook_url field.
references/message_best_practices.md — condensed checklist distilled from this session's corrections.scripts/send_wecom.py — the sender script.npx claudepluginhub p/daymade-setup-notifications-via-wecom-setup-notifications-via-wecomSends a single message to a WeCom (Enterprise WeChat) group bot via webhook. Invoke with /notify-wecom or natural language triggers.
Configures Bark push, WeChat, and system notifications for Claude Code projects. Enables persistent alerts and proactive sending via PowerShell scripts after tasks.
Configures Bark push, WeChat, and system notifications for Claude Code via .claude/claude-notification.local.md. Provides bash scripts for proactive task alerts.