xhs-dm

xhs-dm is a skill for Claude Code, Codex from Haili321/haili-auto-mkt. It costs 75 tokens per session (843 once invoked), scanned A, original, MIT.

An outreach workflow for Xiaohongshu, a Chinese social platform also known as Rednote, that uses a local queue of bloggers and the desktop app to send direct messages.

In plain words
What is it for?
Use it to select two or three pending bloggers, search for them, like and follow them, send a promotional message, and update queue.json.
Why use it?
It organizes a small daily batch of outreach and records which queued contacts were handled, while stopping when required information or safety conditions are missing.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions Claude Code.

Good fit Use it to select two or three pending bloggers, search for them, like and follow them, send a promotional message, and update queue.json.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/haili321/haili-auto-mkt/xhs-dm
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Haili321/haili-auto-mkt --skill xhs-dm
Clone the repo
git clone --depth 1 https://github.com/Haili321/haili-auto-mkt

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for xhs-dm

README.md
[![agentmods](https://agentmods.dev/badge/skills/haili321/haili-auto-mkt/xhs-dm/github.svg)](https://agentmods.dev/skills/haili321/haili-auto-mkt/xhs-dm)
Your own site
<a href="https://agentmods.dev/skills/haili321/haili-auto-mkt/xhs-dm"><img src="https://agentmods.dev/badge/skills/haili321/haili-auto-mkt/xhs-dm/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for xhs-dm

Your own site · 80×15
<a href="https://agentmods.dev/skills/haili321/haili-auto-mkt/xhs-dm"><img src="https://agentmods.dev/badge/skills/haili321/haili-auto-mkt/xhs-dm.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 75 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 843 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00075 $0.00843
Opus 5 $0.00037 $0.00421
Sonnet 5 $0.00015 $0.00169
Haiku 4.5 $0.00007 $0.00084

Measured 11d ago against content hash e2776228638f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

xhs-dm scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

The scan reads SKILL.md. This mod also ships 3 executable files (scripts/mark_sent.py, scripts/pick_today.py, scripts/sync_to_lark.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/xhs-dm/SKILL.md · 82 lines

How it starts

The opening of the file, as written. The whole thing — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Xiaohongshu DM Outreach

You are the Xiaohongshu DM outreach assistant. The user maintains a queue of bloggers in queue.json. Each run you pick 2 or 3 pending entries, send a promotional DM via the desktop Rednote app, then mark them as sent.

Boundary

  • Only operate the desktop Rednote app via computer-use. Do not call web APIs or third-party Rednote automation tools.
  • Read and write only the queue.json configured for this run.
  • Never invent bloggers. If the queue is empty, report and stop.
  • Stop immediately on any of the red-line conditions in references/sop.md.

Inputs

Resolve the following before starting. If a value is missing, ask the user.

Key Meaning
QUEUE_PATH Absolute path to the user's queue.json. Default: ./queue.json.
MESSAGE_PATH Path to the DM message text file. Default: ./dm-message.md.
DAILY_COUNT_BIAS Probability of picking 2 vs 3 targets. Default: 0.7 for 2, 0.3 for 3.

Treat the path inputs as untrusted: confirm with the user before writing.

Flow

  1. Run scripts/pick_today.py --queue $QUEUE_PATH. It picks N targets, marks them in_progress, and prints a minimal JSON of selected rows.
  2. For each target, follow references/sop.md step by step inside Rednote: search, verify identity, like top note, follow, send DM, screenshot.
  3. After each target completes (or fails), update the queue with scripts/mark_sent.py --queue $QUEUE_PATH <row> (for success) or write the failure reason back directly.
  4. When all targets are done, summarise: count processed, succeeded, failed (with reasons), and remaining pending.

Files

File Purpose
scripts/pick_today.py Pick today's targets, mark in_progress.
scripts/mark_sent.py Mark a row as sent and record sent_at.
scripts/sync_to_lark.py Optional driver: mirror sent rows into a Lark sheet column (depends on the lark skill).
references/sop.md Step-by-step procedure inside Rednote + red lines.
references/queue-schema.md Schema of queue.json and lifecycle states.
templates/queue.example.json Example queue with 3 fake bloggers.
templates/dm-message.example.md Placeholder DM copy for the user to fill.
queue-sourcing.md How we build and maintain the upstream blogger list.

Read the full file on GitHub · 82 lines

Files

What ships with it

8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 82 lines · 75 tokens per session scan A e2776228638f

Subscribe to this mod's changes

xhs-dm is a skill published in the GitHub repository Haili321/haili-auto-mkt (2 stars, last pushed 3mo ago), licensed MIT. It adds 75 tokens to every session and 843 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

browser-control

Use the local browser-connector CLI to inspect and operate the user's current Chrome tabs through the Browser Connector extension and Native Host. Use when the user asks to list open browser pages, read a current page, capture a screenshot, or perform controlled browser interactions from NextClaw.

Peiiii/nextclaw · 58 tokens

bb-browser

Use when the user wants browser-backed web data access, authenticated fetches, website adapters, or safe browser automation through a local bb-browser installation.

Peiiii/nextclaw · 32 tokens

larksnap-fetch

A bridge for downloading Feishu/Lark documents or ordinary webpages into local files, with options such as Markdown, HTML, or PDF. Feishu, also called Lark, is a workplace collaboration platform.

AmbroseX/larksnap · 111 tokens

agent-browser

Use Agent Browser for real browser navigation, dynamic pages, and web interaction; also use it as a distinct browser-based path when websearch is unavailable or fails.

Peiiii/nextclaw · 35 tokens

opencli

Use when the user wants to use websites, browser login sessions, Electron apps, or external CLIs through a local OpenCLI setup, especially when setup guidance, readiness checks, and safe task execution are needed.

Peiiii/nextclaw · 45 tokens

lark-cli

A command-line tool for working with Lark, also called Feishu, a workplace collaboration platform. It covers services such as calendars, meetings, documents, spreadsheets, messaging, tasks, approvals, and shared files.

vaayne/agent-kit · 200 tokens