Community编程与开发github.com

LastLighter/Rednote-skill

把任意帖子(链接或粘贴的正文)一键转成小红书发布的图文。抓取原文并展开引用链、核实事实、写符合爆款 SOP 的短文案、用 AI 生图模型出 3 张 3:4 竖版配图、交付 1080×1440 成图与置顶首评。当用户说"把这篇转成小红书""做成图文""转到小红书""rednote""出个小红书版本",或给出一条 X/微博/公众号/网页链接且期望发布内容时使用。

Rednote-skill 是什么?

Rednote-skill is a Claude Code agent skill that 把任意帖子(链接或粘贴的正文)一键转成小红书发布的图文。抓取原文并展开引用链、核实事实、写符合爆款 SOP 的短文案、用 AI 生图模型出 3 张 3:4 竖版配图、交付 1080×1440 成图与置顶首评。当用户说"把这篇转成小红书""做成图文""转到小红书""rednote""出个小红书版本",或给出一条 X/微博/公众号/网页链接且期望发布内容时使用。.

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LastLighter/Rednote-skill/tree/master

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Rednote · Post to Xiaohongshu Image-Text Card

A single link or block of text → 3 vertically oriented images + 1 body of text + 1 pinned top comment.

Default is 3 images (hard limit of 5), body text is 150–220 characters. Less is more: images carry the information, copy focuses on just one point.


1. Pipeline Overview

StepWhat It DoesOutput
1 Fetch OriginalFetches the post body; if it's a retweet/quote, continue expanding the upstreamComplete fact chain
2 Fact CheckVerifies verifiable information line by lineFact list
3 Define HooksTitle + cover large text; make sure they don't repeatDual hooks
4 Write CopyWrite 150–220 characters per SOPBody + top comment + tags
5 Generate Images3 images in 3:4 aspect ratio, AI-generatedPNG/JPEG
6 DeliverResize to 1080×1440, attach copyFinal images + instructions

Do not start writing copy before step 3, and do not generate images until step 2 is complete—wrong facts make even the best-looking images a liability.


2. Step 1: Fetch the Original (Key: Expand the Citation Chain)

Only fetching the outermost post is the most common failure point.

A retweet like 'This can also link up?' or 'LOL' has almost no useful information. You must follow the citation chain up until you reach the original source.

For fetching X/Twitter, see references/content-sourcing.md. Key points:

  • On domestic networks, x.com is often resolved to fake IPs (e.g. 198.18.x.x), causing the built-in fetch tool to reject it as a 'non-public IP' → use curl instead
  • Use api.vxtwitter.com/<user>/status/<id> to get structured JSON, including the body, media, like count, and a qrt (quoted retweet) object
  • Request the qrt object recursively until there are no more qrt objects
  • Combine the three layers into a timeline, then determine 'what this event actually is'

After fetching, answer these three questions before moving on:

  1. What did this post itself say? (Often just one sentence)
  2. What did the upstream post it quoted/retweeted say? (That's where the real information is)
  3. Who is the further upstream of that? (Usually the original party involved)

3. Step 2: Fact Check

Claims in posts cannot be directly trusted, especially those with numbers, years, or phrases like 'most,' 'first,' or 'once-in-a-century.'

Types that must be checked:

TypeWhy It's DangerousHow to Check
Proper nouns/book titles/product namesTranslation or paraphrasing easily distortsCheck official pages/publishers/official websites
Numbers and datesParaphrasing often shifts by a yearOfficial announcements, authoritative media
Identity of parties involvedPositions may have changedOfficial channels
Technical identifiers (CVE/CNVD/version numbers)Getting them wrong is equivalent to spreading misinformationOfficial announcements, CERT
'Most/First/Once-in-a-century'Mostly emotional exaggerationFind the original statement; downgrade to neutral description

Principle: Keep the meme, correct the facts. The exaggerated claims of the original post can stay at the 'meme' level, but the information in the images must be verifiable.

Content that cannot be verified: don't put it in the image; you can mention it in the comments section as 'internet rumor,' or don't mention it at all.

Organize the verification results into a table and include it at delivery—this is your ammunition when challenged.


4. Step 3: Dual Hooks (Title / Cover Large Text)

Xiaohongshu is a 'title + cover' dual entry point—they must hit different points, or you waste half the traffic.

Title

  • ≤ 15 characters
  • Embed 1–2 search keywords (person's name, product name, event name)
  • Create an information gap or emotion; don't be flat and narrative

Cover Large Text

  • Don't replicate the title
  • Do a 'fact shock': a specific, counter-intuitive detail that can be understood at a glance
  • Best length: 4–8 characters; can pair with a high-saturation color block as a 'tag'

Correct / Incorrect Examples

CorrectIncorrect
TitleThe PM who wrote a book on hacking got owned by PHPJapan's PM official site taken down by PHP (just a statement)
CoverThe publisher is called PHP(Copy the title directly)
TitleTakaichi Sanae's official site, taken down by PHPShocking! The PM actually… (Clickbait style)

Regarding Names: Use real names for known public figures

Don't replace a person's name with generic terms like 'some country's PM' or 'some entrepreneur.' Fame itself is an emotional lever; 'some country's PM' drains all the emotion.

  • Dry: The Japanese PM recently expressed views on this topic, sparking discussion.
  • Wet: Takaichi Sanae's latest move has maxed out the entertainment value, and netizens are all waiting for the next update.

5. Step 4: Write the Copy

See references/copywriting.md for details. Hard targets:

ItemRequirement
Body word count150–220 characters, never exceed 300
Paragraphs1–3 lines per paragraph, short sentences, plenty of line breaks
Information densityOnly hit one core contrast; put all details in the images and comments
Emoji≤ 3 per entire piece
Tags5–7: 2 high-traffic + 3 precise search + 1–2 emotional

Four-Part Rhythm

  1. Explosive opening (1–2 lines): One sentence to clarify what happened
  2. Core facts (3–4 lines): Provide background and conflict
  3. Twist / Irony (2–3 lines): Reveal the most explosive detail
  4. Casual jab (1 line): A cold, humorous conclusion

Terminology Degradation

Your readers aren't peers. Translate technical terms into everyday actions:

OriginalDegraded
High-severity RCE vulnerabilityA serious vulnerability was exposed
PoC publicly distributedHacker attack code is everywhere
Temporary site shutdownPulled the network cable overnight
Unauthorized accessAnyone can get in

Vocabulary Blacklist (Delete on Sight)

  • Forced familiarity: 'Family members,' 'Girlfriends,' 'Who gets it,' 'Absolutely stunning,' 'Totally living for this'
  • Press release tone: 'According to reports,' 'It's worth mentioning,' 'In summary'
  • Clickbait: 'Shocking!', 'Unexpectedly… Unbelievably…'

Pinned Top Comment

Immediately after posting, reply to yourself in the first comment with the technical details, IDs, complete timeline, and sources that were cut from the main body, and pin it.

Keep the main body in human-readable language; the comments section handles the professionalism. This way, you retain both types of readers.

Leave Hooks

Intentionally leave an 'incomplete' rather than 'incorrect' statement (e.g., don't give a specific number, don't state the exact quantity), so knowledgeable people come to the comments to fill it in.

Note: Leave 'gaps,' not 'errors.' Factual errors will be seen as disinformation; gaps just invite supplementation.


6. Step 5: Generate Images

See references/image-prompts.md and references/cover-design.md.

Number and Role Distribution

Default 3 images, max 5. 3 is the optimal range for 'informative but not verbose.'

ImageRoleContent Type
01 CoverGet the clickLarge text + strong visuals + person/prop
02 EvidenceProve it's realComparison, data, original facts
03 ConclusionComplete the story / give a reason to savePlot timeline, follow-up, easter egg

The most common mistake for Image 3: Writing it as a 'summary' or 'technical solution.'

If your content isn't aimed at peers, putting a technical list on Image 3 is wrong—the reader gets stuck on the last image, destroying all the emotion built up before. Image 3 should be the next step in the story (the parties' reactions, subsequent developments, absurd contrasts), not a knowledge point.

Three Hard Rules

  1. The image must be filled. Large text + person + props + scattered small elements, covering all four edges. Large areas of plain color background = cheap feel = low clicks.
  2. Text must be verifiable. Enclose Chinese text in quotation marks; compare word-for-word after generation; if even one character is wrong, regenerate.
  3. Explicitly state 'no other text besides this.' If you don't write this sentence, the model will fill in random English words.

Visual Consistency

  • Uniform background color, font logic, and character style within the same set of images
  • If there's an existing account character image, use it as reference image 1 to keep hairstyle, clothing, and style consistent
  • Keep the character's position as consistent as possible (all in the bottom right or all in the bottom left), so the set looks like a series when scrolled

Technical Parameters

  • Aspect ratio: 3:4 (Xiaohongshu vertical standard)
  • Final image size: 1080 × 1440
  • Key elements should be at least 5% from all edges (cover large text can go as close as 4%)

7. Step 6: Deliver

  1. Resize images to 1080×1440 (models often output 3584×4800 or 896×1200)
  2. Include a copy file: title, body, pinned top comment, tags, image division of labor, publishing settings, self-check list
  3. Include a preview image showing all 3 images side-by-side for easy evaluation
  4. Package into a zip file

8. Pre-Publishing Self-Check (10 seconds)

  • Body text ≤ 220 characters?
  • All technical terms translated into plain language?
  • Blacklist words all removed?
  • Title ≤ 15 characters and includes keywords?
  • Cover large text and title don't repeat?
  • Image 3 is a story, not a technical summary?
  • Chinese text on all three images word-for-word verified?
  • All three images are fully composed, with no large empty backgrounds?
  • Used real names for famous people?
  • Pinned top comment written?
  • Fact-checking table can be matched to sources?

9. Reference Files

FileContent
references/content-sourcing.mdPost fetching, citation chain expansion, workarounds for blocked sites
references/copywriting.mdCopywriting sentence templates, degradation word list, rewrites examples
references/cover-design.mdCover layout, text hierarchy, density rules
references/image-prompts.mdImage generation prompt formulas, negative constraints, failure cases
references/case-study.mdA complete real-world example: the full process of 3 iterations
scripts/fetch-post.mjsFetch post, automatically expand citation chain
scripts/imagen.mjsCall image model for generation (supports reference images)
scripts/assemble.pyResize, stitch preview, package

相关技能