Skip to content
Development
Skill

/xiaohongshu

Read Xiaohongshu (小红书) through OpenCLI using the user's Chrome logged-in session. Actions: search notes, read note details, read comments, browse feed, read user notes. Keywords: xiaohongshu, xhs, 小红书, 红书, 笔记, 评论, feed.

From plugin
all-my-ai-needs
1223 skills9 MCP
Install
$ npx -y skills add codingSamss/all-my-ai-needs --skill xiaohongshu --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/xiaohongshu

Context preview

The summary Claude sees to decide when to auto-load this skill.

Read Xiaohongshu (小红书) through OpenCLI using the user's Chrome logged-in session. Actions: search notes, read note details, read comments, browse feed, read user notes. Keywords: xiaohongshu, xhs, 小红书, 红书, 笔记, 评论, feed.

SKILL.md

xiaohongshu.SKILL.md
name: xiaohongshu
description: "Read Xiaohongshu (小红书) through OpenCLI using the user's Chrome logged-in session. Actions: search notes, read note details, read comments, browse feed, read user notes. Keywords: xiaohongshu, xhs, 小红书, 红书, 笔记, 评论, feed."

Xiaohongshu Skill (Read-Only)

Use OpenCLI as the single supported Xiaohongshu implementation. The previous HTTP/API and Chrome Cookie DB extraction path was removed because Xiaohongshu frequently requires browser-side login verification and risk-control handling.

When To Use

Triggered by:

  • "小红书搜 [query]", "search xiaohongshu [query]"
  • "读小红书笔记", "read xhs note [url]"
  • "小红书评论", "xhs comments"
  • "小红书 feed", "小红书首页"
  • "小红书用户主页", "xhs user"

Prerequisites

1. Node.js and npm are installed. 2. OpenCLI is installed: `npm install -g @jackwener/opencli` 3. The OpenCLI Chrome extension is installed manually from the Chrome Web Store. 4. Chrome is open and logged into Xiaohongshu.

Check status without starting or changing the daemon:

opencli daemon status

Do not run `opencli doctor` for routine checks; it can start the daemon.

Commands

Search notes:

opencli xiaohongshu search "<query>" -f yaml

Read a note:

opencli xiaohongshu note "<note_url>" -f yaml

Read comments:

opencli xiaohongshu comments "<note_id>" -f yaml

Browse feed:

opencli xiaohongshu feed -f yaml

Read a user's public notes:

opencli xiaohongshu user "<user_id>" -f yaml

Download media from a note:

opencli xiaohongshu download "<full_note_url_with_xsec_token>" --output "./xiaohongshu-downloads" -f yaml

Recommended Workflows

Preflight

1. Check that the daemon and Chrome extension are available:

opencli daemon status

2. Check Xiaohongshu login state before reading search results, profiles, or notes:

opencli xiaohongshu whoami -f yaml --window background --site-session persistent --trace retain-on-failure

If `whoami` succeeds but another command returns `AUTH_REQUIRED`, treat the target page as blocked by a login wall and ask the user to refresh Xiaohongshu login in Chrome. Do not switch to cookie extraction or unofficial APIs.

If OpenCLI returns `BROWSER_CONNECT` or cannot bind `127.0.0.1:19825`, the daemon may be blocked by the current sandbox. Start or check the daemon from an unrestricted host shell when available, then rerun the same OpenCLI command. Do not use `opencli doctor` for routine checks.

Profile Share Links

Do not pass a profile `xhslink.com/m/...` URL directly to `opencli xiaohongshu user` and assume the short-link tail is the user id. In practice, OpenCLI may incorrectly navigate to:

https://www.xiaohongshu.com/user/profile/<short-link-tail>

If the trace shows a `404` for that URL, the `EMPTY_RESULT` error is probably a bad profile id, not proof that the user has no public notes.

For profile share links, first resolve the canonical profile URL:

  • Prefer a real URL like `https://www.xiaohongshu.com/user/profile/<user_id>?xsec_token=...`.
  • If only a short link is available, ask the user to open it while logged in, then read the final URL from the current Chrome tab or recent Chrome history.
  • Use Chrome only for URL resolution or visible-page confirmation. Keep Xiaohongshu data extraction in OpenCLI.

After resolving the canonical profile URL, probe the profile:

opencli xiaohongshu user "<canonical_profile_url>" --limit 5 -f yaml --window background --site-session persistent --trace retain-on-failure

If `search "<creator_name>"` returns `[]`, do not conclude the creator is missing. Try the canonical profile URL or the user's browser history/open tab instead.

Batch Profile Media Download

For bulk image download from a profile, use a staged flow:

1. Probe the profile with `--limit 5`. 2. Download 1-3 notes first to verify media extraction and local file layout. 3. Save a manifest before full download:

opencli xiaohongshu user "<canonical_profile_url>" --limit 250 -f json --window background --site-session persistent --trace retain-on-failure > notes-manifest.json

4. Download from manifest URLs, not note ids alone. The manifest URLs usually include the required `xsec_token`. 5. Write a status log per note, continue past single-note failures, and add a short delay between notes to reduce risk-control friction. 6. Preserve the raw download directory. If the user wants clean names, copy into a separate `named/` directory instead of destructively renaming raw files.

Suggested clean naming:

named/
  001_<article-title>/
    <article-title>_1.jpg
    <article-title>_2.jpg

When generating filenames, sanitize filesystem-illegal characters such as `/`, `:`, `*`, `?`, `"`, `<`, `>`, `|`, and control characters. Keep a rename manifest that maps source files to named files.

Interpreting Download Results

  • `No media found` on a profile share link usually means the input is a profile, not a note. Resolve the profile, list note URLs, then download each note URL.
  • `EMPTY_RESULT` from `user` with a profile short link usually means the short-link tail was treated as a bad user id. Inspect the trace before reporting "no public notes".
  • A successful `download` command writes files locally and is still read-only with respect to Xiaohongshu. It must not post, like, follow, comment, delete, or publish anything.

Notes

  • Use full note URLs from search or feed results when possible; Xiaohongshu often requires `xsec_token`.
  • If OpenCLI returns `AUTH_REQUIRED`, ask the user to refresh Xiaohongshu login in Chrome.
  • Do not use HTTP/API scraping, Chrome Cookie DB extraction, `xiaohongshu-mcp`, or `xhs-cli` as hidden fallbacks.
  • Do not post, comment, like, favorite, follow, or bypass captcha/risk controls.
  • Never run write commands such as `publish`, `delete-note`, `follow`, or `unfollow` unless the user explicitly asks for that exact action and the normal browse
Read more
Ships withall-my-ai-needs

跨 Claude Code 与 Codex 两套 agent 的 skill 能力真源与同步规则。写入由 agent 执行,人只审校与决策。 把 Claude Code 与 Codex 的可复用能力收敛到一个仓库,按 platform-first 维护:每个平台独立持有自己的 skills/ 与运行约定,同名 skill 允许在两端并存,不强行抽象去重。 仓库要解决的是多端 AI 配置的漂移——GitHub 仓库、本地工作区、本地 CLI

Get the whole plugin

Other skills on all-my-ai-needs.

aihot
Skill

aihot

查询 AIHOT 的中文 AI 资讯、精选、当前热点和日报。用户询问今天或最近的 AI 新闻、AI 圈动态、大模型或产品发布、OpenAI/Anthropic/Google 最新消息、AI 论文、AI 日报、AIHOT 精选、当前最热事件,或需要同步当前全部精选时使用。必须通过 aihot.news 的匿名只读…

apifox-cli
Skill

apifox-cli

通过 Apifox CLI 管理 Apifox 项目资源。触发场景:运行接口自动化测试/测试套件,查询/创建/更新/删除接口、环境、Schema、Mock、分支等项目资源,导入导出 API 文档,查看测试报告,管理 Runner、定时任务、通知等 CI/CD 配置。CLI 输出为结构化 JSON,常含…