Rednote Commands
Use this skill only for the CLI command surface of @skills-store/rednote when the user wants to operate Xiaohongshu from the terminal.
Focus on giving the exact command, the minimal required flags, and the right command order.
Preferred command style
Prefer global-install examples first:
npm install -g @skills-store/rednote
bun add -g @skills-store/rednote
rednote <command> [...args]
Only mention npx -y @skills-store/rednote ... if the user explicitly asks for one-off execution without global installation.
Only show local repo commands if the user is explicitly developing the CLI.
Use rednote --version when the user wants to confirm the installed @skills-store/rednote version before troubleshooting or upgrading.
For Xiaohongshu operation commands, default to omitting --instance. Assume the CLI uses the current or default connected instance unless the user explicitly asks to target a named instance.
If browser list shows no custom instance yet, tell the user to create one first with rednote browser create --name <NAME> .... A name is required for creation; prefer a short, stable name such as seller-main.
Core workflow
Use this sequence for most live Xiaohongshu operations:
rednote envrednote browser list; if no custom instance exists, create one withrednote browser create --name seller-main --browser chrome --port 9222rednote browser connectrednote loginorrednote check-loginrednote status- Operate with
home,search,get-feed-detail,get-profile,publish, orinteract
If the user needs exact browser subcommands, flags, or examples, open ./references/browser.md.
If the instance is blocked by a stale profile lock, check ./references/browser.md for the force reconnect command.
Common use cases
Find posts from home feed
Read the current recommendation feed:
rednote home --format md
rednote home --format json --save ./output/home.jsonl
Use home when the user wants to browse candidate posts from the personalized feed before choosing one to inspect or comment on.
Find posts by keyword
Search by keyword:
rednote search --keyword 护肤
rednote search --keyword 护肤 --format json --save ./output/search.json
Use search when the user wants candidate notes for a topic instead of the home feed.
Get one note's detail
Fetch one note by URL:
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy"
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --format json --save ./output/feed-detail.json
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --comments --format json --save ./output/feed-detail-with-comments.json
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --comments 100 --format json --save ./output/feed-detail-100-comments.json
Use get-feed-detail after home or search when the user wants the title, content, interaction data, and media before taking an action. Add --comments only when comment data is needed.
Interact with one note
Perform one note interaction by URL:
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --like --collect
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --like --collect --comment "内容写得很清楚,步骤也很实用,感谢分享。"
Use interact when the user wants one command entrypoint for like, collect, or comment. Combine --like, --collect, and --comment TEXT to perform multiple operations in one command. Use --comment TEXT for replies; there is no standalone comment command.
Publish content
Publish content for an authenticated instance.
Video note:
rednote publish --type video --video ./note.mp4 --title 标题 --content 描述 --tag 穿搭 --tag 日常 --publish
Image note:
rednote publish --type image --image ./1.jpg --image ./2.jpg --title 标题 --content 描述 --tag 探店 --publish
Article:
rednote publish --type article --title 标题 --content $'# 一级标题\n\n正文' --publish
Use publish when the user wants to post or save drafts from an authenticated browser instance.
End-to-end examples
Home → detail → interact comment
Find a post, inspect it, then reply:
rednote home --format md
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy"
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --comment "谢谢分享,信息整理得很完整,对我很有帮助。"
Home → detail → like or collect
Inspect a post, then like or collect it:
rednote home --format md
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy"
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --like --collect
Search → detail → interact comment
Start from a keyword, then reply on the detail page:
rednote search --keyword 低糖早餐 --format md
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --comments --format json --save ./output/feed-detail-with-comments.json
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --comments 100 --format json --save ./output/feed-detail-100-comments.json
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --comment "这份搭配看起来很实用,食材和步骤都写得很清楚。"
Inspect profile after finding a post
Check the author before engaging:
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --format json --save ./output/feed-detail.json
rednote get-profile --id USER_ID --mode profile
rednote get-profile --id USER_ID --mode notes --format json --save ./output/profile-notes.json
Command reference
browser
Use browser list to inspect default browsers, custom instances, stale locks, and the current lastConnect target.
Use browser create to create a reusable named browser profile for later account-scoped commands. Creation requires --name; if the user has no custom instance yet, tell them to pick a name first and then create it, for example rednote browser create --name seller-main --browser chrome --port 9222.
For exact browser subcommands, flags, and examples, open references/browser.md.
version
rednote --version
Use --version when the user wants to check the installed @skills-store/rednote version.
env
rednote env
rednote env --format json --save ./output/env.json
Use env when the user is debugging installation or local setup.
status
rednote status
Use status to confirm whether the instance exists, is running, and appears logged in.
check-login
rednote check-login
Use check-login when the user only wants to verify whether the session is still valid.
login
rednote login
Use login after browser connect if the account is not authenticated yet.
If login succeeds and returns rednote.qrCodePath, show the QR code image to the user instead of only repeating the path so they can scan it immediately.
home
rednote home --format md --save
Use home when the user wants the current home feed and optionally wants to save it.
search
rednote search --keyword 护肤
rednote search --keyword 护肤 --format json --save ./output/search.json
Use search when the user wants notes by keyword.
get-feed-detail
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy"
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --format json --save ./output/feed-detail.json
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --comments --format json --save ./output/feed-detail-with-comments.json
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --comments 100 --format json --save ./output/feed-detail-100-comments.json
Use get-feed-detail when the user already has a note URL and wants structured detail data.
- Without
--comments, the saved JSON contains only the note item array. - With
--comments, each item may include acommentsarray with the reduced comment fields only, using only the comments already loaded on the page. It does not scroll. - With
--comments COUNT, the CLI scrolls.note-scrolleruntil it has collected aboutCOUNTcomments, reaches the end, or times out. - In JSON mode,
--save PATHis required, and the saved file contains only the note items array instead of the full wrapper object.
get-profile
rednote get-profile --id USER_ID
rednote get-profile --id USER_ID --mode profile
rednote get-profile --id USER_ID --mode notes
rednote get-profile --id USER_ID --mode notes --format json --save ./output/profile-notes.json
Use get-profile when the user wants author or account profile information.
--mode profilereturns only the normalizedprofile.userdata. This is the default mode.--mode notesreturns only the normalizedprofile.noteslist.- When
--format jsonis used,--save PATHis required, and the saved JSON contains only the selected mode data instead of the full wrapper object.
interact
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --like --collect
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --like --collect --comment "内容写得很清楚,感谢分享。"
Use interact when the user wants a unified command for like, collect, or comment. Use --comment TEXT for replies.
JSON save rules
When the user asks for --format json, remember these CLI rules:
env,home,search,get-feed-detail, andget-profilerequire--save PATHin JSON mode.- The command prints only the saved file path plus a field-format example; the full payload is written to disk.
get-profile --mode profilesaves only the normalized user object.get-profile --mode notessaves only the normalized notes array.get-feed-detailsaves only the normalized note items array; add--commentsto include reduced comment data from the currently loaded comments, or--comments COUNTto scroll for more comments.
Flag guidance
--instance NAMEpicks the browser instance for account-scoped commands.--format jsonis best for scripting.--format mdis best for direct reading.--save PATHis required in JSON mode forenv,home,search,get-feed-detail, andget-profile.--keywordis required forsearch.--urlis required forget-feed-detailandinteract.interactuses--comment TEXTfor comment content; there is no standalonecommentcommand.interactrequires at least one of--like,--collect, or--comment TEXT.--idis required forget-profile.--type,--title,--content,--video,--image,--tag, and--publishare the mainpublishflags.publishusually requires a connected and logged-in instance before running; without--publish, it saves a draft.
Response style
When answering users:
- lead with the exact command they should run
- include only the flags needed for that task
- prefer one happy-path example first
- mention
browser connectandloginif the command requires an authenticated instance - if no custom instance exists yet, first tell the user to create one and call out that
--nameis required - recommend
homeorsearchfirst when the user still needs to find a post - recommend
get-feed-detailbeforeinteract --commentwhen the user wants to inspect the post before replying
Troubleshooting
If a command fails, check these in order:
- the instance name is correct
- the browser instance was created or connected; if no custom instance exists yet, create one first with
rednote browser create --name NAME ... - login was completed for that instance
- the profile was not blocked by a stale lock; if it was, run
rednote browser connect --instance NAME --force - the user provided the required flag such as
--keyword,--url,--comment,--content, or--id