md-to-xhs-cards
Skill17 starsChanged 30 days agoMITView on GitHub
Convert a Markdown file into Xiaohongshu (Little Red Book) image cards with deterministic layout, preserving markdown structure order and embedded local images. Use when users ask for direct MD-to-XHS card conversion, markdown poster cards, 图文卡片拆分, or preserving original markdown text/format in social image outputs.
- Reads credentials
- Installs packages
In this repository11 other files it gives its agents.
- anatomySkill
- anything-to-notebooklmSkill
- cite-them-allSkill
- cv-update-reviewSkill
- illustration-productionSkill
- manuscript-productionSkill
- scientific-schematicsSkill
- scientific-slidesSkill
- scientific-visualizationSkill
- scientific-writingSkill
- xhs-note-creatorSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 8 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Default output folder: <markdown-dir>/<markdown-stem>-xhs-cards
- Very specific: line 33
Use --width and --height to match required aspect ratio.
- Very specific: line 34
Use --background, --text-color, and related flags for style adjustment.
- Very specific: line 35
Use --author (and optionally --title / --subtitle) for a dedicated cover card.
- Very specific: line 38
Ensure at least one NN-card.png exists.
- Very specific: line 39
Check manifest.json for count and filenames.
- Distinctive: line 40
If images are missing, report placeholders and list unresolved image paths.
- Very specific: line 43
Add --publish-xhs to publish immediately after rendering.
- Very specific: line 44
Use --publish-title / --publish-desc overrides when needed.
- Distinctive: line 50
Call out any missing/remote image limitations.
- Distinctive: line 54
Keep direct conversion behavior: do not rewrite the article content unless user asks.
- Distinctive: line 55
Keep markdown block order stable.
- Very specific: line 57
Prefer 3:4 cards for Xiaohongshu (1080x1440 or 1242x1660).
- Distinctive: line 73
Use larger Xiaohongshu canvas:
- Distinctive: line 126
Keep author on cover too:
- Distinctive: line 151
If none found, install:
- Distinctive: line 171
Use the same command workflow in Claude Code.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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.mdSet explicit output directory:
scripts/run_md_to_xhs_cards.sh content/post.md --output-dir exports/xhs-cardsUse larger Xiaohongshu canvas:
scripts/run_md_to_xhs_cards.sh content/post.md --width 1242 --height 1660Style tuning:
scripts/run_md_to_xhs_cards.sh content/post.md \
--background "#f3f3f3" \
--text-color "#141414" \
--muted-color "#6f6f6f" \
--line-height-scale 1.80Render + 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-runUser 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-authorCover 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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

