last30days-cn

last30days-cn is a skill in Jesseovo/last30days-skill-cn, last changed 5 Oct 2026. It can touch credentials, install more skills, run shell commands, reach the network, name web addresses, bundle scripts and pre-approve tools — read the findings before installing. Our pattern check found 1 item to review at commit af785c6 on 27 Oct 2026.

Pattern check: 1 item to review · commit af785c6 · 27 Oct 2026

Install
From the author
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/TikTok.
Licence
Licence not identified
Repo stars
2.0k
Publisher
Jesseovo
Checked
af785c6 (opens in a new tab) · 27 Oct 2026

Install

Each tab says whether it installs commit af785c6, the one we checked, or the latest version.

No tab for your agent? Use Any agent for OpenCode, Goose, Windsurf (Devin Desktop), Zed, Roo Code, Factory Droid, Junie, Amp and Antigravity, and Claude Code for Cline. Kiro needs the folder copied by hand.

Pinned to commit af785c6, the one we checked.

From your project's root folder:

tmp="$(mktemp -d)" &&
  git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/Jesseovo/last30days-skill-cn.git "$tmp" &&
  git -C "$tmp" fetch -q --depth 1 origin af785c682de2fb9192e495daf061308a7a6799ec &&
  git -C "$tmp" checkout -q af785c682de2fb9192e495daf061308a7a6799ec &&
  rm -rf "$tmp/.git" &&
  mkdir -p .claude/skills &&
  mkdir .claude/skills/last30days-cn &&
  cp -R "$tmp"/. .claude/skills/last30days-cn/ &&
  rm -rf "$tmp"

If Claude Code was already running and this created the skills folder, run /reload-skills.

Or install the last30days-cn plugin it ships in. Installs the latest version, not the one we checked. Installs everything in the plugin, including any hooks, MCP servers and scripts our check doesn't cover.

claude plugin marketplace add Jesseovo/last30days-skill-cn --scope project &&
  claude plugin install last30days-cn@last30days-skill-cn --scope project
Claude Code docs (opens in a new tab)

What it can touch

From the files and frontmatter at commit af785c6. This is how much a skill can do, not whether it is risky.

What it can touch: Shell, network or credentials

  • Runs shell commands

    Its instructions or files give the agent commands to run on your computer.

  • Reaches the network

    It sends or fetches data over the internet, for example with curl, an HTTP library or a package install.

  • Names web addresses

    It mentions outside web addresses the agent may visit. We list them but don't follow them.

  • Bundles scripts

    The folder holds code files the agent may run.

    hooks/scripts/check-config.sh · scripts/build_payload.py · tests/test_baidu_antibot.py and 30 more

  • Pre-approves tools

    Its allowed-tools field lists tools the agent may use without asking you first, in agents that honour it.

    SKILL.md:6

  • Touches credentials

    It reads, asks for or contains keys, tokens, passwords or similar secrets.

    scripts/lib/env.py:151 · scripts/lib/upstream_bridge.py:213 · tests/test_env_cli_v4.py:124

  • Installs more skills

    It tells the agent to install other skills, plugins or tool servers.

    SKILL.md:112 · docs/usage.en.md:79 · docs/usage.zh-CN.md:107 and 2 more

Pattern check

Pattern check: 1 item to review · commit af785c6 · 27 Oct 2026

We checked every text file in this skill, at commit af785c6 on 27 Oct 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.

How the check worksReport an incorrect finding

Files we didn't read

  • assets/banner.png · image, audio or video
  • scripts/lib/hot_board_cat.png · image, audio or video

Outside links we did not follow

  • https://anthropic.com/claude-code/marketplace.schema.json
  • https://github.com/Jesseovo
  • https://github.com/Jesseovo/last30days-skill-cn
  • https://url,名称
  • https://url
  • https://github.com/mvanhorn/last30days-skill
  • https://jesseovo.github.io/last30days-skill-cn/
  • https://github.com/Jesseovo/last30days-skill-cn/stargazers
  • https://img.shields.io/github/stars/Jesseovo/last30days-skill-cn?style=flat&label=Stars&labelColor=eee8dc&color=9a7651
  • https://github.com/Jesseovo/last30days-skill-cn/forks
Show 40 more
  • https://img.shields.io/github/forks/Jesseovo/last30days-skill-cn?style=flat&label=Forks&labelColor=eee8dc&color=9a7651
  • https://star-history.com/#Jesseovo/last30days-skill-cn&Date
  • https://api.star-history.com/svg?repos=Jesseovo/last30days-skill-cn&type=Date&theme=dark
  • https://api.star-history.com/svg?repos=Jesseovo/last30days-skill-cn&type=Date
  • https://github.com/NanmiCoder/MediaCrawler
  • https://github.com/xpzouying/xiaohongshu-mcp
  • https://github.com/op7418/guizang-ppt-skill
  • https://github.com/Jesseovo/last30days-skill-cn),检查可用数据源,然后查看今天的全网热榜。
  • https://jesseovo.github.io/last30days-skill-cn/)聚合国内热搜、科技资讯和
  • https://github.com/mvanhorn/last30days-skill),由
  • https://github.com/Jesseovo/last30days-skill-cn/security
  • https://github.com/Jesseovo/last30days-skill-cn/issues/new?title=Security%20contact%20request
  • http://www.w3.org/2000/svg
  • https://github.com/Jesseovo/last30days-skill-cn.git
  • https://docs.rsshub.app/
  • https://www.bilibili.com/video/BV
  • https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China
  • https://www.bilibili.com/video/BV1xx411c7XY
  • https://www.bilibili.com/video/BV1yy411c8ZW
  • https://www.zhihu.com/question/678901234/answer/3456789012
  • https://zhuanlan.zhihu.com/p/789012345
  • https://qianfan.baidubce.com/v2/ai_search/web_search
  • https://www.baidu.com/s
  • https://www.baidu.com/
  • http://nourl
  • https://top.baidu.com/board?tab=realtime
  • https://top.baidu.com/api/board?platform=wise&tab=realtime
  • https://top.baidu.com/
  • https://www.baidu.com/s?wd=
  • https://search.bilibili.com/
  • https://api.bilibili.com/x/web-interface/wbi/search/type
  • https://api.bilibili.com/x/web-interface/search/type
  • https://api.bilibili.com/x/frontend/finger/spi
  • https://api.bilibili.com/x/web-interface/nav
  • https://s.search.bilibili.com/main/hotword
  • https://www.bilibili.com/video/
  • https://search.bilibili.com/all?keyword=
  • https://www.xiaohongshu.com/explore
  • https://passport.weibo.com/sso/signin?entry=wapsso&source=wapssowb&url=https%3A%2F%2Fm.weibo.cn%2F
  • https://www.zhihu.com/signin

Format check

Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.

  • Agent Skills specPasses with warnings

    The open format from agentskills.io, held to what the strictest agents enforce, so one folder loads everywhere.

    • Warning

      Fields outside the spec: version, argument-hint (read by Claude Code and VS Code), author and user-invocable (read by Claude Code and VS Code). Uploads to the Claude apps and API, and the spec's validator, reject the file; most agents ignore these fields. O1

      Fix: Delete them for a portable skill, or keep them if you only target the agents that read them.

    • Warning

      metadata values should be text; openclaw (a map) is not. The spec's validator turns them into text; other readers may not. O4

      Fix: Quote each value, for example version: "1.0".

    • Note

      The description doesn't say when to use the skill. D6

      Fix: Add a sentence such as "Use when …" naming the requests or files that should trigger it.

    • Note

      The first sentence of the description is 261 characters. Agents shorten long descriptions, so lead with the main job. D8

      Fix: Start with one short sentence that names the job.

    • Note

      Reference files that SKILL.md doesn't link: AGENTS.md (linked only from docs/usage.en.md), CLAUDE.md, SECURITY.md, SPEC.md (linked only from docs/usage.en.md), TASKS.md and 3 more. Anthropic suggests linking every reference file directly from SKILL.md. B4

      Fix: Link each one from SKILL.md and say when to read it.

    • Note

      Reference files over 100 lines with no table of contents at the top: SPEC.md (125 lines), docs/usage.en.md (202 lines), docs/usage.zh-CN.md (247 lines) and release-notes.md (147 lines). B5

      Fix: Add a short list of the sections at the top of each.

    • Note

      Line 128 has dated wording ("Since 2025"), which goes stale. B8

      Fix: Describe the current way, and move old patterns into their own clearly marked section.

  • Claude CodePasses

    Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.

    • Note

      The first sentence of the description is 261 characters. Agents shorten long descriptions, so lead with the main job. D8

      Fix: Start with one short sentence that names the job.

    • Note

      Claude Code ignores fields it doesn't know: version and author. O1

      Fix: Check the spelling against Claude Code's field list, or delete them.

    • Note

      Reference files that SKILL.md doesn't link: AGENTS.md (linked only from docs/usage.en.md), CLAUDE.md, SECURITY.md, SPEC.md (linked only from docs/usage.en.md), TASKS.md and 3 more. Anthropic suggests linking every reference file directly from SKILL.md. B4

      Fix: Link each one from SKILL.md and say when to read it.

    • Note

      Reference files over 100 lines with no table of contents at the top: SPEC.md (125 lines), docs/usage.en.md (202 lines), docs/usage.zh-CN.md (247 lines) and release-notes.md (147 lines). B5

      Fix: Add a short list of the sections at the top of each.

    • Note

      Line 128 has dated wording ("Since 2025"), which goes stale. B8

      Fix: Describe the current way, and move old patterns into their own clearly marked section.

  • Claude apps & API uploadFails

    Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.

    • Error

      Upload and packaging fail on fields outside the spec: version, argument-hint, author and user-invocable. O1

      Fix: Delete them, and keep your own data under metadata as text values.

    • Note

      The description is 426 characters. The claude.ai Help Center says 200 at most, though Anthropic's API docs and validator allow 1,024. D4

      Fix: If the claude.ai upload refuses it, trim the description to 200 characters.

    • Note

      metadata values should be text; openclaw (a map) is not. The spec defines metadata as text to text. O4

      Fix: Quote each value, for example version: "1.0".

    • Note

      Reference files that SKILL.md doesn't link: AGENTS.md (linked only from docs/usage.en.md), CLAUDE.md, SECURITY.md, SPEC.md (linked only from docs/usage.en.md), TASKS.md and 3 more. Anthropic suggests linking every reference file directly from SKILL.md. B4

      Fix: Link each one from SKILL.md and say when to read it.

    • Note

      Reference files over 100 lines with no table of contents at the top: SPEC.md (125 lines), docs/usage.en.md (202 lines), docs/usage.zh-CN.md (247 lines) and release-notes.md (147 lines). B5

      Fix: Add a short list of the sections at the top of each.

    • Note

      Line 128 has dated wording ("Since 2025"), which goes stale. B8

      Fix: Describe the current way, and move old patterns into their own clearly marked section.

  • OpenAI (Codex & API)Passes with warnings

    Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.

    • Warning

      Fields outside the spec: version, argument-hint, author and user-invocable. Codex ignores them; OpenAI doesn't say whether its upload accepts them. O1

      Fix: Delete them, or move your own data under metadata as text values.

    • Warning

      metadata values should be text; openclaw (a map) is not. OpenAI's upload follows the spec's text-to-text rule. O4

      Fix: Quote each value, for example version: "1.0".

    • Note

      The first sentence of the description is 261 characters. Agents shorten long descriptions, so lead with the main job. D8

      Fix: Start with one short sentence that names the job.

  • VS Code & CopilotPasses

    VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.

    • Note

      VS Code ignores fields it doesn't support: version and author. O1

      Fix: Delete them unless another agent you target reads them.

SKILL.md

We only show SKILL.md text here when its licence clearly allows it.

Read SKILL.md on GitHub (opens in a new tab)

Files

114 files

PathSize
.claude-plugin/marketplace.json (opens in a new tab)1022 B
.claude-plugin/plugin.json (opens in a new tab)686 B
.clawhubignore (opens in a new tab)167 B
.gitattributes (opens in a new tab)431 B
.github/dependabot.yml (opens in a new tab)144 B
.github/workflows/ci.yml (opens in a new tab)1.6 KB
.github/workflows/daily-hot.yml (opens in a new tab)2.7 KB
.github/workflows/security-scan.yml (opens in a new tab)637 B
.gitignore (opens in a new tab)120 B
AGENTS.md (opens in a new tab)5.6 KB
CLAUDE.md (opens in a new tab)11 B
LICENSE (opens in a new tab)1.3 KB
README.en.md (opens in a new tab)6.1 KB
README.md (opens in a new tab)6.7 KB
SECURITY.md (opens in a new tab)1.5 KB
SKILL.md (opens in a new tab)9.9 KB
SPEC.md (opens in a new tab)8 KB
TASKS.md (opens in a new tab)2.1 KB
agents/openai.yaml (opens in a new tab)500 B
assets/banner.png (opens in a new tab)1.4 MB
Show 94 more
PathSize
assets/readme-board-dark.svg (opens in a new tab)878 B
assets/readme-board-light.svg (opens in a new tab)878 B
assets/readme-cover-dark.svg (opens in a new tab)6.7 KB
assets/readme-cover-light.svg (opens in a new tab)6.7 KB
assets/readme-discovery-dark.svg (opens in a new tab)6.6 KB
assets/readme-discovery-light.svg (opens in a new tab)6.6 KB
assets/readme-install-dark.svg (opens in a new tab)846 B
assets/readme-install-light.svg (opens in a new tab)846 B
assets/readme-typing-dark.svg (opens in a new tab)1.4 KB
assets/readme-typing-light.svg (opens in a new tab)1.4 KB
docs/usage.en.md (opens in a new tab)10.5 KB
docs/usage.zh-CN.md (opens in a new tab)12.8 KB
fixtures/bilibili_sample.json (opens in a new tab)1.1 KB
fixtures/weibo_sample.json (opens in a new tab)979 B
fixtures/zhihu_sample.json (opens in a new tab)1.3 KB
gemini-extension.json (opens in a new tab)2.2 KB
hooks/hooks.json (opens in a new tab)280 B
hooks/scripts/check-config.sh (opens in a new tab)3.7 KB
release-notes.md (opens in a new tab)9.5 KB
requirements.txt (opens in a new tab)682 B
scripts/build_payload.py (opens in a new tab)2.9 KB
scripts/last30days.py (opens in a new tab)18.9 KB
scripts/lib/__init__.py (opens in a new tab)29 B
scripts/lib/baidu.py (opens in a new tab)14.3 KB
scripts/lib/bilibili.py (opens in a new tab)12.4 KB
scripts/lib/cache.py (opens in a new tab)4.9 KB
scripts/lib/cjk.py (opens in a new tab)2.9 KB
scripts/lib/cluster.py (opens in a new tab)3.9 KB
scripts/lib/crawler_bridge.py (opens in a new tab)48.4 KB
scripts/lib/dates.py (opens in a new tab)3.8 KB
scripts/lib/dedupe.py (opens in a new tab)8.7 KB
scripts/lib/doctor.py (opens in a new tab)12 KB
scripts/lib/douyin.py (opens in a new tab)8.5 KB
scripts/lib/env.py (opens in a new tab)14 KB
scripts/lib/github.py (opens in a new tab)4.8 KB
scripts/lib/hackernews.py (opens in a new tab)3.7 KB
scripts/lib/hot_board.css (opens in a new tab)23.5 KB
scripts/lib/hot_board.js (opens in a new tab)11.6 KB
scripts/lib/hot_board.py (opens in a new tab)17.3 KB
scripts/lib/hot_board_cat.png (opens in a new tab)1.1 KB
scripts/lib/http.py (opens in a new tab)17.2 KB
scripts/lib/normalize.py (opens in a new tab)12.1 KB
scripts/lib/pipeline.py (opens in a new tab)13 KB
scripts/lib/query.py (opens in a new tab)7.8 KB
scripts/lib/query_type.py (opens in a new tab)5.7 KB
scripts/lib/reddit.py (opens in a new tab)3.5 KB
scripts/lib/relevance.py (opens in a new tab)5.9 KB
scripts/lib/render.py (opens in a new tab)31.3 KB
scripts/lib/schema.py (opens in a new tab)19.3 KB
scripts/lib/score.py (opens in a new tab)12.1 KB
scripts/lib/setup_wizard.py (opens in a new tab)6.2 KB
scripts/lib/sources.py (opens in a new tab)6.7 KB
scripts/lib/toutiao.py (opens in a new tab)9.6 KB
scripts/lib/trending.py (opens in a new tab)19.1 KB
scripts/lib/upstream_bridge.py (opens in a new tab)9.9 KB
scripts/lib/version.py (opens in a new tab)96 B
scripts/lib/websearch.py (opens in a new tab)11.9 KB
scripts/lib/wechat.py (opens in a new tab)7 KB
scripts/lib/weibo.py (opens in a new tab)13.8 KB
scripts/lib/xiaohongshu.py (opens in a new tab)11.6 KB
scripts/lib/zhihu.py (opens in a new tab)10.6 KB
scripts/sync.sh (opens in a new tab)893 B
tests/__init__.py (opens in a new tab)19 B
tests/test_baidu_antibot.py (opens in a new tab)1.1 KB
tests/test_bilibili_v4.py (opens in a new tab)4.9 KB
tests/test_cache.py (opens in a new tab)4 KB
tests/test_cjk.py (opens in a new tab)1.3 KB
tests/test_cluster.py (opens in a new tab)2 KB
tests/test_crawler_bridge.py (opens in a new tab)6.8 KB
tests/test_crawler_login.py (opens in a new tab)6 KB
tests/test_dates.py (opens in a new tab)5.9 KB
tests/test_dedupe.py (opens in a new tab)4.1 KB
tests/test_doctor.py (opens in a new tab)3.2 KB
tests/test_env_cli_v4.py (opens in a new tab)7.4 KB
tests/test_env_sources.py (opens in a new tab)1.7 KB
tests/test_global_sources.py (opens in a new tab)8.9 KB
tests/test_html_render.py (opens in a new tab)3.2 KB
tests/test_http.py (opens in a new tab)3.4 KB
tests/test_http_v4.py (opens in a new tab)4 KB
tests/test_normalize.py (opens in a new tab)5.1 KB
tests/test_platform_parsers_v4.py (opens in a new tab)14 KB
tests/test_query.py (opens in a new tab)5.6 KB
tests/test_query_type.py (opens in a new tab)6.9 KB
tests/test_relevance.py (opens in a new tab)5.2 KB
tests/test_render_v4.py (opens in a new tab)5.1 KB
tests/test_render_wechat.py (opens in a new tab)1.3 KB
tests/test_render_xss.py (opens in a new tab)1.4 KB
tests/test_score.py (opens in a new tab)4.3 KB
tests/test_search_fallbacks.py (opens in a new tab)3.6 KB
tests/test_skill_payload.py (opens in a new tab)1.6 KB
tests/test_sources_pipeline.py (opens in a new tab)7 KB
tests/test_trending.py (opens in a new tab)10.2 KB
tests/test_version.py (opens in a new tab)1.2 KB
tests/test_websearch.py (opens in a new tab)5.4 KB

Copies

These share its SKILL.md or its name and description but not all its files, so we list them separately.

More from Jesseovo/last30days-skill-cn

  • last30days-cn

    Jesseovo/last30days-skill-cn

    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/TikTok.

    • Touches credentials
    • Installs more skills
    • +5 more
    Pattern check: 2 items to review

    MIT · 2.0k repo stars · Updated 20 Oct 2026