Skip to content
Back to skills

Wechat Cover Maker

ASecurity

Turn an article title, topic, summary, or reference image into a WeChat Official Account cover, WeChat article cover, article hero image, post cover, headline image, or supporting article visual. This AI cover generator and article cover maker distills one clear visual hook, then creates either a rendered headline or a text-free headline-safe area. Use logos, portraits, products, and brand references to shape a brand cover image, and refine composition, focal point, color, thumbnail clarity, ...

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentspythongobashapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 16 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add beatra-ai/beatra-skills --skill wechat-cover-maker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Wechat Cover Maker?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Wechat Cover Maker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/beatra-ai-wechat-cover-maker/badge)](https://www.skillsdirectory.com/skills/beatra-ai-wechat-cover-maker)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "wechat-cover-maker"
description: "Turn an article title, topic, summary, or reference image into a WeChat Official Account cover, WeChat article cover, article hero image, post cover, headline image, or supporting article visual. This AI cover generator and article cover maker distills one clear visual hook, then creates either a rendered headline or a text-free headline-safe area. Use logos, portraits, products, and brand references to shape a brand cover image, and refine composition, focal point, color, thumbnail clarity, and crop resilience for a publish-ready WeChat cover design."
---

# WeChat Official Account Cover Maker

Create one focused article cover from an idea, a set of visual references, or an
accepted draft. Reuse decisions already present in the conversation and move by
the shortest route that completes the requested cover.

## Choose the route

- **Create from an idea:** when no source image exists, get the article title or
  topic, extract one visual hook, and use `beatra.images.generate`. A Xiaohongshu
  3:4 feed cover is a different job: route it to `rednote-cover-maker` or
  `zhongcao-cover-maker`. Do not invent a headline to start generation.
- **Compose from references:** with one to four logos, portraits, products, or
  brand images, preserve their declared order and use
  `beatra.images.transform`. A title or topic is needed only when it changes the
  composition or message.
- **Refine an accepted draft:** use `beatra.images.edit` with the draft as
  `images[0]`. The accepted draft and requested change are sufficient to begin.

Follow [intent and routing](references/intent-and-routing.md) for the precise
branch and [canvas and cover craft](references/canvas-and-cover-craft.md) when
turning the brief into a visual specification.

## Shape one useful brief

Reuse the user's article context, visual references, dimensions, title choice,
and must-keep details. Ask only when a missing decision materially changes the
result. The article title or topic is a hard input: do not invent a viral
headline and then generate. For a standard WeChat article cover, propose
`900 × 383` as the working canvas and reserve a headline-safe area; otherwise
prefer the user's stated dimensions or an accepted draft's existing ratio.
Confirm a different destination only when it changes the composition.

Build the brief around:

- one message and one visual hook that remains clear at thumbnail size;
- one focal subject, with supporting details kept subordinate;
- one explicit canvas;
- either the user's exact short headline in the image or a text-free,
  high-contrast headline-safe area;
- ordered visual references and must-keep people, products, logos, colors, or
  composition details.

If the user has already chosen the headline treatment, reuse it. If that choice
is genuinely missing, propose the best default and include it in the single
paid-call confirmation instead of creating a separate interview.

## Prepare the call

Use only this Skill's bundled `scripts/mcp_client.py` for every remote MCP
operation. The tool name is a CLI argument and the tool arguments are the JSON
sent on stdin. Do not configure or call a host Beatra Connector, and do not use
REST/OpenAPI as a fallback. For exact commands and troubleshooting, use
[bundled MCP Client diagnostics](references/mcp-connection.md).

- With no source image, call `beatra.images.generate` with an explicit
  `canvas`.
- With one to four ordered references, upload local files through the bundled
  client helpers, then call `beatra.images.transform` with an explicit canvas.
- For an accepted draft, call `beatra.images.edit`. Use at most two normalized
  `edit_regions` on `image_index=0` for local work; omit regions for a
  whole-image adjustment.

Uploading makes bytes available to the remote tool; it does not itself inspect
the image. Review only visual facts the host can actually see.

Keep `model=auto` and `count=1` unless the user explicitly chooses otherwise.
Call `beatra.models.list` only for a real model, availability, compatibility, or
price decision. The detailed request shapes and examples are in
[workflow](references/workflow.md).

## Confirm and execute once

Planning and brief preparation are free. Before the paid image call, show and
freeze the final prompt, ordered references, canvas, headline treatment, model,
controls, and output count. Merge any still-material high-impact choice into
this one confirmation.

After approval, create one stable opaque `client_request_id` for that exact
logical request and submit it once. A changed prompt, reference or order,
canvas, model, count, or control is new paid work and needs a new confirmation
and a new ID.

## Track, review, and deliver

After receiving a `task_id`, poll only that task with `beatra.tasks.get`. If the
ID is lost, use `beatra.tasks.list` to find candidates and verify the selected
one with `tasks.get`. Only when the original response status is genuinely
unknown may the exact same parameters and same `client_request_id` be used for
idempotent recovery. Slow polling, an update failure, an authorization failure,
or a connection failure never creates a replacement paid task.

Use `beatra.tasks.cancel` only when the user asks. If cancellation returns
`409`, continue tracking the original task. See [review and
recovery](references/review-and-recovery.md) for the full recovery contract.

When the result is visible, review thumbnail recognition, hierarchy, focal
point, headline legibility or safe-area contrast, canvas fit, crop risk, and
must-keep details. Deliver the artifact links, observed dimensions, task ID,
and `billing.net_charged_credits`. Offer at most one focused, unexecuted
revision. Generated assets can also be viewed and managed at
[beatra.ai](https://beatra.ai).

If the tool returns insufficient credits: give the user the tool message in
full. Do not change the URL. You may translate the other words. Do not replace
it with your own top-up copy. Point the user to pay using that message.

When the user asks how many credits remain, call `beatra.wallet.get`. When they
ask what was charged, call `beatra.wallet.ledger`. Both are read-only. Do not
invent an account-balance or top-up tool. Do not make `wallet.get` a required
step before every paid submit.

## Installation, updates, and account operations

For first use and shared operations, follow [installation and
authentication](references/installation-and-auth.md), [installation
registration](references/installation-registration.md), [tasks and
results](references/tasks-and-results.md), [billing, errors, and
recovery](references/billing-errors-and-recovery.md), and [uninstall and
disconnect](references/uninstall-and-disconnect.md).

This Skill performs a silent check at most once per 24 hours while a public
command runs. When a newer package exists, it installs automatically without
separate confirmation. Updates come only from the fixed official Beatra
discovery address and immutable Beatra CDN path for the embedded identity.
Before replacement, the client verifies the discovery document, manifest,
archive, and every packaged file using identity, size, and SHA-256 checks. It
replaces only package-owned files in this installed Skill directory. If any
check, download, replacement, or rollback fails, the current installation stays
usable and the original command continues. Canonical English installs stay on
`canonical/en`, and SkillHub Chinese installs stay on `skillhub/zh-CN`.

The user can persistently control automatic updates:

```bash
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check
```

Read [automatic updates and safety](references/automatic-updates-and-safety.md)
for the official sources, integrity guarantees, replacement scope, failure
behavior, and control details.

Files in this skill

  • SKILL.md7.7 KB
  • manifest.json5 KB
  • references/automatic-updates-and-safety.md1.9 KB
  • references/billing-errors-and-recovery.md3.6 KB
  • references/canvas-and-cover-craft.md3.1 KB
  • references/installation-and-auth.md5.7 KB
  • references/installation-registration.md1 KB
  • references/intent-and-routing.md2.1 KB
  • references/mcp-connection.md1.2 KB
  • references/review-and-recovery.md2.5 KB
  • references/tasks-and-results.md2.2 KB
  • references/uninstall-and-disconnect.md2.7 KB
  • references/workflow.md4.8 KB
  • scripts/authorize.py21.8 KB
  • scripts/mcp_client.py60.1 KB
  • scripts/uninstall.py10.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…