platforms/claude/skills/xiaohongshu/SKILL.md
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.
npx skillsauth add codingsamss/ai-dotfiles xiaohongshuInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Triggered by:
npm install -g @jackwener/opencliCheck status without starting or changing the daemon:
opencli daemon status
Do not run opencli doctor for routine checks; it can start the daemon.
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
opencli daemon status
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.
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:
https://www.xiaohongshu.com/user/profile/<user_id>?xsec_token=....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.
For bulk image download from a profile, use a staged flow:
--limit 5.opencli xiaohongshu user "<canonical_profile_url>" --limit 250 -f json --window background --site-session persistent --trace retain-on-failure > notes-manifest.json
xsec_token.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.
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".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.xsec_token.AUTH_REQUIRED, ask the user to refresh Xiaohongshu login in Chrome.xiaohongshu-mcp, or xhs-cli as hidden fallbacks.publish, delete-note, follow, or unfollow unless the user explicitly asks for that exact action and the normal browser safety confirmation rules are satisfied.tools
Apifox 接口测试用例:test-case 与 test-data 的查询、创建、更新、删除、分类和运行;处理测试步骤、断言、提取变量、前后置处理器、数据集,以及“CLI 创建后前端测试步骤无法展示”等问题。
tools
通过 Apifox CLI 管理 Apifox 项目资源。触发场景:运行接口自动化测试/测试套件,查询/创建/更新/删除接口、环境、Schema、Mock、分支等项目资源,导入导出 API 文档,查看测试报告,管理 Runner、定时任务、通知等 CI/CD 配置。CLI 输出为结构化 JSON,常含 agentHints.nextSteps;所有命令支持 --help。
tools
Apifox 接口测试用例:test-case 与 test-data 的查询、创建、更新、删除、分类和运行;处理测试步骤、断言、提取变量、前后置处理器、数据集,以及“CLI 创建后前端测试步骤无法展示”等问题。
tools
通过 Apifox CLI 管理 Apifox 项目资源。触发场景:运行接口自动化测试/测试套件,查询/创建/更新/删除接口、环境、Schema、Mock、分支等项目资源,导入导出 API 文档,查看测试报告,管理 Runner、定时任务、通知等 CI/CD 配置。CLI 输出为结构化 JSON,常含 agentHints.nextSteps;所有命令支持 --help。