XHS Rental Scout
Turn public Xiaohongshu rental posts into a small, decision-ready shortlist. Optimize for evidence quality and avoided contact cost, not result count.
Keep the boundary
- Read public information only. Never message, comment, like, follow, call, add contacts, book, or pay.
- Never bypass login, CAPTCHA, verification, rate limits, or platform restrictions.
- Stop new online requests on authentication or verification failure. Keep completed evidence and report the blocker.
- Keep cookies, tokens, raw caches, personal requirements, and account lists outside the installed skill directory and outside public repositories.
- Treat public posts as leads, not verified inventory or market-wide data.
Prepare the request
Obtain or infer these essentials before searching:
- city or target area;
- monthly budget, including whether it is per unit or combined;
- commute destination and acceptable route;
- acceptable home types;
- hard rejects and must-haves.
Ask no more than two short questions at once when an essential cannot be inferred. Do not require a configuration file for a one-off search.
For repeated searches, create a user-owned workspace from assets/rental-profile.example.md; follow references/workspace-and-output.md. Never write runtime data into this skill folder.
Select a read backend
Read references/backend-routing.md before the first online request. Reuse a working, authenticated capability already available in the environment. Do not install or build a scraper when an existing connector, browser session, MCP, or CLI can read the needed public fields.
Run the evidence funnel
- Load the user's profile and prior
seen-notes.txt/account-risks.mdwhen present. - Generate 6-12 focused queries from area, home type, personal-intent, move-in, and property terms. Avoid one giant generic query.
- Search the first page of each query. Continue to another page only while it produces new plausible leads.
- Deduplicate by note ID first, then flag probable reposts using author, property, price, title, and repeated images. Do not merge uncertain matches silently.
- Reject only hard mismatches at card level. Keep missing-title cards for detail review when other signals are relevant.
- Read listing details for plausible new leads. Separate confirmed facts, reasonable inferences, and unknowns.
- Inspect author history only for remaining leads. Judge the posting pattern, not a single nickname or slogan.
- Inspect comments and images only for finalists or when they can resolve a decision-critical gap.
- Apply
references/evidence-rules.md. Keep evidence grade, proximity/pairing grade, and recommended action as separate fields. - Produce the report with
assets/report-template.md; persist state only after recording why each note was shortlisted, downgraded, or rejected.
Preserve source meaning
- Keep title, body, image, profile, and comment evidence distinguishable.
- Record price as listed monthly rent, suspected rent, non-rent charge, or missing. Never convert missing price into a cheap listing.
- Prefer visible image evidence when it conflicts with prose, but record the conflict.
- Treat “房东直租”, “无中介费”, and similar claims as clues, never proof.
- Say “public-post sample” or “listed price”; never claim citywide market price or completed transaction price from these posts.
Finish only with a usable handoff
Report:
- scope, date, queries, and source limitations;
- ranked candidates with links and evidence gaps;
- rejected or downgraded leads with reasons;
- blocked checks and login/verification state;
- the smallest next question worth asking for each finalist;
- which local state files were updated.
If no lead meets the bar, say so plainly. Do not loosen the standard to fill the report.