Based on the material provided by the user, generate a set of style-consistent, ready-to-publish image-text cards (graphic cards) and accompanying note copy.
Core model: fixed engine, variable style.
Card layout, font-size hierarchy, safe area, and spacing are the "engine" (assets/core.css, invariants);
color scheme, fonts, background, and decoration are "style presets" (references/styles/, variables).
Changing style only changes the skin, not the engine. Platform differences (canvas ratio, external link/traffic diversion rules, tags) see references/platforms.md。
One-sentence flow:
素材 → 补充(+source-verify) → 风格(选/研) → 出图 → 反AI味自检(仅建议) → 确认后改
When to use / not use
Use: turn an article/draft/outline intoimage-text cards (graphic cards); generate illustrations and note copy; "graphic-card-ify" existing content. Applies toimage-text platforms such as Xiaohongshu and WeChat Tietu Hao。
Do not use:
- Only revise copy, remove AI flavor →
humanize-plus - Only do platform compliance scan →
publish-guard - Only do fact-checking →
source-verify
Non-negotiable hard rules
- Material must be provided by the user. If there is no source material, stop and ask for it; never fabricate content out of thin air.
- Fabricating data is prohibited. Numbers, user counts, percentages, and reviews must have a source or come from user material; otherwise delete them or mark them "to be filled".
- External links / traffic diversion handled per platform rules. Xiaohongshu prohibits external links in the body and off-platform traffic diversion; uniformly use "search the name in the store/homepage"; WeChat Tietu Hao follows official account rules (links may be left, but avoid hard traffic diversion). See
references/platforms.md。 - Content with
[unverified]in fact-checking may not enter the cards(consistent with rule 2). - Publishing requires ticking the "AI-generated content" declaration(graphic cards are rendered by the tool).
- The anti-AI-flavor check only gives suggestions, does not auto-modify; changes must be made only after user confirmation.
- Do not redraw OS/browser chrome. Use real screenshots for interface displays; only when there is truly no screenshot, use a minimized
.mockconceptual sketch.
Dependencies and degradation
- Rendering depends on Playwright(MCP, or local
npx playwright). When missing,stop exportingand promptnpx playwright install chromium;do not fake images or results。 - Optional capabilities: fact-checking
source-verify, illustrationimage-sourcing, copy polishinghumanize-plus, compliancepublish-guard. When the corresponding capability is missing, skip that step and explain. - Fonts: use Google Fonts by default (Noto Sans SC / Space Grotesk / JetBrains Mono); in offline environments fall back to the system PingFang SC, with essentially the same layout.
Six-step flow
For detailed wording and criteria, see references/workflow.md。
| Step | What to do | Key points |
|---|---|---|
| 1 · Collect material | Read the blog/draft/outline given by the user | None → stop asking; save as the output directory's source.md |
| 2 · Supplements + style | Merge into a single question: supplements (official docs? image requirements? fact-checking?) + target platform (default Xiaohongshu) + desired style | Images → Skill(image-sourcing); fact-checking → Skill(source-verify); for platform differences see references/platforms.md |
| 3 · Determine style branch | Hit references/styles/ → list presets for the user to choose; no hit → search high-scoring notes on that platform → produce a preset draft → register after confirmation |
The style question was already asked together in Step 2, so do not ask again here |
| 4 · Generate cards | Choose a narrative skeleton → split into 6–8 cards → (conditional) confirm the outline → apply the preset + fill the template → export PNGs + write the copy | See references/content-templates.md、references/export-and-qc.md |
| 5 · Anti-AI-slop self-check | Go through references/anti-slop.md item by item and output asuggestion report(truly needs changing / exempt for this style) |
Read-only, do not modify files |
| 6 · Revise after confirmation | User checks the suggestions → change only those items → re-export only the affected cards | For de-AI-slopping the copy, adjust Skill(humanize-plus); for compliance, adjust Skill(publish-guard) |
"Outline confirmation" isconditional: when card count ≥6 / new style / multiple numeric facts are involved, it ismandatory; it can be skipped for short content that follows an existing series style. What gets confirmed is the title candidates + key points for each image.
Output directory
It is recommended to put the generated artifacts under adedicated image-text card project(decoupled from the blog/code repository), with one directory per series:
<cards-project>/<slug>/
├── README.md # 发布说明:标题候选/正文/标签/发布时间
├── post-1-<name>.md # 帖子一完整文案
├── post-2-<name>.md # (可选)系列第二篇
├── src/
│ ├── core.css # 从本 skill assets/ 复制
│ ├── post1.html # 由 post-template.html 填充
│ ├── post2.html
│ └── assets/ # logo、截图等素材
└── cards/
├── post1/01-cover.png … 08-cta.png
└── post2/…
Example:~/Workspace/imagetext-posts/<slug>/. If the user has no dedicated card project, fall back to the current project's docs/cards/<slug>/。
Cross-SKILL reuse (don't reinvent the wheel)
- Fact-checking →
Skill(source-verify): cross-verify key facts and output a report;[unverified]does not go into the cards. - Images →
Skill(image-sourcing): search/download/record licensed images. - De-AI-slopping the copy →
Skill(humanize-plus): polish the note body and card copy. - Platform compliance →
Skill(publish-guard): check for banned words/gray-area words/absolutes/AI disclosure.
References index (load on demand, do not read everything)
| File | When to read |
|---|---|
references/workflow.md |
Before every generation: the six-step details + questions to ask the user + self-check report format |
references/platforms.md |
From Step 2 onward: platform differences (canvas/external links/tags/AI disclosure) + platform-specific rules |
references/design-system.md |
Before changing layouts/components or adding style presets: engine spec and theme variable contract |
references/anti-slop.md |
Step 5 self-check: card-facing anti-AI-slop rules + exemption list + checklist |
references/content-templates.md |
Step 4: narrative skeletons + cover hooks + title/tag formulas |
references/export-and-qc.md |
Steps 4/6: Playwright export + card-specific QC |
references/styles/_index.md |
Step 3: style registry + how to add a new style |
references/styles/<style>.md |
After choosing a style: get that style's tokens and do/don't |
assets/core.css |
Every time: copy to the project's src/, do not modify the engine itself |
assets/post-template.html |
Each time: copy and fill |