md2WeChat-python

ReviewAudited by ClawScan on May 1, 2026.

Overview

The skill appears to do what it claims, but draft mode intentionally uses WeChat credentials and uploads article content and images to WeChat.

This skill is reasonable for its stated purpose. Before installing, make sure you trust it with the intended WeChat public account credentials, protect any .env file, use --convert-only when you only want local HTML, and use --draft only when you are ready to upload the article and images to WeChat.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Running the tool with only a Markdown file and valid WeChat credentials will attempt to upload a draft instead of only producing local HTML.

Why it was flagged

Draft upload is the CLI default unless --convert-only is selected, so users and agents should choose the mode deliberately.

Skill content
mode_group.add_argument('--draft', action='store_true', default=True,
                            help='转换并上传到微信草稿箱(默认模式)')
Recommendation

Use --convert-only for local conversion, and use --draft only when the user explicitly wants content uploaded to WeChat.

What this means

Anyone with access to the configured AppID and AppSecret can use the skill to upload materials and create drafts in that WeChat account.

Why it was flagged

The skill uses WeChat public-account credentials to act on the configured account, which is expected for draft creation but still sensitive.

Skill content
appid = os.environ.get('WECHAT_APPID')
    secret = os.environ.get('WECHAT_SECRET')
...
        client = WeChatSkillClient(appid=appid, secret=secret)
Recommendation

Store the .env file securely, use credentials only for the intended WeChat account, and rotate the secret if it may have been exposed.

What this means

Article text and referenced images may leave the local machine and be stored by WeChat when draft mode is used.

Why it was flagged

Draft mode sends the converted article content to the WeChat API; the same client also uploads images to WeChat endpoints.

Skill content
url = f"https://api.weixin.qq.com/cgi-bin/draft/add?access_token={self.client.access_token}"
...
                'content': article['content'],
Recommendation

Only use draft mode for content and images that are intended to be uploaded to WeChat, and review the generated draft in the WeChat platform.

What this means

A later dependency release could change behavior or introduce vulnerabilities if installed without a lockfile.

Why it was flagged

The dependency list uses lower-bound versions rather than exact pins, which is common but gives future package versions influence over the installed environment.

Skill content
wechatpy>=1.8.18
markdown>=3.4
beautifulsoup4>=4.12
requests>=2.28
python-dotenv>=1.0
Pillow>=9.0
cryptography>=40.0
Recommendation

Install in a virtual environment and consider pinning or locking dependency versions before using the skill with production credentials.