WeChat Cover

v1.0.0

Generate WeChat official account cover images with proper 2.35:1 aspect ratio. Supports OpenAI DALL-E and Gemini image generation with customizable styles.

0· 18·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
Capability signals
Crypto
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description (WeChat cover generation) match the included code: image clients for OpenAI and Gemini, a cropping utility, and a generator script. The declared provider API keys (OpenAI/Gemini) are appropriate and expected for the stated functionality.
Instruction Scope
SKILL.md instructions are focused on generating images and configuring provider keys. The script reads settings.json and uses provider API keys to send prompts to remote image-generation APIs (expected). Minor mismatches: examples show running OpenAI without explicitly setting OPENAI_BASE_URL, but the OpenAI client code requires a base_url (the bundled settings.json contains a default base_url). The README also expects a 'uv' command for execution (uncommon), which could confuse users.
Install Mechanism
No install spec is provided (instruction-only install), reducing install-surface risk. The Python scripts declare reasonable runtime dependencies (openai, google-genai, pillow) in comments; nothing is being downloaded from obscure URLs or written at install time.
Credentials
Only provider-related secrets are referenced (OPENAI_API_KEY, OPENAI_BASE_URL, GEMINI_API_KEY). These are proportionate to a tool that calls remote image-generation APIs. The skill does not request unrelated credentials or system config paths.
Persistence & Privilege
The skill is not always-enabled and does not request elevated agent privileges. It does not modify other skills or system settings. Autonomous invocation is allowed (platform default) but not combined with other concerning requests.
Assessment
This skill appears to do what it claims: it builds prompts locally, sends them to the configured image-generation provider, and crops the returned image for WeChat. Before installing or running it: 1) Be prepared to provide an API key for the image provider you intend to use (these keys will be sent to the provider when generating images). 2) Confirm how you will run the script (SKILL.md shows `uv run` — ensure you have the expected runner or adapt to your Python environment). 3) Note that the OpenAI client implementation requires a base_url (the included settings.json provides a default api.openai.com base_url); if you remove settings.json or expect a different override order, you may encounter runtime errors. 4) Review the remainder of scripts/generate.py (it was truncated in the provided preview) to verify there are no unexpected file reads/writes beyond settings.json and the output image. 5) Run in an isolated virtualenv and avoid putting sensitive data (personal identifiers, private content) into prompts since prompts and generated images are transmitted to the external provider. If you want additional assurance, share the full generate.py content (the truncated portion) for review.

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

latestvk97bz651tdb58cgwraxednt4p1846txk

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

WeChat Cover Image Generator

Generate professional cover images for WeChat official account articles with multi-provider support (OpenAI DALL-E or Gemini).

What Makes a Good WeChat Cover?

  • Aspect ratio: 2.35:1 (wide cinematic format)
  • Time-prefixed filename: Use YYYY-MM-DD-wechat-cover-title.png format.
  • No text: WeChat overlays the article title
  • Visual focus: One clear focal point, not cluttered
  • Clean & bright: Modern aesthetic suitable for WeChat subscription feeds

Usage

Basic generation (OpenAI by default):

uv run skills/wechat-cover/scripts/generate.py \
  --title "Your Article Title" \
  --topic "AI tools"

With Gemini provider:

uv run skills/wechat-cover/scripts/generate.py \
  --title "Your Article Title" \
  --topic "AI tools" \
  --provider gemini

With custom base URL (OpenAI-compatible proxy):

export OPENAI_BASE_URL="https://your-proxy.com/v1"
export OPENAI_API_KEY="sk-..."

uv run skills/wechat-cover/scripts/generate.py \
  --title "Your Article Title" \
  --topic "AI tools" \
  --provider openai

Parameters

ParameterRequiredDescription
--titleYesArticle title (used to understand context)
--topicYesTopic/category (e.g., "technology", "AI")
--providerNoopenai (default) or gemini
--base-urlNoOpenAI-compatible base URL (env: OPENAI_BASE_URL)
--modelNoModel name override
--styleNoStyle variant: default, tech, business, lifestyle, creative
--filenameNoOutput filename (auto-generated if omitted)
--resolutionNo1K/2K/4K (default: 2K)
--output-dirNoOutput directory (default: current directory)
--api-keyNoAPI key (settings.json > env var)

Configuration File (settings.json)

{
  "openai": {
    "api_key": "sk-...",
    "base_url": "https://your-proxy.com/v1",
    "model": "dall-e-3"
  },
  "gemini": {
    "api_key": "your-gemini-key",
    "model": "gemini-3-pro-image-preview"
  },
  "default_provider": "openai",
  "default_resolution": "2K",
  "default_style": "default"
}

OpenAI-compatible proxies (e.g. palebluedot, new-api) that use /v1/chat/completions for image generation are auto-detected and supported. Set base_url and model accordingly.

Priority order: CLI argument > settings.json > environment variable

Style Variants

All styles follow Anthropic's Claude design language — clean, bright, and restrained:

VariantDescription
defaultWarm minimalist: cream, beige, coral, sage. Organic shapes, soft lighting, generous whitespace
techCool modern: off-white, slate blue, lavender, cyan. Geometric lines, glass morphism, grid composition
businessProfessional: warm white, navy, charcoal, amber. Architectural lines, natural light, clear hierarchy
lifestyleWarm organic: cream, blush, sage, golden. Natural textures, golden-hour light, handcrafted feel
creativeRefined bold: white, coral red, teal, gold. Abstract geometric, asymmetric, paper-cut aesthetic

Environment Variables

VariableProviderDescription
OPENAI_API_KEYopenaiOpenAI API key
OPENAI_BASE_URLopenaiOpenAI-compatible proxy URL (optional)
GEMINI_API_KEYgeminiGemini API key

Resolution Guide

ResolutionDimensions (OpenAI)Dimensions (Gemini)Use Case
1K1024×10241024×1024Preview/thumbnail
2K1792×10242048×2048Standard cover
4K1792×10244096×4096High quality

Examples

Tech article with OpenAI:

uv run skills/wechat-cover/scripts/generate.py \
  --title "2024年最值得学习的编程语言" \
  --topic "technology" \
  --style tech \
  --resolution 2K

Business article with Gemini:

uv run skills/wechat-cover/scripts/generate.py \
  --title "职场沟通技巧" \
  --topic "business" \
  --style business \
  --provider gemini

Lifestyle article:

uv run skills/wechat-cover/scripts/generate.py \
  --title "周末去哪儿:杭州小众咖啡馆推荐" \
  --topic "lifestyle" \
  --style lifestyle \
  --output-dir ./covers

Output

  • Auto-cropped and resized to 900×383 (2.35:1 WeChat cover format)
  • Saves to specified directory (default: current directory)
  • Filename format: YYYY-MM-DD-wechat-cover-{title-slug}.png
  • Format: PNG for best quality

Requirements

  • uv installed for Python script execution
  • Pillow (pip install Pillow) for image cropping/resizing
  • For OpenAI provider: OpenAI API key from OpenAI Platform
  • For Gemini provider: Gemini API key from Google AI Studio

Files

6 total
Select a file
Select a file to preview.

Comments

Loading comments…