WeChat Post with GPT Image-2
ReviewAudited by ClawScan on May 12, 2026.
Overview
The skill mostly matches a WeChat marketing poster generator, but it needs review because it uses undeclared local API credentials, can run a public unauthenticated callback server, and includes provider/model behavior that does not fully match the visible instructions.
Use this skill only if you are comfortable sending the provided marketing prompt, contact details, and generated-image requests to external image APIs. Prefer the polling workflow or secure the callback server with localhost binding and a secret token, verify which provider/model is actually used, and review the final image and QR code before posting.
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.
If exposed on a VPS or public network, anyone who can reach the port could submit spoofed callback payloads or store arbitrary data in the callback directory.
The callback server listens on all interfaces by default and saves any POST headers/body without a shown token, signature check, or origin validation.
HOST = os.environ.get("KIE_CALLBACK_HOST", "0.0.0.0") ... "headers": {k: v for k, v in self.headers.items()}, "body": parsedBind the callback server to localhost by default, require a secret callback token or provider signature validation, and document how to stop or clean up the service.
A spoofed or poisoned callback could cause the workflow to download the wrong image into the final marketing output.
The downloader trusts the result URL found in callback JSON and writes it to the requested output path without validating the callback origin or URL domain.
url = result['resultUrls'][0] download_url(url, output_path)
Validate callback authenticity, verify the task ID against the just-created task, restrict acceptable result domains, and require user review before publishing generated images.
User prompts and marketing details could be sent to a different image provider/account than the user expects if this helper is invoked.
An included script reads a Seedream credential and calls a Volces image API, which is not clearly represented by the visible KIE GPT Image-2-only workflow or registry credential declarations.
CREDENTIALS_FILE = "/root/.openclaw/credentials/seedream.json" ... API_URL = _CREDENTIALS.get("endpoint", "https://ark.cn-beijing.volces.com/api/v3/images/generations")Remove unused provider helpers or clearly declare all supported providers, credential paths, endpoints, and when each provider is used.
A user may believe the workflow enforces GPT Image-2 and the documented options, but the actual script may use a different configured/default model or mis-handle the shown flags.
The runnable KIE script chooses the model from the credential file and only accepts positional arguments, while the visible SKILL instructions claim a fixed GPT Image-2 model with --model/--aspect/--resolution flags.
'model': obj.get('model', 'nano-banana-2') ... print('Usage: kie-create-task.py <prompt> [callback_url] [image_url ...]')Align the SKILL command examples with the script, add argparse validation for documented flags, and fail closed if the model is not the declared GPT Image-2 model.
The prompt templates used for image generation may change over time or contain instructions the agent should not over-trust.
The skill asks the user to clone an external prompt library and later read prompt templates from it; this is purpose-aligned but unpinned external content.
git clone --depth 1 https://github.com/EvoLinkAI/awesome-gpt-image-2-API-and-Prompts.git
Pin the prompt repository to a reviewed commit and treat downloaded prompt text as untrusted reference material.
A stale or incorrect QR setting could be reused in future posters if the user does not notice it.
QR-code settings, including a QR image path, are persisted and reused by later generations.
save to all three locations: ./wechat-post/{topic-slug}/qrcode_setting.txt ... $HOME/.jeffli-skills/jeffli-wechat-post/qrcode_setting.txtShow the active QR setting before generation, keep QR settings project-scoped where possible, and provide a clear reset/disable command.
