md-to-xhs-cards
Markdown To Xiaohongshu Cards
Overview
Convert markdown content into a multi-image card set suitable for Xiaohongshu posting. Keep source ordering and formatting cues (headings, paragraphs, lists, quotes, code, dividers, images) without rewriting the content.
Quick Start
- Resolve the markdown file path from the user request.
- Run:
scripts/run_md_to_xhs_cards.sh /absolute/or/relative/path/to/file.md
- Return output folder and generated card paths.
Default output folder: <markdown-dir>/<markdown-stem>-xhs-cards
Workflow
- Validate input:
- Confirm markdown file exists.
- Confirm referenced images are local files when possible (
or Obsidian![[...]]).
- Execute deterministic rendering:
- Run
scripts/run_md_to_xhs_cards.sh. - Use
--widthand--heightto match required aspect ratio. - Use
--background,--text-color, and related flags for style adjustment. - Use
--author(and optionally--title/--subtitle) for a dedicated cover card.
- Verify output:
- Ensure at least one
NN-card.pngexists. - Check
manifest.jsonfor count and filenames. - If images are missing, report placeholders and list unresolved image paths.
- Optional publish to Xiaohongshu:
- Add
--publish-xhsto publish immediately after rendering. - Use
--publish-title/--publish-descoverrides when needed. - For safe validation, run once with
--publish-dry-run.
- Report clearly:
- Provide absolute output directory.
- Provide absolute paths for all generated cards.
- Call out any missing/remote image limitations.
Quality Rules
- Keep direct conversion behavior: do not rewrite the article content unless user asks.
- Keep markdown block order stable.
- Preserve image placement where possible (markdown and Obsidian image embeds).
- Prefer 3:4 cards for Xiaohongshu (
1080x1440or1242x1660).
Common Commands
Default:
scripts/run_md_to_xhs_cards.sh content/post.md
Set explicit output directory:
scripts/run_md_to_xhs_cards.sh content/post.md --output-dir exports/xhs-cards
Use larger Xiaohongshu canvas:
scripts/run_md_to_xhs_cards.sh content/post.md --width 1242 --height 1660
Style tuning:
scripts/run_md_to_xhs_cards.sh content/post.md \
--background "#f3f3f3" \
--text-color "#141414" \
--muted-color "#6f6f6f" \
--line-height-scale 1.80
Render + publish in one command:
scripts/run_md_to_xhs_cards.sh content/post.md \
--publish-xhs \
--publish-title "医生的病历写给谁看" \
--publish-desc "关于病历、医疗决策,与医生的身份危机"
Dry-run publish validation:
scripts/run_md_to_xhs_cards.sh content/post.md \
--publish-xhs \
--publish-dry-run
User Option Packs
Soft reading style:
scripts/run_md_to_xhs_cards.sh content/post.md \
--background "#faf9f6" \
--quote-bg "#f4f2eb" \
--quote-border "#e8e3d7" \
--quote-accent "#7a756a"
Cover + ending signature:
scripts/run_md_to_xhs_cards.sh content/post.md \
--author "鹿不角" \
--signature-text "-- 鹿不角"
Keep author on cover too:
scripts/run_md_to_xhs_cards.sh content/post.md \
--author "鹿医生" \
--cover-author
Cover with author:
scripts/run_md_to_xhs_cards.sh content/post.md --author "鹿医生"
Last-page signature (without cover author):
scripts/run_md_to_xhs_cards.sh content/post.md \
--author "鹿不角" \
--signature-text "-- 鹿不角"
Dependencies
scripts/run_md_to_xhs_cards.shauto-selects a Python interpreter withPillow.- If none found, install:
python3 -m pip install pillow
- Optional publishing uses
scripts/publish_xhs.py:- Local mode:
python3 -m pip install xhs - API mode (
--publish-api-mode):python3 -m pip install requests
- Local mode:
- Cookie lookup supports:
--publish-cookieXHS_COOKIEenvironment variable.envin current directory / skill directory
References
- Rendering details and defaults:
references/render-spec.md
Claude Compatibility
Use the same command workflow in Claude Code. This skill is CLI-driven and does not depend on Codex-only interaction primitives.
More from erafat/skills
gmail-invoice-processor
Process invoice PDFs from Gmail inbox and create Excel summaries. Use this skill when the user wants to: (1) Download PDF invoices from Gmail, (2) Extract vendor names and amounts from invoice PDFs, (3) Create or update Excel spreadsheets summarizing invoice data, (4) Search for invoices in Gmail by subject line (containing 'invoice' or 'invoices'), (5) Automate invoice tracking or expense reporting from email. Trigger when user mentions Gmail invoices, PDF invoices in email, expense tracking from Gmail, or creating invoice summaries in Excel.
7cite-them-all
Academic reference agent that identifies claims needing citations, searches PubMed/bioRxiv/medRxiv via MCP tools, and adds properly formatted references to Markdown manuscripts
6academic-lectures
>
3baoyu-post-to-x
Posts content and articles to X (Twitter). Supports regular posts with images/videos and X Articles (long-form Markdown). Uses real Chrome with CDP to bypass anti-automation. Use when user asks to "post to X", "tweet", "publish to Twitter", or "share on X".
2baoyu-image-gen
AI image generation with OpenAI and Google APIs. Supports text-to-image, reference images, aspect ratios, and parallel generation (recommended 4 concurrent subagents). Use when user asks to generate, create, or draw images.
2baoyu-xhs-images
Generates Xiaohongshu (Little Red Book) infographic series with 9 visual styles and 6 layouts. Breaks content into 1-10 cartoon-style images optimized for XHS engagement. Use when user mentions "小红书图片", "XHS images", "RedNote infographics", "小红书种草", or wants social media infographics for Chinese platforms.
2