一键生成PPT截图和缩略图工具发布到微信去的工具,MAC版本
Analysis
The skill mostly matches its PPT-to-WeChat purpose, but it requires WeChat account secrets and automatically creates WeChat materials/drafts with hardcoded article text, so it should be reviewed carefully before use.
Findings (6)
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.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
result = create_draft(access_token, article) ... publish_wechat(config, work_dir)
The main flow proceeds directly to WeChat upload/draft creation after generating images, with no artifact-backed confirmation or preview gate before mutating the external account.
"title": Path(image_dir).name + "(无中缝,无水印,高清PPT,带教案)",
The WeChat draft title is automatically appended with promotional/claim-like wording that is not called out in SKILL.md.
subprocess.run(cmd, check=True)
The script runs local LibreOffice and Ghostscript commands for PPT-to-PDF and PDF-to-PNG conversion; this is central to the stated purpose and uses argument lists rather than shell strings.
brew install ghostscript pip3 install pillow
The setup instructions rely on user-run, unpinned package-manager installs, and there is no install spec declaring these dependencies.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
access_token = get_access_token(
config["wechat_appid"],
config["wechat_appsecret"]
)The code consumes WeChat app credentials to obtain an access token for the official account, while the registry metadata declares no primary credential or required environment variables.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
r = requests.post(url, files={'media': f}).json()Generated image files are uploaded to WeChat API endpoints; this is aligned with the skill purpose, but it means local PPT content leaves the Mac.
