huashu-xhs-image — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited huashu-xhs-image (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Never skip the design proposal and jump straight to generating. The correct workflow:
Understand content → Design proposal (2–3 directions) → User selection → Generate → Preview confirmation → Upload| Style | Performance | Best For |
param($m) $inner = $m.Groups[1].Value
$cells = $inner -split '\|' $fixedCells = $cells | ForEach-Object { $cell = --- name: huashu-xhs-image description: | Generate high-quality images for Xiaohongshu (Little Red Book) posts. Default path is AI-generated (Gemini); HTML is only used as fallback for precise data tables. Use when the user mentions "Xiaohongshu images", "Xiaohongshu cover", "Xiaohongshu pictures", "make a Xiaohongshu image", or "post illustrations".
Never skip the design proposal and jump straight to generating. The correct workflow:
Understand content → Design proposal (2–3 directions) → User selection → Generate → Preview confirmation → Upload| Style | Performance | Best For |
|---|---|---|
| Hand-drawn notebook (warm paper + calligraphy + hand-drawn icons) | ⭐⭐⭐⭐⭐ | Tutorials, tips, personal sharing |
| Dark gold poster (dark background + gold large text) | ⭐⭐⭐⭐ | Product launches, impactful titles (needs strong content) |
| Minimalist infographic (light background + large numbers + clean hierarchy) | ⭐⭐⭐⭐ | Data-driven, comparisons |
| Parameter | Value |
|---|---|
| Standard dimensions | 1080 × 1440 px (3:4) |
| AI generation resolution | --resolution 2K |
| AI Prompt aspect ratio declaration | 3:4 portrait aspect ratio, 1080x1440 pixels |
| HTML viewport (fallback) | --viewport-size=1080,1440 |
Read the user-provided content and quickly extract:
No need to show the analysis to the user — proceed directly to Step 2.
This is the most critical step in the entire workflow. Never skip it.
Present 2–3 design directions to the user, each including:
### Direction A: [Style Name]
- Visual style: [One sentence describing the visual feel, e.g., "warm cream notebook paper + brush calligraphy headline + hand-drawn icons"]
- Colour palette: [Background + primary colour + accent colour]
- Copy layout: [Which text is enlarged as the hero, which is subtitle, overall arrangement]
- Mood: [The first feeling the viewer gets]Direction A: Hand-drawn Notebook Style (Recommended)
>
- Visual style: Cream grid paper background + brush calligraphy headline + hand-drawn tech icons - Colour palette: Background #FDF6EC + Primary #D97706 (warm orange) + emphasis circles - Copy layout: "Ali C4 Building" and "A Bunch of People from Guangdong Arrived" fill the upper half as heroes; "AI Open-Source Champion" in orange as the visual anchor; bottom right "Qianwen App" stamp - Mood: Friendly, authentic, like a friend sharing insider news
Direction B: Dark Gold Reveal Style
>
- Visual style: Dark frosted background + gold large text + badge decoration - Colour palette: Background #1A1A1A + Primary #E2B714 (gold) + white as support - Copy layout: "Global AI Open-Source Champion" in gold fills the canvas; "Big Tech Insider" gold badge at top; white subtitle below - Mood: Impactful, insider feel, authoritative
Only proceed to Step 3 after the user has made a selection. The user might:
Based on the user's chosen direction, build a complete prompt.
Prompt template:
Create a [style] cover for a Xiaohongshu post. 3:4 portrait aspect ratio, 1080x1440 pixels, high quality rendering.
VISUAL STYLE: [Expand from the visual style description in the proposal]
COLOR PALETTE: [Specific colour description]
TYPOGRAPHY: text fills most of the canvas, oversized bold typography, clear visual hierarchy.
TEXT TO RENDER:
- [Main title — hero element, visually dominant]
- [Subtitle]
- [Other text elements]
The word/number "[core keyword]" is visually dominant, 3x larger than other text, with decorative emphasis.
IMPORTANT: Do NOT include any personal signature, watermark, or author name.
[1–2 sentences describing the mood / atmosphere of the image]Key prompt keywords (add as needed):
text fills most of the canvas, oversized bold typographythe word/number "XX" is visually dominant, 3x larger than other text, with decorative emphasishandwritten style Chinese text / brush calligraphy letteringwarm cream paper texture with subtle grid lines, notebook page feelclear visual hierarchy with distinct heading, subheading, and list levelsDo NOT include any personal signature, watermark, or author name| Path | Tool | Advantages | Disadvantages | Cost |
|---|---|---|---|---|
| AI-generated | Gemini Pro Image | Good texture, warmth, rich visuals | Chinese characters may render incorrectly | API cost per image |
| HTML screenshot | Playwright | Text 100% accurate, zero cost, batch-capable | Flat, lacks texture | Free |
Always provide both paths so the user can compare. HTML is zero cost, so multiple colour / layout variants can be generated per direction. AI path — 1 image per direction is sufficient.
When generating multiple versions, all related files (PNG + HTML source) go in the same subfolder:
[Article directory]/
├── article.md
└── [article-short-name]-xhs-images/ ← Subfolder
├── A-notebook-AI.png
├── A1-notebook-HTML-warm.png
├── A1-notebook-HTML-warm.html
├── B-newspaper-AI.png
└── ...Naming convention: [Direction letter][Variant number]-[Style name]-[Path AI/HTML]-[Variant description].png
A-notebook-AI.pngA1-notebook-HTML-warm.png, A2-notebook-HTML-green.png[keyword]-xhs-images/export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run /path/to/skills/xhs-image/scripts/generate_image.py \
--prompt "[full prompt]" \
--filename "[direction]-[style]-AI.png" \
--resolution 2KAfter generation, move to the images subfolder. Sets can be generated in parallel (run_in_background=true).
After generation, open all images with the open command so the user can compare side by side:
open "[image path 1]" "[image path 2]" "[image path 3]"Also display generation results inline using the Read tool.
Basic checks:
Score each image on two dimensions (out of 10) and provide optimisation directions:
| Dimension | Criteria |
|---|---|
| Design Score | Visual hierarchy, typography, colour harmony, texture, creativity |
| Xiaohongshu Appeal | Does it stand out in the feed? Is the text large enough? Information density, emotional communication, does it spark curiosity? |
Review output format:
User feedback handling:
python3 /path/to/tools/upload_image.py "[image path]"Returns a permanent ImgBB link.
npx playwright screenshot "file:///path/to/card.html" output.png \
--viewport-size=1080,1440 --wait-for-timeout=1000HTML template requirements:
width: 1080px; height: 1440pxfont-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif| Scheme | Background | Primary | Accent | Best For |
|---|---|---|---|---|
| Warm Grey Professional | #F5F0EB | #D97706 | #4A90D9 | AI tools, sharing |
| Minimalist Professional | #F5F5F5 | #4A90D9 | #FF6B35 | Tutorials, comparisons |
| Dark Night Gold | #1A1A2E | #E2B714 | #FFFFFF | Product launches |
| Terminal Green | #1A1A1A | #00FF41 | #888888 | Programming content |
| Skill | Purpose |
|---|---|
wechat-image | WeChat article images (sister skill) |
image-to-slides | PPT images (source of style library) |
references/style-gallery.md — Full style library and prompt templatesreferences/design-guidelines.md — Xiaohongshu platform design specificationsBy Huashu | AI Native Coder · Independent Developer WeChat Official Account "Huashu" | 300k+ followers | AI Tools & Productivity Flagship products: Kitty Catchlight (AppStore Paid Rankings Top 1) · Play DeepSeek with One Book
.Trim() if ($cell -match '^:?-+:? | Hand-drawn notebook (warm paper + calligraphy + hand-drawn icons) | ⭐⭐⭐⭐⭐ | Tutorials, tips, personal sharing | | Dark gold poster (dark background + gold large text) | ⭐⭐⭐⭐ | Product launches, impactful titles (needs strong content) | | Minimalist infographic (light background + large numbers + clean hierarchy) | ⭐⭐⭐⭐ | Data-driven, comparisons |
| Parameter | Value |
|---|---|
| Standard dimensions | 1080 × 1440 px (3:4) |
| AI generation resolution | --resolution 2K |
| AI Prompt aspect ratio declaration | 3:4 portrait aspect ratio, 1080x1440 pixels |
| HTML viewport (fallback) | --viewport-size=1080,1440 |
Read the user-provided content and quickly extract:
No need to show the analysis to the user — proceed directly to Step 2.
This is the most critical step in the entire workflow. Never skip it.
Present 2–3 design directions to the user, each including:
### Direction A: [Style Name]
- Visual style: [One sentence describing the visual feel, e.g., "warm cream notebook paper + brush calligraphy headline + hand-drawn icons"]
- Colour palette: [Background + primary colour + accent colour]
- Copy layout: [Which text is enlarged as the hero, which is subtitle, overall arrangement]
- Mood: [The first feeling the viewer gets]Direction A: Hand-drawn Notebook Style (Recommended)
>
- Visual style: Cream grid paper background + brush calligraphy headline + hand-drawn tech icons - Colour palette: Background #FDF6EC + Primary #D97706 (warm orange) + emphasis circles - Copy layout: "Ali C4 Building" and "A Bunch of People from Guangdong Arrived" fill the upper half as heroes; "AI Open-Source Champion" in orange as the visual anchor; bottom right "Qianwen App" stamp - Mood: Friendly, authentic, like a friend sharing insider news
Direction B: Dark Gold Reveal Style
>
- Visual style: Dark frosted background + gold large text + badge decoration - Colour palette: Background #1A1A1A + Primary #E2B714 (gold) + white as support - Copy layout: "Global AI Open-Source Champion" in gold fills the canvas; "Big Tech Insider" gold badge at top; white subtitle below - Mood: Impactful, insider feel, authoritative
Only proceed to Step 3 after the user has made a selection. The user might:
Based on the user's chosen direction, build a complete prompt.
Prompt template:
Create a [style] cover for a Xiaohongshu post. 3:4 portrait aspect ratio, 1080x1440 pixels, high quality rendering.
VISUAL STYLE: [Expand from the visual style description in the proposal]
COLOR PALETTE: [Specific colour description]
TYPOGRAPHY: text fills most of the canvas, oversized bold typography, clear visual hierarchy.
TEXT TO RENDER:
- [Main title — hero element, visually dominant]
- [Subtitle]
- [Other text elements]
The word/number "[core keyword]" is visually dominant, 3x larger than other text, with decorative emphasis.
IMPORTANT: Do NOT include any personal signature, watermark, or author name.
[1–2 sentences describing the mood / atmosphere of the image]Key prompt keywords (add as needed):
text fills most of the canvas, oversized bold typographythe word/number "XX" is visually dominant, 3x larger than other text, with decorative emphasishandwritten style Chinese text / brush calligraphy letteringwarm cream paper texture with subtle grid lines, notebook page feelclear visual hierarchy with distinct heading, subheading, and list levelsDo NOT include any personal signature, watermark, or author name| Path | Tool | Advantages | Disadvantages | Cost |
|---|---|---|---|---|
| AI-generated | Gemini Pro Image | Good texture, warmth, rich visuals | Chinese characters may render incorrectly | API cost per image |
| HTML screenshot | Playwright | Text 100% accurate, zero cost, batch-capable | Flat, lacks texture | Free |
Always provide both paths so the user can compare. HTML is zero cost, so multiple colour / layout variants can be generated per direction. AI path — 1 image per direction is sufficient.
When generating multiple versions, all related files (PNG + HTML source) go in the same subfolder:
[Article directory]/
├── article.md
└── [article-short-name]-xhs-images/ ← Subfolder
├── A-notebook-AI.png
├── A1-notebook-HTML-warm.png
├── A1-notebook-HTML-warm.html
├── B-newspaper-AI.png
└── ...Naming convention: [Direction letter][Variant number]-[Style name]-[Path AI/HTML]-[Variant description].png
A-notebook-AI.pngA1-notebook-HTML-warm.png, A2-notebook-HTML-green.png[keyword]-xhs-images/export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run /path/to/skills/xhs-image/scripts/generate_image.py \
--prompt "[full prompt]" \
--filename "[direction]-[style]-AI.png" \
--resolution 2KAfter generation, move to the images subfolder. Sets can be generated in parallel (run_in_background=true).
After generation, open all images with the open command so the user can compare side by side:
open "[image path 1]" "[image path 2]" "[image path 3]"Also display generation results inline using the Read tool.
Basic checks:
Score each image on two dimensions (out of 10) and provide optimisation directions:
| Dimension | Criteria |
|---|---|
| Design Score | Visual hierarchy, typography, colour harmony, texture, creativity |
| Xiaohongshu Appeal | Does it stand out in the feed? Is the text large enough? Information density, emotional communication, does it spark curiosity? |
Review output format:
User feedback handling:
python3 /path/to/tools/upload_image.py "[image path]"Returns a permanent ImgBB link.
npx playwright screenshot "file:///path/to/card.html" output.png \
--viewport-size=1080,1440 --wait-for-timeout=1000HTML template requirements:
width: 1080px; height: 1440pxfont-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif| Scheme | Background | Primary | Accent | Best For |
|---|---|---|---|---|
| Warm Grey Professional | #F5F0EB | #D97706 | #4A90D9 | AI tools, sharing |
| Minimalist Professional | #F5F5F5 | #4A90D9 | #FF6B35 | Tutorials, comparisons |
| Dark Night Gold | #1A1A2E | #E2B714 | #FFFFFF | Product launches |
| Terminal Green | #1A1A1A | #00FF41 | #888888 | Programming content |
| Skill | Purpose |
|---|---|
wechat-image | WeChat article images (sister skill) |
image-to-slides | PPT images (source of style library) |
references/style-gallery.md — Full style library and prompt templatesreferences/design-guidelines.md — Xiaohongshu platform design specificationsBy Huashu | AI Native Coder · Independent Developer WeChat Official Account "Huashu" | 300k+ followers | AI Tools & Productivity Flagship products: Kitty Catchlight (AppStore Paid Rankings Top 1) · Play DeepSeek with One Book
) { " $cell " } else { " $cell " } } '|' + ($fixedCells -join '|') + '|'
| Hand-drawn notebook (warm paper + calligraphy + hand-drawn icons) | ⭐⭐⭐⭐⭐ | Tutorials, tips, personal sharing | | Dark gold poster (dark background + gold large text) | ⭐⭐⭐⭐ | Product launches, impactful titles (needs strong content) | | Minimalist infographic (light background + large numbers + clean hierarchy) | ⭐⭐⭐⭐ | Data-driven, comparisons |
| Parameter | Value |
param($m) $inner = $m.Groups[1].Value
$cells = $inner -split '\|' $fixedCells = $cells | ForEach-Object { $cell = --- name: huashu-xhs-image description: | Generate high-quality images for Xiaohongshu (Little Red Book) posts. Default path is AI-generated (Gemini); HTML is only used as fallback for precise data tables. Use when the user mentions "Xiaohongshu images", "Xiaohongshu cover", "Xiaohongshu pictures", "make a Xiaohongshu image", or "post illustrations".
Never skip the design proposal and jump straight to generating. The correct workflow:
Understand content → Design proposal (2–3 directions) → User selection → Generate → Preview confirmation → Upload| Style | Performance | Best For |
|---|---|---|
| Hand-drawn notebook (warm paper + calligraphy + hand-drawn icons) | ⭐⭐⭐⭐⭐ | Tutorials, tips, personal sharing |
| Dark gold poster (dark background + gold large text) | ⭐⭐⭐⭐ | Product launches, impactful titles (needs strong content) |
| Minimalist infographic (light background + large numbers + clean hierarchy) | ⭐⭐⭐⭐ | Data-driven, comparisons |
| Parameter | Value |
|---|---|
| Standard dimensions | 1080 × 1440 px (3:4) |
| AI generation resolution | --resolution 2K |
| AI Prompt aspect ratio declaration | 3:4 portrait aspect ratio, 1080x1440 pixels |
| HTML viewport (fallback) | --viewport-size=1080,1440 |
Read the user-provided content and quickly extract:
No need to show the analysis to the user — proceed directly to Step 2.
This is the most critical step in the entire workflow. Never skip it.
Present 2–3 design directions to the user, each including:
### Direction A: [Style Name]
- Visual style: [One sentence describing the visual feel, e.g., "warm cream notebook paper + brush calligraphy headline + hand-drawn icons"]
- Colour palette: [Background + primary colour + accent colour]
- Copy layout: [Which text is enlarged as the hero, which is subtitle, overall arrangement]
- Mood: [The first feeling the viewer gets]Direction A: Hand-drawn Notebook Style (Recommended)
>
- Visual style: Cream grid paper background + brush calligraphy headline + hand-drawn tech icons - Colour palette: Background #FDF6EC + Primary #D97706 (warm orange) + emphasis circles - Copy layout: "Ali C4 Building" and "A Bunch of People from Guangdong Arrived" fill the upper half as heroes; "AI Open-Source Champion" in orange as the visual anchor; bottom right "Qianwen App" stamp - Mood: Friendly, authentic, like a friend sharing insider news
Direction B: Dark Gold Reveal Style
>
- Visual style: Dark frosted background + gold large text + badge decoration - Colour palette: Background #1A1A1A + Primary #E2B714 (gold) + white as support - Copy layout: "Global AI Open-Source Champion" in gold fills the canvas; "Big Tech Insider" gold badge at top; white subtitle below - Mood: Impactful, insider feel, authoritative
Only proceed to Step 3 after the user has made a selection. The user might:
Based on the user's chosen direction, build a complete prompt.
Prompt template:
Create a [style] cover for a Xiaohongshu post. 3:4 portrait aspect ratio, 1080x1440 pixels, high quality rendering.
VISUAL STYLE: [Expand from the visual style description in the proposal]
COLOR PALETTE: [Specific colour description]
TYPOGRAPHY: text fills most of the canvas, oversized bold typography, clear visual hierarchy.
TEXT TO RENDER:
- [Main title — hero element, visually dominant]
- [Subtitle]
- [Other text elements]
The word/number "[core keyword]" is visually dominant, 3x larger than other text, with decorative emphasis.
IMPORTANT: Do NOT include any personal signature, watermark, or author name.
[1–2 sentences describing the mood / atmosphere of the image]Key prompt keywords (add as needed):
text fills most of the canvas, oversized bold typographythe word/number "XX" is visually dominant, 3x larger than other text, with decorative emphasishandwritten style Chinese text / brush calligraphy letteringwarm cream paper texture with subtle grid lines, notebook page feelclear visual hierarchy with distinct heading, subheading, and list levelsDo NOT include any personal signature, watermark, or author name| Path | Tool | Advantages | Disadvantages | Cost |
|---|---|---|---|---|
| AI-generated | Gemini Pro Image | Good texture, warmth, rich visuals | Chinese characters may render incorrectly | API cost per image |
| HTML screenshot | Playwright | Text 100% accurate, zero cost, batch-capable | Flat, lacks texture | Free |
Always provide both paths so the user can compare. HTML is zero cost, so multiple colour / layout variants can be generated per direction. AI path — 1 image per direction is sufficient.
When generating multiple versions, all related files (PNG + HTML source) go in the same subfolder:
[Article directory]/
├── article.md
└── [article-short-name]-xhs-images/ ← Subfolder
├── A-notebook-AI.png
├── A1-notebook-HTML-warm.png
├── A1-notebook-HTML-warm.html
├── B-newspaper-AI.png
└── ...Naming convention: [Direction letter][Variant number]-[Style name]-[Path AI/HTML]-[Variant description].png
A-notebook-AI.pngA1-notebook-HTML-warm.png, A2-notebook-HTML-green.png[keyword]-xhs-images/export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run /path/to/skills/xhs-image/scripts/generate_image.py \
--prompt "[full prompt]" \
--filename "[direction]-[style]-AI.png" \
--resolution 2KAfter generation, move to the images subfolder. Sets can be generated in parallel (run_in_background=true).
After generation, open all images with the open command so the user can compare side by side:
open "[image path 1]" "[image path 2]" "[image path 3]"Also display generation results inline using the Read tool.
Basic checks:
Score each image on two dimensions (out of 10) and provide optimisation directions:
| Dimension | Criteria |
|---|---|
| Design Score | Visual hierarchy, typography, colour harmony, texture, creativity |
| Xiaohongshu Appeal | Does it stand out in the feed? Is the text large enough? Information density, emotional communication, does it spark curiosity? |
Review output format:
User feedback handling:
python3 /path/to/tools/upload_image.py "[image path]"Returns a permanent ImgBB link.
npx playwright screenshot "file:///path/to/card.html" output.png \
--viewport-size=1080,1440 --wait-for-timeout=1000HTML template requirements:
width: 1080px; height: 1440pxfont-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif| Scheme | Background | Primary | Accent | Best For |
|---|---|---|---|---|
| Warm Grey Professional | #F5F0EB | #D97706 | #4A90D9 | AI tools, sharing |
| Minimalist Professional | #F5F5F5 | #4A90D9 | #FF6B35 | Tutorials, comparisons |
| Dark Night Gold | #1A1A2E | #E2B714 | #FFFFFF | Product launches |
| Terminal Green | #1A1A1A | #00FF41 | #888888 | Programming content |
| Skill | Purpose |
|---|---|
wechat-image | WeChat article images (sister skill) |
image-to-slides | PPT images (source of style library) |
references/style-gallery.md — Full style library and prompt templatesreferences/design-guidelines.md — Xiaohongshu platform design specificationsBy Huashu | AI Native Coder · Independent Developer WeChat Official Account "Huashu" | 300k+ followers | AI Tools & Productivity Flagship products: Kitty Catchlight (AppStore Paid Rankings Top 1) · Play DeepSeek with One Book
.Trim() if ($cell -match '^:?-+:? | Standard dimensions | 1080 × 1440 px (3:4) | | AI generation resolution | --resolution 2K | | AI Prompt aspect ratio declaration | 3:4 portrait aspect ratio, 1080x1440 pixels | | HTML viewport (fallback) | --viewport-size=1080,1440 |
Read the user-provided content and quickly extract:
No need to show the analysis to the user — proceed directly to Step 2.
This is the most critical step in the entire workflow. Never skip it.
Present 2–3 design directions to the user, each including:
### Direction A: [Style Name]
- Visual style: [One sentence describing the visual feel, e.g., "warm cream notebook paper + brush calligraphy headline + hand-drawn icons"]
- Colour palette: [Background + primary colour + accent colour]
- Copy layout: [Which text is enlarged as the hero, which is subtitle, overall arrangement]
- Mood: [The first feeling the viewer gets]Direction A: Hand-drawn Notebook Style (Recommended)
>
- Visual style: Cream grid paper background + brush calligraphy headline + hand-drawn tech icons - Colour palette: Background #FDF6EC + Primary #D97706 (warm orange) + emphasis circles - Copy layout: "Ali C4 Building" and "A Bunch of People from Guangdong Arrived" fill the upper half as heroes; "AI Open-Source Champion" in orange as the visual anchor; bottom right "Qianwen App" stamp - Mood: Friendly, authentic, like a friend sharing insider news
Direction B: Dark Gold Reveal Style
>
- Visual style: Dark frosted background + gold large text + badge decoration - Colour palette: Background #1A1A1A + Primary #E2B714 (gold) + white as support - Copy layout: "Global AI Open-Source Champion" in gold fills the canvas; "Big Tech Insider" gold badge at top; white subtitle below - Mood: Impactful, insider feel, authoritative
Only proceed to Step 3 after the user has made a selection. The user might:
Based on the user's chosen direction, build a complete prompt.
Prompt template:
Create a [style] cover for a Xiaohongshu post. 3:4 portrait aspect ratio, 1080x1440 pixels, high quality rendering.
VISUAL STYLE: [Expand from the visual style description in the proposal]
COLOR PALETTE: [Specific colour description]
TYPOGRAPHY: text fills most of the canvas, oversized bold typography, clear visual hierarchy.
TEXT TO RENDER:
- [Main title — hero element, visually dominant]
- [Subtitle]
- [Other text elements]
The word/number "[core keyword]" is visually dominant, 3x larger than other text, with decorative emphasis.
IMPORTANT: Do NOT include any personal signature, watermark, or author name.
[1–2 sentences describing the mood / atmosphere of the image]Key prompt keywords (add as needed):
text fills most of the canvas, oversized bold typographythe word/number "XX" is visually dominant, 3x larger than other text, with decorative emphasishandwritten style Chinese text / brush calligraphy letteringwarm cream paper texture with subtle grid lines, notebook page feelclear visual hierarchy with distinct heading, subheading, and list levelsDo NOT include any personal signature, watermark, or author name| Path | Tool | Advantages | Disadvantages | Cost |
|---|---|---|---|---|
| AI-generated | Gemini Pro Image | Good texture, warmth, rich visuals | Chinese characters may render incorrectly | API cost per image |
| HTML screenshot | Playwright | Text 100% accurate, zero cost, batch-capable | Flat, lacks texture | Free |
Always provide both paths so the user can compare. HTML is zero cost, so multiple colour / layout variants can be generated per direction. AI path — 1 image per direction is sufficient.
When generating multiple versions, all related files (PNG + HTML source) go in the same subfolder:
[Article directory]/
├── article.md
└── [article-short-name]-xhs-images/ ← Subfolder
├── A-notebook-AI.png
├── A1-notebook-HTML-warm.png
├── A1-notebook-HTML-warm.html
├── B-newspaper-AI.png
└── ...Naming convention: [Direction letter][Variant number]-[Style name]-[Path AI/HTML]-[Variant description].png
A-notebook-AI.pngA1-notebook-HTML-warm.png, A2-notebook-HTML-green.png[keyword]-xhs-images/export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run /path/to/skills/xhs-image/scripts/generate_image.py \
--prompt "[full prompt]" \
--filename "[direction]-[style]-AI.png" \
--resolution 2KAfter generation, move to the images subfolder. Sets can be generated in parallel (run_in_background=true).
After generation, open all images with the open command so the user can compare side by side:
open "[image path 1]" "[image path 2]" "[image path 3]"Also display generation results inline using the Read tool.
Basic checks:
Score each image on two dimensions (out of 10) and provide optimisation directions:
| Dimension | Criteria |
|---|---|
| Design Score | Visual hierarchy, typography, colour harmony, texture, creativity |
| Xiaohongshu Appeal | Does it stand out in the feed? Is the text large enough? Information density, emotional communication, does it spark curiosity? |
Review output format:
User feedback handling:
python3 /path/to/tools/upload_image.py "[image path]"Returns a permanent ImgBB link.
npx playwright screenshot "file:///path/to/card.html" output.png \
--viewport-size=1080,1440 --wait-for-timeout=1000HTML template requirements:
width: 1080px; height: 1440pxfont-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif| Scheme | Background | Primary | Accent | Best For |
|---|---|---|---|---|
| Warm Grey Professional | #F5F0EB | #D97706 | #4A90D9 | AI tools, sharing |
| Minimalist Professional | #F5F5F5 | #4A90D9 | #FF6B35 | Tutorials, comparisons |
| Dark Night Gold | #1A1A2E | #E2B714 | #FFFFFF | Product launches |
| Terminal Green | #1A1A1A | #00FF41 | #888888 | Programming content |
| Skill | Purpose |
|---|---|
wechat-image | WeChat article images (sister skill) |
image-to-slides | PPT images (source of style library) |
references/style-gallery.md — Full style library and prompt templatesreferences/design-guidelines.md — Xiaohongshu platform design specificationsBy Huashu | AI Native Coder · Independent Developer WeChat Official Account "Huashu" | 300k+ followers | AI Tools & Productivity Flagship products: Kitty Catchlight (AppStore Paid Rankings Top 1) · Play DeepSeek with One Book
) { " $cell " } else { " $cell " } } '|' + ($fixedCells -join '|') + '|'
| Standard dimensions | 1080 × 1440 px (3:4) | | AI generation resolution | --resolution 2K | | AI Prompt aspect ratio declaration | 3:4 portrait aspect ratio, 1080x1440 pixels | | HTML viewport (fallback) | --viewport-size=1080,1440 |
Read the user-provided content and quickly extract:
No need to show the analysis to the user — proceed directly to Step 2.
This is the most critical step in the entire workflow. Never skip it.
Present 2–3 design directions to the user, each including:
### Direction A: [Style Name]
- Visual style: [One sentence describing the visual feel, e.g., "warm cream notebook paper + brush calligraphy headline + hand-drawn icons"]
- Colour palette: [Background + primary colour + accent colour]
- Copy layout: [Which text is enlarged as the hero, which is subtitle, overall arrangement]
- Mood: [The first feeling the viewer gets]Direction A: Hand-drawn Notebook Style (Recommended)
>
- Visual style: Cream grid paper background + brush calligraphy headline + hand-drawn tech icons - Colour palette: Background #FDF6EC + Primary #D97706 (warm orange) + emphasis circles - Copy layout: "Ali C4 Building" and "A Bunch of People from Guangdong Arrived" fill the upper half as heroes; "AI Open-Source Champion" in orange as the visual anchor; bottom right "Qianwen App" stamp - Mood: Friendly, authentic, like a friend sharing insider news
Direction B: Dark Gold Reveal Style
>
- Visual style: Dark frosted background + gold large text + badge decoration - Colour palette: Background #1A1A1A + Primary #E2B714 (gold) + white as support - Copy layout: "Global AI Open-Source Champion" in gold fills the canvas; "Big Tech Insider" gold badge at top; white subtitle below - Mood: Impactful, insider feel, authoritative
Only proceed to Step 3 after the user has made a selection. The user might:
Based on the user's chosen direction, build a complete prompt.
Prompt template:
Create a [style] cover for a Xiaohongshu post. 3:4 portrait aspect ratio, 1080x1440 pixels, high quality rendering.
VISUAL STYLE: [Expand from the visual style description in the proposal]
COLOR PALETTE: [Specific colour description]
TYPOGRAPHY: text fills most of the canvas, oversized bold typography, clear visual hierarchy.
TEXT TO RENDER:
- [Main title — hero element, visually dominant]
- [Subtitle]
- [Other text elements]
The word/number "[core keyword]" is visually dominant, 3x larger than other text, with decorative emphasis.
IMPORTANT: Do NOT include any personal signature, watermark, or author name.
[1–2 sentences describing the mood / atmosphere of the image]Key prompt keywords (add as needed):
text fills most of the canvas, oversized bold typographythe word/number "XX" is visually dominant, 3x larger than other text, with decorative emphasishandwritten style Chinese text / brush calligraphy letteringwarm cream paper texture with subtle grid lines, notebook page feelclear visual hierarchy with distinct heading, subheading, and list levelsDo NOT include any personal signature, watermark, or author name| Path | Tool | Advantages | Disadvantages | Cost |
param($m) $inner = $m.Groups[1].Value
$cells = $inner -split '\|' $fixedCells = $cells | ForEach-Object { $cell = --- name: huashu-xhs-image description: | Generate high-quality images for Xiaohongshu (Little Red Book) posts. Default path is AI-generated (Gemini); HTML is only used as fallback for precise data tables. Use when the user mentions "Xiaohongshu images", "Xiaohongshu cover", "Xiaohongshu pictures", "make a Xiaohongshu image", or "post illustrations".
Never skip the design proposal and jump straight to generating. The correct workflow:
Understand content → Design proposal (2–3 directions) → User selection → Generate → Preview confirmation → Upload| Style | Performance | Best For |
|---|---|---|
| Hand-drawn notebook (warm paper + calligraphy + hand-drawn icons) | ⭐⭐⭐⭐⭐ | Tutorials, tips, personal sharing |
| Dark gold poster (dark background + gold large text) | ⭐⭐⭐⭐ | Product launches, impactful titles (needs strong content) |
| Minimalist infographic (light background + large numbers + clean hierarchy) | ⭐⭐⭐⭐ | Data-driven, comparisons |
| Parameter | Value |
|---|---|
| Standard dimensions | 1080 × 1440 px (3:4) |
| AI generation resolution | --resolution 2K |
| AI Prompt aspect ratio declaration | 3:4 portrait aspect ratio, 1080x1440 pixels |
| HTML viewport (fallback) | --viewport-size=1080,1440 |
Read the user-provided content and quickly extract:
No need to show the analysis to the user — proceed directly to Step 2.
This is the most critical step in the entire workflow. Never skip it.
Present 2–3 design directions to the user, each including:
### Direction A: [Style Name]
- Visual style: [One sentence describing the visual feel, e.g., "warm cream notebook paper + brush calligraphy headline + hand-drawn icons"]
- Colour palette: [Background + primary colour + accent colour]
- Copy layout: [Which text is enlarged as the hero, which is subtitle, overall arrangement]
- Mood: [The first feeling the viewer gets]Direction A: Hand-drawn Notebook Style (Recommended)
>
- Visual style: Cream grid paper background + brush calligraphy headline + hand-drawn tech icons - Colour palette: Background #FDF6EC + Primary #D97706 (warm orange) + emphasis circles - Copy layout: "Ali C4 Building" and "A Bunch of People from Guangdong Arrived" fill the upper half as heroes; "AI Open-Source Champion" in orange as the visual anchor; bottom right "Qianwen App" stamp - Mood: Friendly, authentic, like a friend sharing insider news
Direction B: Dark Gold Reveal Style
>
- Visual style: Dark frosted background + gold large text + badge decoration - Colour palette: Background #1A1A1A + Primary #E2B714 (gold) + white as support - Copy layout: "Global AI Open-Source Champion" in gold fills the canvas; "Big Tech Insider" gold badge at top; white subtitle below - Mood: Impactful, insider feel, authoritative
Only proceed to Step 3 after the user has made a selection. The user might:
Based on the user's chosen direction, build a complete prompt.
Prompt template:
Create a [style] cover for a Xiaohongshu post. 3:4 portrait aspect ratio, 1080x1440 pixels, high quality rendering.
VISUAL STYLE: [Expand from the visual style description in the proposal]
COLOR PALETTE: [Specific colour description]
TYPOGRAPHY: text fills most of the canvas, oversized bold typography, clear visual hierarchy.
TEXT TO RENDER:
- [Main title — hero element, visually dominant]
- [Subtitle]
- [Other text elements]
The word/number "[core keyword]" is visually dominant, 3x larger than other text, with decorative emphasis.
IMPORTANT: Do NOT include any personal signature, watermark, or author name.
[1–2 sentences describing the mood / atmosphere of the image]Key prompt keywords (add as needed):
text fills most of the canvas, oversized bold typographythe word/number "XX" is visually dominant, 3x larger than other text, with decorative emphasishandwritten style Chinese text / brush calligraphy letteringwarm cream paper texture with subtle grid lines, notebook page feelclear visual hierarchy with distinct heading, subheading, and list levelsDo NOT include any personal signature, watermark, or author name| Path | Tool | Advantages | Disadvantages | Cost |
|---|---|---|---|---|
| AI-generated | Gemini Pro Image | Good texture, warmth, rich visuals | Chinese characters may render incorrectly | API cost per image |
| HTML screenshot | Playwright | Text 100% accurate, zero cost, batch-capable | Flat, lacks texture | Free |
Always provide both paths so the user can compare. HTML is zero cost, so multiple colour / layout variants can be generated per direction. AI path — 1 image per direction is sufficient.
When generating multiple versions, all related files (PNG + HTML source) go in the same subfolder:
[Article directory]/
├── article.md
└── [article-short-name]-xhs-images/ ← Subfolder
├── A-notebook-AI.png
├── A1-notebook-HTML-warm.png
├── A1-notebook-HTML-warm.html
├── B-newspaper-AI.png
└── ...Naming convention: [Direction letter][Variant number]-[Style name]-[Path AI/HTML]-[Variant description].png
A-notebook-AI.pngA1-notebook-HTML-warm.png, A2-notebook-HTML-green.png[keyword]-xhs-images/export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run /path/to/skills/xhs-image/scripts/generate_image.py \
--prompt "[full prompt]" \
--filename "[direction]-[style]-AI.png" \
--resolution 2KAfter generation, move to the images subfolder. Sets can be generated in parallel (run_in_background=true).
After generation, open all images with the open command so the user can compare side by side:
open "[image path 1]" "[image path 2]" "[image path 3]"Also display generation results inline using the Read tool.
Basic checks:
Score each image on two dimensions (out of 10) and provide optimisation directions:
| Dimension | Criteria |
|---|---|
| Design Score | Visual hierarchy, typography, colour harmony, texture, creativity |
| Xiaohongshu Appeal | Does it stand out in the feed? Is the text large enough? Information density, emotional communication, does it spark curiosity? |
Review output format:
User feedback handling:
python3 /path/to/tools/upload_image.py "[image path]"Returns a permanent ImgBB link.
npx playwright screenshot "file:///path/to/card.html" output.png \
--viewport-size=1080,1440 --wait-for-timeout=1000HTML template requirements:
width: 1080px; height: 1440pxfont-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif| Scheme | Background | Primary | Accent | Best For |
|---|---|---|---|---|
| Warm Grey Professional | #F5F0EB | #D97706 | #4A90D9 | AI tools, sharing |
| Minimalist Professional | #F5F5F5 | #4A90D9 | #FF6B35 | Tutorials, comparisons |
| Dark Night Gold | #1A1A2E | #E2B714 | #FFFFFF | Product launches |
| Terminal Green | #1A1A1A | #00FF41 | #888888 | Programming content |
| Skill | Purpose |
|---|---|
wechat-image | WeChat article images (sister skill) |
image-to-slides | PPT images (source of style library) |
references/style-gallery.md — Full style library and prompt templatesreferences/design-guidelines.md — Xiaohongshu platform design specificationsBy Huashu | AI Native Coder · Independent Developer WeChat Official Account "Huashu" | 300k+ followers | AI Tools & Productivity Flagship products: Kitty Catchlight (AppStore Paid Rankings Top 1) · Play DeepSeek with One Book
.Trim() if ($cell -match '^:?-+:? | AI-generated | Gemini Pro Image | Good texture, warmth, rich visuals | Chinese characters may render incorrectly | API cost per image | | HTML screenshot | Playwright | Text 100% accurate, zero cost, batch-capable | Flat, lacks texture | Free |
Always provide both paths so the user can compare. HTML is zero cost, so multiple colour / layout variants can be generated per direction. AI path — 1 image per direction is sufficient.
When generating multiple versions, all related files (PNG + HTML source) go in the same subfolder:
[Article directory]/
├── article.md
└── [article-short-name]-xhs-images/ ← Subfolder
├── A-notebook-AI.png
├── A1-notebook-HTML-warm.png
├── A1-notebook-HTML-warm.html
├── B-newspaper-AI.png
└── ...Naming convention: [Direction letter][Variant number]-[Style name]-[Path AI/HTML]-[Variant description].png
A-notebook-AI.pngA1-notebook-HTML-warm.png, A2-notebook-HTML-green.png[keyword]-xhs-images/export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run /path/to/skills/xhs-image/scripts/generate_image.py \
--prompt "[full prompt]" \
--filename "[direction]-[style]-AI.png" \
--resolution 2KAfter generation, move to the images subfolder. Sets can be generated in parallel (run_in_background=true).
After generation, open all images with the open command so the user can compare side by side:
open "[image path 1]" "[image path 2]" "[image path 3]"Also display generation results inline using the Read tool.
Basic checks:
Score each image on two dimensions (out of 10) and provide optimisation directions:
| Dimens
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.