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.
npx skills add nexus-research-lab/nexus --skill wechat-article-searchgit clone --depth 1 https://github.com/nexus-research-lab/nexusWrote 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.
[](https://agentmods.dev/skills/nexus-research-lab/nexus/wechat-article-search)<a href="https://agentmods.dev/skills/nexus-research-lab/nexus/wechat-article-search"><img src="https://agentmods.dev/badge/skills/nexus-research-lab/nexus/wechat-article-search/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.
<a href="https://agentmods.dev/skills/nexus-research-lab/nexus/wechat-article-search"><img src="https://agentmods.dev/badge/skills/nexus-research-lab/nexus/wechat-article-search.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00102 | $0.01650 |
| Opus 5 | $0.00051 | $0.00825 |
| Sonnet 5 | $0.00020 | $0.00330 |
| Haiku 4.5 | $0.00010 | $0.00165 |
Grade A, and why
wechat-article-search 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.
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.
How it starts
The opening of the file, as written. The whole thing — 163 lines — stays where its author put it; the contents beside it link to each section on GitHub.
微信公众号文章搜索
按关键词发现微信公众号文章,并把可核验的搜索结果整理给用户。默认使用内置 Python
脚本访问搜狗微信搜索;脚本依赖 requests 与 beautifulsoup4。当本机缺少 Python、
依赖未安装、来源限流或页面结构暂时不可解析时,再使用 WebSearch / WebFetch 做明确
标注的降级检索。
运行依赖
需要 Python 3.10+、requests 和 beautifulsoup4。执行前先检查:
python3 --version
python3 -c "import requests, bs4"
如果 Python 包缺失,先向用户说明需要安装依赖,并在用户同意后执行:
python3 -m pip install -r "${CLAUDE_SKILL_DIR}/requirements.txt"
不要静默安装依赖,也不要改动用户现有的 Python 环境。
请求策略
requests负责 HTTP 会话、Cookie 和超时,BeautifulSoup负责解析搜索结果 DOM。- 每次请求从有限的浏览器 User-Agent 池中选择一个,并在请求前访问搜狗视频入口预热会话。
- 搜索请求会带基础搜狗 Cookie,并叠加预热响应提供的
SNUID;这只是兼容搜狗搜索页的 请求策略,不代表拥有微信文章访问权限。 - 仍然采用低频人工请求、固定延迟和一次重试;遇到验证码、反爬或限流就停止。
执行流程
- 从用户请求提取关键词、数量和是否需要直达微信链接。数量未指定时用 10,最大 50; 不要为了默认值额外追问。
- 先运行脚本。
${CLAUDE_SKILL_DIR}在 nxs 与 Claude Code 中都会展开为当前 Skill 的真实目录:
python3 "${CLAUDE_SKILL_DIR}/scripts/search.py" "关键词" --num 10
- 读取 stdout JSON,按结果格式回答。不要把脚本的“0 条”扩写成“网上没有”; 它只表示本次来源没有返回可解析结果。
- 只有用户明确要求
mp.weixin.qq.com直达链接,或后续任务确实需要抓取正文时,才使用--resolve-url。链接解析会逐条增加请求,建议一次不超过 10 篇:
python3 "${CLAUDE_SKILL_DIR}/scripts/search.py" "关键词" --num 5 --resolve-url
- 用户要求保存时才传
--output,优先写入用户指定目录;未指定目录时先给结果,不要自行 把文件散落在 workspace 根目录:
python3 "${CLAUDE_SKILL_DIR}/scripts/search.py" "关键词" --num 20 --output "research/wechat-results.json"
排序
默认保持搜索相关性顺序。用户明确要“最新”“最近”时,使用 --sort latest;这只会对本次
检索到的结果按可解析发布时间降序排列,不能宣称覆盖全部公众号文章:
python3 "${CLAUDE_SKILL_DIR}/scripts/search.py" "关键词" --num 20 --sort latest
降级检索
遇到以下情况时停止重复调用脚本,改走降级链路:
python3不存在,或 stderr 的错误码是dependency_missing;- stderr 的错误码是
antispider、rate_limited或page_changed; - 连续一次正常重试后仍是网络错误。
使用 WebSearch 搜索:
site:mp.weixin.qq.com/s "关键词"
对最多 5 个高相关结果用 WebFetch 核验标题、公众号和发布时间。只返回工具真实提供的
字段;无法核验的字段写“未核验”,不要从 URL、摘要或账号习惯推断。回答中说明“搜狗微信
检索不可用,以下来自公开网页索引”,避免把降级结果伪装成同一数据源。
如果 WebSearch 也未配置或失败,直接说明当前缺少可用搜索来源,并给出可执行建议:
稍后重试、缩短关键词、去掉特殊字符,或让用户提供候选链接。不要循环请求触发更严格限流。
What ships with it
6 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.
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.
- 11d ago First seen · 163 lines · 102 tokens per session scan A 3c747bfdd028
wechat-article-search is a skill published in the GitHub repository nexus-research-lab/nexus (145 stars, last pushed today), licensed Apache-2.0. It adds 102 tokens to every session and 1,650 once invoked, about $0.0005 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-30.
Other skills, from other repositories
langbot-plugin-dev
Develop, debug, and test LangBot plugins. Use when creating new LangBot plugins, fixing plugin bugs, setting up a LangBot test environment, or testing plugins via WebSocket. Covers plugin component architecture (EventListener, Command, Tool), the plugin SDK API (invokellm, getllmmodels, sendmessage, plugin storage)…
langbot-dev
Develop, build, and debug the LangBot core backend and web frontend. Use when working inside the LangBot repository — backend (Python/Quart, src/langbot/pkg), the Vite/React web UI, HTTP API controllers/services, Alembic migrations, or the MCP server. Covers the dev environment (uv, pnpm), repo layout, the API auth…
harness-creator
Build, audit, and improve harnesses that make AI coding agents reliable: AGENTS.md/CLAUDE.md instruction files, feature/state tracking, verification gates, scope boundaries, session handoff, memory persistence, context budgets, tool-permission safety, and multi-agent coordination. Use this whenever a coding agent is…
langbot-skills-maintenance
Maintain the langbot-skills repository with low duplication. Use when adding, editing, or auditing LangBot skills, references, cases, troubleshooting entries, indexes, or periodic entropy-control checks for this skills repository.
langbot-env-setup
Prepare a local LangBot development and testing environment for an AI agent. Use when setting up WSL or Linux development, shared local URL variables, proxy variables, backend/frontend startup, Playwright MCP browser access, GitHub OAuth browser login, persisted Chrome profiles, or future Codex computer-use…
langbot-deploy
Deploy and configure a LangBot instance — Docker / Docker Compose, Kubernetes, the config.yaml model, the Box sandbox runtime, the plugin runtime, and the global API key. Use when installing, deploying, upgrading, or configuring LangBot in production or self-hosted environments. Triggers on "deploy langbot", "langbot…