WeCom post in group

v1.0.1

This skill should be used when users want to set up scheduled or recurring content push to WeChat Work group webhooks. It supports flexible scheduling includ...

0· 240·1 current·1 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for luckyethan/wecom-post-in-group.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "WeCom post in group" (luckyethan/wecom-post-in-group) from ClawHub.
Skill page: https://clawhub.ai/luckyethan/wecom-post-in-group
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install wecom-post-in-group

ClawHub CLI

Package manager switcher

npx clawhub@latest install wecom-post-in-group
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the provided assets: SKILL.md describes scheduled pushes and automation creation, and the included Python scripts implement webhook validation and message push. Nothing in the repository requests unrelated cloud credentials or external services beyond content generation (which is expected for summarized/report pushes).
Instruction Scope
Instructions stay within the stated purpose (parse webhook, determine schedule, generate content, test push, create automation). They explicitly allow reading a user-specified file containing a webhook key/URL and instruct embedding the webhook URL into automation prompts (expected for running the automation). Minor inconsistency: SKILL.md says to always mask webhook keys in user-facing output, but scripts/validate_webhook.py prints an unmasked WEBHOOK_URL line on success (this can leak the full webhook into logs).
Install Mechanism
No install spec; this is instruction + small Python scripts only (standard library usage). No external downloads or package installs are requested.
Credentials
The skill requests no environment variables or credentials beyond the webhook key/URL supplied by the user (which is appropriate). Be aware the automation prompt and created automation will include the webhook URL (a secret) and the validate script prints the full WEBHOOK_URL to stdout on success, which contradicts the SKILL.md masking guidance and could expose the webhook in logs or automation metadata.
Persistence & Privilege
always is false and the skill does not request system-wide configuration changes. It expects the platform automation system (via automation_update) to store the automation; that is expected for scheduled tasks. Autonomous invocation is allowed by default (platform behavior) but not unusually privileged here.
Assessment
This skill appears coherent for scheduling WeCom (企业微信) webhook pushes and includes modest, readable Python scripts that only send messages to the official webhook endpoint. Before installing: - Treat the webhook URL/key as a secret: avoid using a webhook with broad permissions or posting to production channels during testing. The automation will store the webhook URL in its prompt/configuration. - The validate script prints a WEBHOOK_URL line on success; consider editing it to avoid emitting the full URL (use only the masked form) to prevent leakage in logs or auditing trails. - If you plan to have the automation fetch web pages or GitHub trending content, confirm the agent's network-access and content-generation steps don't require additional credentials you don't want stored in automation prompts. - Test with a non-critical test group/webhook and rotate the webhook key if it is accidentally exposed. Overall, nothing in the package demands unrelated credentials or performs hidden exfiltration, but be cautious about how and where you store the webhook URL in automation metadata and logs.

Like a lobster shell, security has layers — review code before you run it.

latestvk97f1pchtaf9v1y9bkkhy0v7t983qj5p
240downloads
0stars
2versions
Updated 1mo ago
v1.0.1
MIT-0

Scheduled Webhook Push Skill

Purpose

Provide a complete workflow for setting up scheduled content push to WeChat Work (企业微信) group webhooks. This skill handles webhook configuration, flexible schedule patterns, content formatting, and automation creation.

When to Use

  • User wants to push content to a WeChat Work group webhook on a schedule
  • User mentions webhook ID/URL and a push frequency (daily, weekly, monthly, or custom)
  • User wants to configure recurring automated messages to 企业微信 groups
  • User provides a webhook key or full URL and wants to set up automation

Workflow

Step 1: Parse Webhook Configuration

Extract the webhook information from user input. The webhook can be provided in multiple formats:

  1. Full URL: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  2. Key only: adeee643-bc8e-4ad1-bb52-83001cd5986e
  3. From a file: User may specify a file path containing the webhook key/URL

If provided as key only, construct the full URL:

https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={KEY}

To validate the webhook, run the validation script:

python3 {SKILL_DIR}/scripts/validate_webhook.py <webhook_url_or_key>

Step 2: Determine Schedule Pattern

Parse the user's desired schedule into one of the supported patterns. Refer to references/schedule_patterns.md for the full mapping of natural language to RRULE + date-guard logic.

Supported schedule types:

TypeExamplesImplementation
Daily每天、每日、dailyRRULE: FREQ=HOURLY;INTERVAL=24
Weekly每周一、每周五、weekly on MondayRRULE: FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0
Monthly (fixed date)每月1日、每月27号、monthly on the 15thRRULE: FREQ=HOURLY;INTERVAL=24 + date guard day == N
Monthly (pattern)每月最后一周的周一、first Monday of each monthRRULE: FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0 + date guard

Date guard logic for monthly patterns (used in automation prompt):

  • Fixed date (e.g. 每月27日): Add to prompt: 首先检查今天的日期,如果今天不是每月的 {N} 日,则直接结束,不执行任何操作。
  • Last Monday of month: Add to prompt: 首先检查今天的日期,计算本月最后一个周一的日期(本月最后一天往前找到第一个周一),如果今天不是该日期,则直接结束。
  • First Monday of month: Add to prompt: 首先检查今天的日期,如果今天的日期不在 1-7 号之间,则直接结束。
  • Last week of month: Add to prompt: 首先检查今天的日期,如果今天的日期加 7 后仍在本月内(即不是最后一周),则直接结束。

Step 3: Determine Push Content

Ask the user what content to push, or infer from context. Common content types:

  1. GitHub Trending — Fetch and summarize trending AI/tech repos
  2. Custom message — User-provided static or template message
  3. Data report — Query data and format as report
  4. URL content — Fetch and summarize a web page

Step 4: Test the Push

Before creating the automation, perform a one-time test push to verify the webhook and content formatting.

Use the push script to send a test message:

python3 {SKILL_DIR}/scripts/push_to_webhook.py \
  --webhook "<WEBHOOK_URL>" \
  --format markdown \
  --message "<FORMATTED_CONTENT>"

Or use curl directly:

curl -s '<WEBHOOK_URL>' \
  -H 'Content-Type: application/json' \
  -d '{"msgtype":"markdown","markdown":{"content":"<CONTENT>"}}'

Verify the response is {"errcode":0,"errmsg":"ok"}.

Step 5: Create the Automation

Use the automation_update tool with the following configuration:

mode: "suggested create"
name: <descriptive name based on content and schedule>
prompt: <date guard if needed> + <content generation steps> + <push via webhook>
rrule: <computed RRULE from Step 2>
cwds: <current workspace>
status: ACTIVE

Automation prompt template:

{DATE_GUARD_IF_NEEDED}

执行以下步骤:

1. {CONTENT_GENERATION_STEPS}

2. 将整理好的内容通过企业微信群机器人 Webhook 推送,Webhook 地址为:{WEBHOOK_URL}

3. 推送格式使用 {FORMAT},确保内容格式正确、可读性好。

Step 6: Confirm to User

After creating the automation, summarize the configuration:

  • Task name: What was created
  • Schedule: Human-readable description (e.g. "每月 27 日上午 10:00")
  • Webhook: Target webhook (masked key for security: show first 8 and last 4 chars)
  • Content: What will be pushed
  • Status: Active/Paused

Message Format Reference

WeChat Work webhook supports these message types:

Markdown (recommended for rich content)

{
  "msgtype": "markdown",
  "markdown": {
    "content": "# Title\n> Quote\n**Bold** <font color=\"warning\">Warning</font>"
  }
}

Supported markdown elements:

  • Headers: #, ##, ###
  • Bold: **text**
  • Links: [text](url)
  • Quotes: > text
  • Color: <font color="info|comment|warning">text</font>
  • Line breaks: \n

Text (for simple messages)

{
  "msgtype": "text",
  "text": {
    "content": "Message content",
    "mentioned_list": ["@all"]
  }
}

Important Notes

  • WeChat Work webhook has a rate limit of 20 messages per minute per webhook
  • Markdown message content has a max length of 4096 bytes
  • If content exceeds the limit, split into multiple messages
  • Always mask webhook keys in user-facing output for security
  • The automation scheduling system only supports HOURLY and WEEKLY RRULE frequencies; for monthly schedules, use a date guard in the prompt

Comments

Loading comments...