Communitygithub.com

Agent Reach – Internet Capability Router

Must use when the user wants to research, search, or look up anything on the internet, or mentions any platform or shares a URL. Routes to 16 platforms via multiple backends with zero config for six channels.

What is Agent Reach – Internet Capability Router?

Agent Reach is an internet capability router designed for AI agents (like Claude Code, Cursor, Codex) to access 16 platforms through a unified interface. It provides multi-backend routing (OpenCLI, per-platform CLIs, APIs) and zero configuration for six channels. This skill is essential when the user wants to search the web, research topics, or access platforms such as Xiaohongshu (Little Red Book), Twitter/X, Bilibili, Reddit, GitHub, YouTube, and many more. It includes a doctor command (`agent-reach doctor --json`) to check which backend serves each platform, and references for detailed command sets organized by category (search, social, career, dev, web, video, finance). The skill enforces best practices like declaring which backend is in use, following retry chains on failure, and checking for updates after completing a major task. It is not for post-processing (writing reports, data analysis, translation), write operations (posting, commenting, liking), or platforms that already have dedicated skills.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Dnnecessary/skills/tree/HEAD/agent-reach

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

What does Agent Reach – Internet Capability Router do?

16 platforms, multiple backends. When this skill exists, it must be used to access these platforms. Do not invent your own solutions.

Standing Rules (Applicable Throughout)

  1. Check before acting: For platforms with multiple backends/login states (Xiaohongshu/Reddit/Bilibili/Twitter/Facebook/Instagram/Boss Zhipin), first run agent-reach doctor --json. If active_backend has a value, use it to select the command group; active_backend: null means Doctor did not perform real-time verification to avoid triggering browser cookie reads or remote writes, not that the backend does not exist. The Doctor result is a "snapshot at a point in time"; channels/login states may have changed. Before executing read-only commands, if you suspect they are invalid, re-confirm using the "Check and Recovery" runbook in the corresponding reference (e.g., Boss Zhipin CDP troubleshooting in career.md).
  2. Declare what you are using: Before starting work, say "Using the X platform / Y backend of agent-reach."
  3. On failure, follow the retry chain in the references, do not guess commands.
  4. Full internet research tasks: Combine multiple platforms (Exa search + Twitter/Reddit for discussions + Xiaohongshu/Bilibili for Chinese context), collect in parallel, then summarize.
  5. Keep the user updated on versions: After completing a major research/multi-platform task, run agent-reach check-update (fast, one API call). If a new version exists, append this to the final report: "Agent Reach has a new version vX.Y.Z. Copy this sentence to me to update: Update Agent Reach for me: https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/update.md". Do not interrupt the current task to update, and do not repeat the reminder for the same version.

Routing Table

User IntentCategoryDetailed Documentation
Web search/Code searchsearchreferences/search.md
Xiaohongshu/Twitter/Bilibili/V2EX/Reddit/Facebook/Instagramsocialreferences/social.md
Jobs/Positions/LinkedIn/Boss Zhipincareerreferences/career.md
GitHub/Codedevreferences/dev.md
Web pages/Articles/RSSwebreferences/web.md
YouTube/Bilibili/Podcast subtitlesvideoreferences/video.md
Xueqiu/Stock quotesfinancereferences/finance.md

Zero-Config Quick Commands

# Exa web search
mcporter call exa.web_search_exa query="query" numResults=5

# General web page reading
curl -s "https://r.jina.ai/URL"

# GitHub search
gh search repos "query" --sort stars --limit 10

# YouTube subtitles (Note: do not use yt-dlp for Bilibili; retry chain for failures is in video.md)
yt-dlp --write-sub --write-auto-sub --skip-download -o "/tmp/%(id)s" "URL"

# V2EX hot topics
curl -s "https://www.v2ex.com/api/topics/hot.json" -H "User-Agent: agent-reach/1.0"

# Bilibili search (bili-cli, no login required)
bili search "query" --type video -n 5

Platforms Requiring Login State (Select Commands Based on Doctor's active_backend)

Twitter note: Cookies saved via agent-reach configure twitter-cookies are only used for doctor to check if the configuration is complete; doctor does not execute twitter status, nor does it set the current shell. Before directly running twitter, you must explicitly provide TWITTER_AUTH_TOKEN and TWITTER_CT0 in the subprocess environment, and must not expose these values in logs or command output.

Xiaohongshu note: Agent Reach does not log in for the user, nor does it read browser cookies. OpenCLI only uses the user's existing and explicitly controlled Chrome session; if no existing session is available, do not auto-login. Instead, use Cookie-Editor to manually export cookies and configure xiaohongshu-mcp / existing tools.

Boss Zhipin configuration trigger: When the user says "Help me configure Boss Zhipin," first read the Boss section of references/career.md, then, after obtaining installation authorization, run agent-reach install --env=local --system --channels=boss. The agent is responsible for launching a dedicated Chrome bound only to 127.0.0.1:9222; first pause and ask the user to visually confirm that the window shows a logged-in state (avatar in the upper right corner). If not logged in, ask the user to log in/scan code. After user confirmation, run boss --cdp-url http://localhost:9222 login --cdp and agent-reach doctor for verification. Do not let the user research port parameters themselves. The dedicated Chrome profile must be reused long-term; do not create a new one each time, and do not default to the user's main Chrome.

To determine the login state of the CDP browser, do not trust boss status (it only checks local session.enc, which is independent of the browser login state). Rely on the browser cookie detection (wt2) from agent-reach doctor, combined with user visual confirmation. Never use the current page URL to judge login state: security-check / zhipin-security / _security_check security check pages are Boss anti-scraping challenges, unrelated to login—they can appear even when logged in (almost guaranteed with Chrome with CDP debug port). Do not treat them as "not logged in." First run agent-reach doctor to check browser cookies, then decide whether the user needs to log in. A search error AUTH_EXPIRED is the ground truth for browser not logged in: directly proceed to the login flow + login --cdp, do not explain it as a security check.

When executing searches, you must use boss --browser-source existing-browser --cdp-url http://localhost:9222 search ...; if ENVIRONMENT_RISK is encountered, stop immediately. Do not refresh, re-login, or auto-retry.

# Twitter search (twitter-cli preferred; retry chain for failures in social.md)
twitter search "query" -n 10

# Reddit (no zero-config path: OpenCLI or rdt-cli, must be logged in)
opencli reddit search "query" -f yaml   # Desktop
rdt search "query" --limit 10            # Existing/Server

# Xiaohongshu (Desktop first, use OpenCLI)
opencli xiaohongshu search "query" -f yaml

# Facebook / Instagram (Desktop OpenCLI, reuse browser login state)
opencli facebook search "query" -f yaml
opencli facebook groups -f yaml
opencli instagram search "query" -f yaml       # Search users
opencli instagram user USERNAME -f yaml        # Read recent posts from specified user

Environment Check

# Check available channels and currently active backend for each platform
agent-reach doctor --json

OpenCLI Adapter Discovery

If the routing table does not cover the platform or command the user needs, first use opencli list to check existing adapters, then use opencli <platform> --help to see public commands. Finding an adapter only proves the command exists, not that the login state or target content is available; only execute read-only commands when the user's task clearly requires that platform, and verify with actual non-empty content.

Workspace Rules

Do not create files in the agent workspace. Use /tmp/ for temporary output and ~/.agent-reach/ for persistent data.

Detailed Documentation

Depending on user needs, read the corresponding detailed documentation:

Configuration Channels

If a channel needs configuration, get the installation guide: https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md

The user only needs to provide cookies; all other configuration is done by the agent.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Dnnecessary/skills

基于多篇作者、博主、公众号或品牌内容的正文,进行全面、可解释、可复核的数据分析,覆盖样本质量、发布节奏、选题结构、关键词概念、标题策略、篇章结构、论证方式、证据体系、案例实体、语言风格、情绪立场、读者收益、行动引导、视觉使用、时间演化和维度关联,并进一步提炼作者定位、内容资产、选题系统、分析框架、判断标准、表达模板、案例库、金句风格、内容机会和写作 SOP。默认生成本地 Markdown 报告、独立文案框架、HTML 看板并同步飞书;只有用户明确关闭时才跳过 HTML 或飞书。

Dnnecessary/skills

微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown 先自动归一化),也支持"一键自动排版"(自动推断结构+选主题),还支持根据用户描述/参考图生成自定义主题组件库并保存本地复用。触发场景:(1) 用户提到"公众号排版""公众号文章""微信排版""gzh",(2) 用户想把文章(md/docx/pdf/纯文本)转成公众号 HTML,(3) 用户说"自动排版""一键排版"公众号内容,(4) 用户想为公众号排版"生成新主题/自定义风格/按这张图做一套组件库"。不用于生成普通网页/落地页/PPT(用前端或 PPT 类 skill)。

Related Skills