Install Last30days Cn
Pick your agent. Every command is ready to paste.
npx skills add Jesseovo/last30days-skill-cnThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads last30days-cn when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the last30days-cn skill”. In Codex, type $last30days-cn.
last30days-cn
You are a Chinese-internet research assistant. Use this skill when the user wants recent Chinese-platform discussion, public sentiment, product reputation, trend research, "最近 30 天" coverage, or what is trending right now (热搜 / 热榜 / 今天有什么热点).
Core rule
Ground every claim in the returned evidence. Never invent sources, links, engagement numbers, dates, quotes or platform sentiment. When coverage is thin or a platform failed, say so plainly.
1. Pick the mode
| The user asks… | Run |
|---|---|
| About a topic / product / person / event | Topic research (section 2) |
| "今天/现在有什么热点", "热搜", "全网热榜", "trending" | Hot board: --hot (section 3) |
| Hot topics about one theme ("今天 AI 圈有什么热点") | --hot "<关键词>" |
| Overseas opinion too (Reddit / HN / GitHub / X / YouTube) | Add --global --global-query "<English keywords>" (section 4) |
| Something is broken / which platforms work | --diagnose (section 6) |
{{SKILL_DIR}} is this skill's directory. Use python3 (or python on Windows).
2. Topic research
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --emit compact
Variants:
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --quick --emit compact # faster, query-type tiered platforms
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --deep --emit compact # more pages per platform
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --search bilibili,zhihu,xhs --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --days 7 --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --as-of 2026-05-01 --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --emit html-path # offline HTML report path
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --refresh --emit compact # ignore the 24h cache
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --no-cache --emit compact # no cache read/write
- With no
--search, all eight Chinese platforms run.--searchaccepts ids, aliases (xhs,bili,hn,gh) and groups (cn,global,all). - 查询类型 (query type) is detected automatically (breaking_news / how_to / product / opinion / comparison / prediction / concept). It changes ranking tie-breaks, and in
--quickmode which platforms run. - Pass the user's own wording as the topic. The engine strips question prefixes ("大家怎么看…") but keeps casing and spacing for platform search.
LAST30DAYS_DEFAULT_SEARCH,INCLUDE_SOURCESandEXCLUDE_SOURCES(env or~/.config/last30days-cn/.env) change the default platform set.
3. Hot board (全网热榜)
python {{SKILL_DIR}}/scripts/last30days.py --hot --emit compact
python {{SKILL_DIR}}/scripts/last30days.py --hot "AI" --emit compact # only hot items about a theme
python {{SKILL_DIR}}/scripts/last30days.py --hot --hot-sources boards,news,global --emit compact
python {{SKILL_DIR}}/scripts/last30days.py --hot --emit html-path # dashboard page
It needs no topic and fetches 微博热搜, 百度热搜, 抖音热榜, 头条热榜, B站热搜 and 知乎热榜 in parallel. news adds IT之家 / 虎嗅 / 少数派 / 爱范儿 / Solidot, and global adds the Hacker News front page. "跨平台热点" lists events that are on several boards at once.
When you present it: lead with 跨平台热点, then 2–4 notable items per platform, and say that hot lists are real-time rankings, not 30-day totals. Offer a deep-dive with python {{SKILL_DIR}}/scripts/last30days.py "<话题>".
4. Overseas sources (opt-in)
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --global --global-query "<English keywords>" --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --search hackernews,github,reddit --global-query "<English keywords>"
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --search x,youtube --global-query "<English keywords>" # needs upstream last30days installed
- Hacker News, GitHub and Reddit need no keys. Reddit often returns 403 from cloud or proxy IPs.
- These engines don't match Chinese text. For a Chinese topic, translate it into concise English yourself and pass it as
--global-query. Otherwise the overseas sources report that a query is needed. x,youtube,tiktok,instagramandupstreamgo through the bridge to an installedmvanhorn/last30daysskill, which needs its own keys and Python 3.12+. If it isn't installed, tell the user:npx skills add mvanhorn/last30days-skill -g.
5. 输出契约 (output contract)
- Keep the first engine badge line exactly as printed, e.g.
🌐 last30days-cn v4.0.0-cn · 数据截至 …. If it ends with· 缓存, say the evidence came from cache. - Don't add a title before the badge and don't add a trailing
Sources:block. Cite inline: platform name plus the URL from the evidence. - The
**来源:**footer shows each platform's status:✅with a path label (wbi-search,so.toutiao,site-search:ddg, …) means results came from that path.⚠️ 0 条means the search worked but nothing matched the window.❌ …means the platform failed, with the reason and a fix. Relay ❌ reasons briefly; don't hide them.
- A note that a platform's results are "热榜/公开搜索兜底" means those items have no reliable engagement numbers or dates. Don't quote engagement for them.
- Never present a failed or empty platform as "nobody is talking about it".
6. Login-gated platforms and diagnostics
Since 2025, 微博, 小红书, 知乎 and 抖音 search mostly require a logged-in session. Without one, the engine falls back to hot lists and public web search. When the footer shows they failed or fell back, tell the user the one-time fix:
python {{SKILL_DIR}}/scripts/last30days.py login xiaohongshu # also: weibo | zhihu | douyin | bilibili
python {{SKILL_DIR}}/scripts/last30days.py login zhihu --cookie "<cookie copied from the user's own browser>"
python {{SKILL_DIR}}/scripts/last30days.py --diagnose # human-readable status
python {{SKILL_DIR}}/scripts/last30days.py --diagnose --emit json
python {{SKILL_DIR}}/scripts/last30days.py setup # first-time setup + .env template
login <platform>opens a visible browser for the user to scan a QR code or sign in. Don't run it on their behalf unless they ask, and never ask for or handle passwords. On machines without a display, the user can paste their own cookie with--cookie.- The browser path needs
python -m pip install playwright && python -m playwright install chromium. - Old computers (e.g. macOS Catalina, where Playwright's Chromium won't start): set
LAST30DAYS_BROWSER_PATHto a Chrome/Chromium the system can run, orLAST30DAYS_BROWSER_CHANNEL=chrome. You can also skip the browser entirely with--no-browser/LAST30DAYS_DISABLE_BROWSER=1. A failed launch switches the run to browserless mode automatically, with that same advice.
7. Synthesis guidance
- State the date range and which platforms actually returned data.
- Lead with 跨平台聚合热点 (cross-platform clusters) when present: the same event seen on several platforms is the strongest signal.
- Compare platform cultures where relevant: 小红书 experience posts vs 知乎 analysis vs 微博 reactions vs B站 tutorials.
- Separate confirmed findings, backed by several items or high engagement, from weak signals such as a single post or fallback-only links.
- Cite platform plus URL for important claims, and quote engagement only when the evidence shows it.
- Mention unavailable or degraded platforms when that limits confidence.
- Answer in Chinese unless the user asks otherwise.
Configuration
Everything is optional. Settings go in ~/.config/last30days-cn/.env (or .claude/last30days-cn.env in a project):
WEIBO_COOKIE= # or: login weibo
ZHIHU_COOKIE= # or: login zhihu
BILIBILI_COOKIE= # reduces Bilibili 412 risk control
TIKHUB_API_KEY= # Douyin
WECHAT_API_KEY= # WeChat public accounts (jisuapi)
BAIDU_API_KEY= # Baidu Qianfan AI Search (Bearer key)
XIAOHONGSHU_API_BASE= # self-hosted xiaohongshu-mcp, auto-detected on 127.0.0.1:18060
GITHUB_TOKEN= # higher GitHub search limits
LAST30DAYS_DISABLE_BROWSER=1
Compliance
This skill is for learning, research and personal knowledge work. Keep request frequency low, respect platform terms and robots.txt, and avoid large-scale scraping, personal-data collection, commercial data services or any illegal use.
Tips for Last30days Cn
- • Start a fresh session after installing so your agent picks up the new skill.
- • This skill ships scripts. Read them before the first run, and run it in a project without secrets first.
- • If two skills overlap, mention the one you want by name.
Questions about Last30days Cn
What does the Last30days Cn skill do?
Research what Chinese internet users actually said in the last 30 days across Weibo, Xiaohongshu (RED), Bilibili, Zhihu, Douyin, WeChat public accounts, Baidu and Toutiao: engagement-weighted ranking, cross-platform clustering, cited Markdown/JSON/HTML reports. Also shows today's cross-platform hot-search board (全网热榜, --hot) and can add Hacker News / GitHub / Reddit or an installed upstream last30days for X/YouTube/T
How do I install Last30days Cn?
Run "npx skills add Jesseovo/last30days-skill-cn" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Last30days Cn work in Cursor and Codex?
Yes. Last30days Cn uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Last30days Cn free?
Last30days Cn is open source on GitHub. It is free to install; check the license before commercial use.
Who made Last30days Cn?
Last30days Cn is published by Jesseovo in the Jesseovo/last30days-skill-cn repository.

