Cover Anchor System
ponyodong2026/ponyo-cover-anchor-system
Designs Xiaohongshu and WeChat article covers around information density and a visual anchor, then writes a complete image prompt, color plan and critique.
Produces social card sets for Xiaohongshu and WeChat: carousels, Live Photo motion cards and puzzle layouts, and WeChat cover pairs, rendered from single-file HTML.
$ npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install op7418/guizang-social-card-skill guizang-social-card-skill --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "guizang-social-card-skill" agent skill from https://github.com/op7418/guizang-social-card-skill/tree/main into .claude/skills/guizang-social-card-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guizang-social-card-skill", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install op7418/guizang-social-card-skill guizang-social-card-skill --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "guizang-social-card-skill" agent skill from https://github.com/op7418/guizang-social-card-skill/tree/main into .agents/skills/guizang-social-card-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guizang-social-card-skill", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install op7418/guizang-social-card-skill guizang-social-card-skill --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "guizang-social-card-skill" agent skill from https://github.com/op7418/guizang-social-card-skill/tree/main into .cursor/skills/guizang-social-card-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guizang-social-card-skill", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install op7418/guizang-social-card-skill guizang-social-card-skill --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "guizang-social-card-skill" agent skill from https://github.com/op7418/guizang-social-card-skill/tree/main into .gemini/skills/guizang-social-card-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guizang-social-card-skill", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install op7418/guizang-social-card-skill guizang-social-card-skillInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "guizang-social-card-skill" agent skill from https://github.com/op7418/guizang-social-card-skill/tree/main into .github/skills/guizang-social-card-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guizang-social-card-skill", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install op7418/guizang-social-card-skill guizang-social-card-skill --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "guizang-social-card-skill" agent skill from https://github.com/op7418/guizang-social-card-skill/tree/main into .opencode/skills/guizang-social-card-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guizang-social-card-skill", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
guizang-social-card-skillProduces social card sets for Xiaohongshu and WeChat: carousels, Live Photo motion cards and puzzle layouts, and WeChat cover pairs, rendered from single-file HTML.
The skill turns articles, scripts, screenshots, product notes, subtitles, photos or supplied videos into finished social images in an editorial or Swiss-style layout. Outputs include carousel sets with a cover and content pages (mainly 3:4 for Xiaohongshu or Rednote), short Live Photo motion cards, Live Photo puzzle layouts of one, two, three or four videos, triple collages, and WeChat Official Account cover pairs made of a 21:9 main cover and a 1:1 square cover composed in one HTML file so they can be checked together.
For long videos it first decides whether to trim, speed up, split into a collage or ask you for a time range before rendering. All generated work goes into a task folder, by default under `local-tests/` in the repository or an output folder you name, never into the skill's root. The skill is self-contained and must not edit the original Guizang PPT skill it borrows visual ideas from. It is not for full slide decks, long-form video generation or plain image editing, and a category cookbook routes common Rednote categories to recipes. The licence is AGPL-3.0, with a separate commercial licensing document.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cf4b810. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (JavaScript, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
pexels.comunsplash.comflickr.comwallhaven.ccFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Guizang Social Cards loads about 7.8k tokens when it runs, and up to ~55k if it reads all its reference files. Until then it costs about 145 tokens; SKILL.md has 4,342 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from op7418/guizang-social-card-skill at commit cf4b810, republished under its AGPL-3.0 licence (© op7418). 4,342 words, ~7,812 tokens.
.claude/skills/guizang-social-card-skill/SKILL.md (or your agent's skills folder). This skill also uses 48 other files; get the full folder from GitHub.Create polished social card packages for Xiaohongshu/Rednote, WeChat Official Account, article covers, and platform thumbnails.
This skill is self-contained. It borrows visual principles from the Guizang PPT style system, but it must not edit the original PPT skill, its templates, or its references. If the original PPT skill is available, you may read it for reference only.
Generated work must live in a task folder, not in the skill root. Default to local-tests/<slug>/ inside this repository, or use the explicit output folder requested by the user. Do not create root-level task folders such as social-card-*, livephoto-*, wechat-*, output/, or loose rendered assets next to SKILL.md.
Use this skill for:
21:9 main cover plus one 1:1 square cover, composed together in the same HTML for visual checking.Do not use this skill for:
The 11 most-common Rednote (小红书) categories fall into three buckets. See references/category-cookbook.md for the recipe-by-recipe routing.
Strong end-to-end (text, structure, and image story all in scope):
Strong on text & structure; image needs to come from the user or a sourced library:
Outside scope — push back honestly rather than promise a result:
When a request falls in the third bucket, name what we cannot do at intake — do not silently retrofit a layout that misses the user's intent.
Expression comes first. The goal is not to squeeze text into posters; it is to turn the source into a clear visual argument.
For each page, decide:
Read these files as needed:
references/platform-specs.md for exact ratios, output sizes, and naming.references/style-system.md for Guizang editorial and Swiss visual rules.references/theme-presets.md when choosing electronic-magazine palettes or Swiss accent palettes.references/layout-recipes.md when selecting carousel/social-card/WeChat page structures.references/components.md for the shared component spec: font stacks, type scale, minimum readable sizes, Chinese title length bands, Swiss card-fill mutual-exclusion rule, image-container ratio classes, spacing tokens, and Lucide icon rules.references/background-systems.md when building electronic-magazine WebGL/ink/paper backgrounds.references/portrait-fill.md when adapting layouts to 3:4 and avoiding under-filled vertical space.references/content-planning.md for cover hooks, page breakdown, and copy compression.references/production-workflow.md for HTML/CSS rendering and image handling.references/live-photo-production.md when the user asks for Live Photo / 实况照片 / 三连实况拼图, supplies video assets for a social card, or wants Xiaohongshu / WeChat motion-card delivery. It covers information budget, single vs triple Live Photo, long-video intake, and platform publishing reminders.references/image-overlay.md whenever text sits on top of a photo: photo qualification, localized tint fallback, and face / subject avoidance via multimodal subject mapping.references/screenshot-treatment.md when the user supplies an app / web / code / dashboard screenshot — picks .frame-shot over .frame-img, sets corners/shadow/bg/inset, decides on .device-browser or .device-phone chrome.references/map-component.md when the content has spatial relationships (travel route, store locations, walking tour) — real routes default to Mapbox Static or OSM static tiles; schematic SVG is only for conceptual / illustrative maps. Pins are HTML overlays; never use live JS maps.references/title-shortener.md when the task is a WeChat 21:9+1:1 cover pair, or any cross-platform reuse — derives the 1:1 short title from the long one (5-step extraction, 4 patterns, anti-patterns, sizing on .poster.square).references/category-cookbook.md to route a user-named Rednote category (旅行 / 职场 / 游戏 / 影视 / 彩妆 / 美食 / 穿搭 / 家居 / 健身 / 情感 / 推荐) to applicable recipes and to confirm scope.references/qa-checklist.md before delivering final images.Gather only the missing information that changes the output:
Target platforms and ratios.
Source text, subtitles, article, or title.
Rednote category — if the user names one of the 11 common types (旅行 / 职场 / 游戏 / 影视 / 美食 / 彩妆 / 穿搭 / 家居 / 健身 / 情感 / 推荐), route via references/category-cookbook.md to find the right recipes and to confirm the request is inside the capability circle (see "Rednote Category Capability" above). If a request lands in the outside-scope bucket, surface that to the user before designing, do not silently retrofit.
Supplied images/screenshots and where each should appear. For News / Tutorial / Data / Review content, actively prompt for screenshots or photos — they are the evidence layer. A poster with no real artifact tends to read as filler.
Supplied video assets, if the user asks for Live Photo. Treat user-provided video as the normal path; web-sourced free video is only for demo/promo cases or when the user explicitly asks for sourced material. Confirm the target platform because duration differs: Xiaohongshu supports 5s; WeChat Official Account Live Photo should stay at 3s and must be uploaded from iPhone. Before cutting, read references/live-photo-production.md and classify the request as single Live Photo, triple collage, or long-video intake. If the source is too long or contains multiple usable moments, do a low-cost diagnosis first, then ask once whether to trim, speed up, split into multiple wells, or use a user-specified time range. If the source is shorter than the target duration, ask whether to provide a longer clip, accept a shorter Live Photo, or explicitly allow a hold/slowdown. If the important focus is ambiguous, suggest possible crop/enlarge options but let the user decide before executing.
If the user supplies only text (no images at all), ask once before designing:
这篇我需要 1-2 张图。三种走法:
A. 你自己有照片 / 截图,传给我(推荐——最不"AI 感")
B. 我去 Pexels / Unsplash / Flickr 帮你找
C. 用 AI 生成Recommend A in one line — your own photo is what makes a poster not look AI-generated. Accept whatever the user picks (including "都行你看着办") and proceed. Do not re-prompt later, do not keep nudging toward A across multiple turns. This question is one-shot.
Preferred style if specified: Swiss Style, magazine/editorial, tech, outdoor, etc.
Hard constraints: title text, no image on 1:1 cover, must include a hardware photo, keep screenshot readable, and so on.
If the user has already supplied enough context, proceed with reasonable assumptions.
If the content involves current product releases, policies, prices, claims, or news, verify unstable facts with browsing and cite sources in the final response.
Turn the source into a page plan before designing.
For Rednote:
For WeChat:
21:9 main cover and 1:1 square cover.21:9 keeps the full or near-full title, subtitle, and one strong visual relation.1:1 uses a simplified short title derived from the long title: big centered type, no image by default, no cramped subtitles.Pick one mode per package. The two systems are not bound to specific content types — what changes is the visual stance, not which topic you can talk about. A workplace essay can be Editorial; a travel ledger can be Swiss. Pick by the feeling you want, not by category lookup.
Editorial Magazine x E-ink brings:
Swiss International brings:
If both feel viable for a piece of content, the question becomes editorial intent: "is this a feature story or a release note?" That decides the mode, not the topic itself.
Do not mix the two visual systems inside the same image set unless the user explicitly asks for a hybrid.
Then pick one theme:
Read references/theme-presets.md for exact CSS tokens. Do not invent arbitrary colors unless the user has a strict brand requirement.
Create a concise internal plan:
Page 01 / cover / hook / image source / layout intent
Page 02 / point / key copy / visual evidence / layout intent
...When the user asks for approval, show this plan before rendering. Otherwise use it internally and proceed.
Use references/layout-recipes.md to choose page structures. Avoid making every page a repeated title-plus-card layout.
For 3:4 images, check references/portrait-fill.md before coding. A short table or ledger must be expanded into a full portrait composition with a quote column, image evidence, marginalia, larger rows, or a background hero zone.
Audience-facing copy must describe the user's actual scene, not the production method. Internal terms such as 3s, 5s, Live Photo, triple collage, information budget, long-video intake, speed-up, highlight detection, one action point, or layout template may guide planning, filenames, QA notes, and delivery summaries, but they must not become the H1, hook, or main body copy unless the user is explicitly making an instructional post about those concepts. Before rendering, read every visible headline once as a real viewer: if it sounds like a task requirement, replace it with scene-specific copy.
Do not add non-template ornaments just to satisfy an automated density warning. Extra rulers, side bars, pseudo time axes, decorative labels, or invented badges must come from an existing layout recipe or a user request. If a density warning appears, fix it by choosing a better recipe, resizing real content, or accepting the advisory warning with a visual rationale; do not put meaningless UI on the card.
For Live Photo cards, plan them as normal social cards first, then decide the motion role: one action point, one small process, a before/after change, three parallel results, or ambience/evidence. The only structural change is that one or more image wells become video wells. Keep the same ratio, crop, safe-area, typography, and style mode rules; apply the still-image crop logic to the video stream. The first frame must pass the same checks as a static image: no excessive crop, key UI/content remains readable, and the card still follows the chosen layout recipe. Read references/live-photo-production.md before rendering.
For material-first Live Photo puzzle cards, let the video assets lead. Use little or no copy: one short headline is enough for a single-video cover, and two-grid / three-grid / four-grid versions should usually have no added text. When a single-video cover adds text on top of the footage, use the M16 Image-Led Cover / text-on-image rules: subject map first, safe quiet zone, Editorial serif/Songti title at regular-medium weight, paper-cream text, and no default full-canvas mask. Do not invent extra kicker, meta, hairlines, labels, rulers, badges, subtitles, or explanatory production terms just to make the overlay feel designed. If only one headline is available, make the typography carry the layout: phrase-aware line break, restrained size, tracking, alignment, and placement. Treat source-embedded text as part of the footage; only avoid adding new text unless the user asks.
Do not write HTML from scratch. Pick one seed template based on the style mode chosen in Step 3:
assets/template-editorial-card.html into the task folder as index.html.assets/template-swiss-card.html into the task folder as index.html.The seed already wires up: font loading, theme tokens, all three poster sizes (.poster.xhs / .poster.square / .poster.wide), the pair-preview frame, grain/background layers, and all class definitions referenced by the layout recipes.
Set the theme/accent on the <html> element:
<html data-theme="ink-classic | indigo-porcelain | forest-ink | kraft-paper | dune | midnight-ink">.<html data-accent="ikb | lemon-yellow | lemon-green | safety-orange">.Replace the single placeholder poster after <!-- POSTERS_HERE --> with one <section class="poster ..."> block per page, each carrying the HTML skeleton from a chosen Layout Recipe (M01-M16 for Editorial, S01-S12 for Swiss). Never load the wrong template's class system: Editorial recipes assume serif display + ledger/marginalia/pipeline-v; Swiss recipes assume Inter + card-fills + matrix/h-bar/kpi-tower. Mixing them silently breaks the layout.
Default implementation pattern:
local-tests/<slug>/ by default, or inside the user-requested output folder. Never put generated task folders, rendered images, MOV files, .pvt packages, or downloaded sources in the skill root next to SKILL.md.assets/.<!-- POSTERS_HERE --> region page-to-page. If a task needs custom layout CSS, add one clearly named task-scoped block in the copied file and keep semantic defaults reset (figure { margin:0; }, no browser-default spacing surprises)..poster or .cover node.output/.node validate-social-deck.mjs <task-dir> available for auto-check passes. It checks overflow (R1), footer collision (R2), Swiss bold display (R3), minimum font size (R4), 4-band density (R5), .h-xl line caps (R6), browser-default figure margin drift (R7), visual bounds / bottom whitespace (R8), and title-to-content gaps (R9). Exit code 1 on any FAIL — fix before final delivery when auto-check is requested. WARN is advisory but read it.Live Photo branch:
3s fits one action point; 5s fits one small process; triple collage fits three parallel clips but not a complex story; long videos require diagnosis before editing..pvt. This catches crop and hierarchy issues with much lower token and render cost.5s for Xiaohongshu, 3s for WeChat Official Account.JPG + MOV into .pvt with makelive; AirDrop the .pvt as one item for iPhone tests.references/live-photo-production.md for exact commands and failure-mode checks.Do not place visible instructions, keyboard shortcuts, or usage explanations inside the images.
For Editorial Magazine x E-ink, use a layered background system. Prefer a subtle WebGL ink-flow canvas or a frozen procedural canvas plus paper grain. Read references/background-systems.md; do not rely on a flat beige background, and do not add page-wide grid/dot backgrounds.
When the user provides screenshots:
Whenever a poster places text on top of a photo (full-bleed cover, large image well, generated-image overlay), follow references/image-overlay.md:
image-overlay.md. Compose without a mask first; if the thumbnail check fails, add only a localized, image-toned tint around the title area. Do not default to full-canvas falloffs.object-position inline on every photo. The template default (center 50%) is a fallback, not a recommendation. For every <img>, decide based on subject location and write it inline: e.g. style="object-position:center 62%" for mid-body subjects, center 30% for sky-heavy landscapes with horizon-line subjects, center 70% for foreground gear. See the table in references/components.md for ranges and image-overlay.md for face-photo specifics. Skipping this silently crops subjects out of frame on tall ratios (r-3x4, r-21x9).Editorial dark covers (e.g. game journals on key art) and Swiss covers with hero photos both require these checks. Skipping them is a known failure mode (see style-system.md Anti-Pattern D).
When the user has no images:
When the user has no screenshots/photos and a generated bitmap would not fit the page's role (e.g. Editorial atmosphere shot, outdoor / lifestyle backdrop, game cover art, real-world product shot), fetch from the web instead of leaving the page thin.
Policy: grab first, disclose after, let the user decide on attribution. Do not pre-filter sources by guessed license — the user is the rights holder of the final composition and decides what is acceptable.
Recommended sources, in order of preference. All five below are free-tier libraries with no required licensing fees; we do not pull from paid stock sites (视觉中国 / Getty / 站酷海洛 etc.).
https://unsplash.com/s/photos/<keyword>. Strong for outdoor / lifestyle / atmospheric backdrops. English keywords work best. License is permissive but verify case by case.https://www.pexels.com/search/<keyword>/ or https://www.pexels.com/zh-cn/search/<keyword>/. Supports Chinese keyword search natively — fills Unsplash's gap on 国内场景 (中文街景 / 国风物件 / 本地地名). Use this first when the subject is China-specific or the keyword is Chinese. Free under Pexels License.https://www.flickr.com/search/?text=<keyword>&license=2%2C3%2C4%2C5%2C6%2C9. The license filter (license=2,3,4,5,6,9) restricts to Creative Commons photos. Fills the "documentary realness" gap: street photography, people-in-context, real interiors, non-styled scenes that Unsplash/Pexels lack. Always preserve CC attribution if the user opts in.https://wallhaven.cc/search?q=<keyword>. Strong for game / anime / wallpaper themes. Content is user-uploaded, rights are unverified.Editorial-mode picking order: Pexels (if keyword is Chinese / China-specific) → Unsplash → Flickr CC (if you need real-life feel) → direct search. Swiss mode rarely needs any of these — product renders, UI screenshots, and keyshot-style images should be user-supplied or AI-generated, not stock.
How to fetch:
curl to download the image into the task folder's assets/ directory.assets/hero-mountain.jpg, assets/ui-pulse-card.png.assets/SOURCES.md file next to the images (one line per file: hero-mountain.jpg ← <url>). Always do this even if the user declines attribution in the final image — it preserves provenance for the human author.After fetching, surface the provenance to the user before finalizing the design:
我从 <site> 取了这些图:
- assets/hero-mountain.jpg — <url>
- assets/ui-pulse-card.png — <url>
⚠️ 版权未经核实。请你判断是否可用。
是否需要在图文中标注来源?
- 要:我把 "Photo · <site> · @<author>" 加到对应页脚 / 角标。
- 不要:原样使用,不加注释。If the user picks "标注" — add a small mono caption (Swiss: .t-meta 18-20px in corner; Editorial: .label next to the image well). Never crowd the caption into the layout's focal area.
If the user picks "不标注" — proceed silently. The provenance still lives in assets/SOURCES.md for the user's own records.
If an image is only one element among many in a composite (e.g. one of nine photos in a matrix), the user may reasonably skip attribution. Do not force a credit label that breaks the layout.
Show user first, validate on request. Auto-running the validator after every render takes too long and delays the user from seeing results. Default flow:
node validate-social-deck.mjs <task-dir>, fix any FAIL, and re-render before final delivery. Mention density/cap WARNs.Never silently run the validator before showing the user — it costs minutes per pass and the user often spots issues faster.
Final response (after the user has reviewed or asked for auto-check) should include:
.pvt package path, the debug JPG + MOV pair, target platform duration, and validation summary.5s Xiaohongshu, 3s WeChat Official Account) and publish path (AirDrop the .pvt package as one item to iPhone, then publish from the matching mobile app path; desktop/web upload paths generally cannot recognize .pvt as a publishable Live Photo).local-tests/<slug>/ by default, or under a user-requested output folder. Root-level generated folders like social-card-*, livephoto-*, wechat-*, and loose output assets are forbidden..foot with margin-top: auto inside a flex column, never with position: absolute over growing content.1-40px means nudge/tighten, 40-90px means local compaction, 90-160px means slight title or paragraph compression, and only 160px+ should trigger recipe changes or content removal. After fixing, check R8 bottom whitespace so the page does not swing from overflow to a giant empty lower band.28px below; local headings should keep at least 16px. Use validator R9 before relying on visual inspection.font-size + font-weight on display titles in Swiss. Use the typed classes (.h-hero / .h-statement / .h-xl / .num-mega). A 80-120px headline at weight 700-900 is not Swiss; "the larger, the lighter" is a hard rule.references/style-system.md — a serif title alone does not make a poster Editorial.<div style="flex: 1"></div> 上下夹击把内容塞到中段——杂志页留白逻辑不适用于社交卡(杂志靠对开页吸收留白,社交卡逐张独立刷,欠填看着像 PPT 漏排)。Recipe-by-recipe 最小密度见 references/layout-recipes.md 每条 recipe 的「Minimum density」段。Render 后必须跑 qa-checklist.md 的 4 横带密度检查。© op7418, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 48 other files (scripts, references, assets) in the repository root of op7418/guizang-social-card-skill.
Open the folder on GitHubat commit cf4b810
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in op7418/guizang-social-card-skill, which our catalogue first saw on October 7, 2026.
Guizang Social Cards next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Guizang Social Cards this skillop7418/guizang-social-card-skill | 7.4k | 1 repos | ~7.8k | Automated safety check: Pass | AGPL-3.0 | |
| Cover Anchor Systemponyodong2026/ponyo-cover-anchor-system | 190 | — | ~1.1k | Automated safety check: Pass | None | |
| BLCaptain Card Setsdososo/blcaptain-style-skill | 167 | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| Xiaohongshu Cover Generatorchenxiachan/xhs-claude-skills | 421 | — | ~1.1k | Automated safety check: Notes | MIT | |
| Xiaohongshu Multi-Page HTML CardsSpaceZephyr/creator-buddy | 1.6k | — | ~928 | Automated safety check: Pass | None | |
| Lingzaoatian-create/lingzao-skill | 296 | 1 repos | ~8.8k | Automated safety check: Pass | MIT |
ponyodong2026/ponyo-cover-anchor-system
Designs Xiaohongshu and WeChat article covers around information density and a visual anchor, then writes a complete image prompt, color plan and critique.
dososo/blcaptain-style-skill
Turns Chinese content into image-text card sets for Xiaohongshu and WeChat covers, with three visual styles rendered from a brief.json the agent writes.
chenxiachan/xhs-claude-skills
Creates a Xiaohongshu-style 3:4 cover image from a title by building an HTML page in one of six visual styles and capturing it with Playwright.
SpaceZephyr/creator-buddy
Turns an article, SOP, or tutorial into a self-contained, multi-page 3:4 HTML deck of image cards meant to be screenshotted page by page.
atian-create/lingzao-skill
Use Lingzao creator-content tools for Xiaohongshu/XHS, Douyin, and WeChat official-account public content.
SpaceZephyr/creator-buddy
Creates a 2.35:1 header cover for a WeChat official account article with image generation, keeping the headline inside the area that survives sharing crops.
Works with
Categories
Produces social card sets for Xiaohongshu and WeChat: carousels, Live Photo motion cards and puzzle layouts, and WeChat cover pairs, rendered from single-file HTML. The skill turns articles, scripts, screenshots, product notes, subtitles, photos or supplied videos into finished social images in an editorial or Swiss-style layout. Outputs include carousel sets with a cover and content pages (mainly 3:4 for Xiaohongshu or Rednote), short Live Photo motion cards, Live Photo puzzle layouts of one, two, three or four videos, triple collages, and WeChat Official Account cover pairs made of a 21:9 main cover and a 1:1 square cover composed in one HTML file so they can be checked together.
Guizang Social Cards fits situations like: turning an article into a Xiaohongshu carousel; making a WeChat Official Account cover pair; building a Live Photo motion card from a screen recording; laying out a triple Live Photo collage from three short videos.
Run `npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a claude-code`. Or copy the skill folder (the op7418/guizang-social-card-skill repository) into .claude/skills/guizang-social-card-skill in your project. Claude Code loads it when a task matches its description.
Run `npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a codex`. Or copy the skill folder (the op7418/guizang-social-card-skill repository) into .agents/skills/guizang-social-card-skill in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add op7418/guizang-social-card-skill --skill guizang-social-card-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/guizang-social-card-skill, .gemini/skills/guizang-social-card-skill, .github/skills/guizang-social-card-skill and .opencode/skills/guizang-social-card-skill in your project.
Going by SKILL.md and its folder, Guizang Social Cards needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node).
SKILL.md names 4 domains. In commands or code: pexels.com, unsplash.com, flickr.com and wallhaven.cc; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Guizang Social Cards is published under the AGPL-3.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.8k tokens (SKILL.md is roughly 31k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 47k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Guizang Social Cards: Cover Anchor System (ponyodong2026/ponyo-cover-anchor-system, 190 stars), BLCaptain Card Sets (dososo/blcaptain-style-skill, 167 stars), Xiaohongshu Cover Generator (chenxiachan/xhs-claude-skills, 421 stars) and Xiaohongshu Multi-Page HTML Cards (SpaceZephyr/creator-buddy, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
op7418 (a GitHub user) maintains it in op7418/guizang-social-card-skill, which has 7,441 GitHub stars. The repository was last updated on July 1, 2026.
Source: op7418/guizang-social-card-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.