# Md To Xhs Cards

> 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.

- **Type:** Skill
- **Install:** `agentstack add skill-erafat-skills-md-to-xhs-cards`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [erafat](https://agentstack.voostack.com/s/erafat)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [erafat](https://github.com/erafat)
- **Source:** https://github.com/erafat/skills/tree/main/md-to-xhs-cards

## Install

```sh
agentstack add skill-erafat-skills-md-to-xhs-cards
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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

1. Resolve the markdown file path from the user request.
2. Run:

```bash
scripts/run_md_to_xhs_cards.sh /absolute/or/relative/path/to/file.md
```

3. Return output folder and generated card paths.

Default output folder: `/-xhs-cards`

## Workflow

1. Validate input:
- Confirm markdown file exists.
- Confirm referenced images are local files when possible (`` or Obsidian `![[...]]`).

2. Execute deterministic rendering:
- Run `scripts/run_md_to_xhs_cards.sh`.
- Use `--width` and `--height` to 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.

3. Verify output:
- Ensure at least one `NN-card.png` exists.
- Check `manifest.json` for count and filenames.
- If images are missing, report placeholders and list unresolved image paths.

4. Optional publish to Xiaohongshu:
- Add `--publish-xhs` to publish immediately after rendering.
- Use `--publish-title` / `--publish-desc` overrides when needed.
- For safe validation, run once with `--publish-dry-run`.

5. 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 (`1080x1440` or `1242x1660`).

## Common Commands

Default:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md
```

Set explicit output directory:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md --output-dir exports/xhs-cards
```

Use larger Xiaohongshu canvas:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md --width 1242 --height 1660
```

Style tuning:

```bash
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:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md \
  --publish-xhs \
  --publish-title "医生的病历写给谁看" \
  --publish-desc "关于病历、医疗决策，与医生的身份危机"
```

Dry-run publish validation:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md \
  --publish-xhs \
  --publish-dry-run
```

## User Option Packs

Soft reading style:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md \
  --background "#faf9f6" \
  --quote-bg "#f4f2eb" \
  --quote-border "#e8e3d7" \
  --quote-accent "#7a756a"
```

Cover + ending signature:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md \
  --author "鹿不角" \
  --signature-text "-- 鹿不角"
```

Keep author on cover too:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md \
  --author "鹿医生" \
  --cover-author
```

Cover with author:

```bash
scripts/run_md_to_xhs_cards.sh content/post.md --author "鹿医生"
```

Last-page signature (without cover author):

```bash
scripts/run_md_to_xhs_cards.sh content/post.md \
  --author "鹿不角" \
  --signature-text "-- 鹿不角"
```

## Dependencies

- `scripts/run_md_to_xhs_cards.sh` auto-selects a Python interpreter with `Pillow`.
- If none found, install:

```bash
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`
- Cookie lookup supports:
  - `--publish-cookie`
  - `XHS_COOKIE` environment variable
  - `.env` in 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.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [erafat](https://github.com/erafat)
- **Source:** [erafat/skills](https://github.com/erafat/skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-erafat-skills-md-to-xhs-cards
- Seller: https://agentstack.voostack.com/s/erafat
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
