From ppt-agent
Searches and reads from web pages, GitHub, YouTube, Reddit, Twitter/X, Bilibili using curl, gh, yt-dlp. Probes tools, degrades gracefully without external deps.
npx claudepluginhub zengwenliang416/ppt-agent --plugin ppt-agentThis skill is limited to using the following tools:
Self-contained skill for searching and reading across 14+ platforms. No external installer needed — uses upstream CLI tools directly and degrades gracefully when specific tools are absent.
Provides CLI access to 17 platforms (Twitter, Reddit, GitHub, YouTube, Bilibili, Weibo, etc.) for search, reading URLs, transcripts, RSS. Zero-config for 8 channels; routes by intent on web/platform queries.
Gives AI coding agents internet access to Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu, and more via free CLI tools—no paid APIs. Installs with pip and configures channels for scraping and search.
Generates invocations for ferris-search MCP tools like web_search, fetch_web_content, fetch_github_readme, and domain-specific article fetchers. Explains tool usage, parameters, and troubleshooting.
Share bugs, ideas, or general feedback.
Self-contained skill for searching and reading across 14+ platforms. No external installer needed — uses upstream CLI tools directly and degrades gracefully when specific tools are absent.
Detect which tools are available before choosing commands:
bash skills/agent-reach/scripts/probe.sh
Output is JSON with two sections:
tools: which CLI tools are on PATH (curl, gh, yt-dlp, xreach, mcporter, python3, feedparser)services: which services are reachable — jina (Jina Reader), mcporter_servers (comma-separated list of registered MCP servers, e.g. "exa,xiaohongshu")Only use mcporter commands for servers listed in mcporter_servers. For example, if weibo is not in the list, the mcporter call 'weibo.*' commands below will fail — skip them and use the fallback instead.
If probe itself fails, assume only curl and WebSearch tool are available.
These work on any machine with curl. No setup needed.
curl -s "https://r.jina.ai/<URL>"
Handles: articles, blog posts, documentation, most public web pages. This is the universal fallback for reading any URL.
# Search
curl -s "https://www.reddit.com/search.json?q=QUERY&limit=10" -H "User-Agent: ppt-agent/1.0"
# Subreddit hot posts
curl -s "https://www.reddit.com/r/SUBREDDIT/hot.json?limit=10" -H "User-Agent: ppt-agent/1.0"
Server IPs may get 403. Fall back to Exa search (Tier 2) or WebSearch tool.
curl -s "https://www.v2ex.com/api/topics/hot.json" -H "User-Agent: ppt-agent/1.0"
curl -s "https://www.v2ex.com/api/topics/show.json?id=TOPIC_ID" -H "User-Agent: ppt-agent/1.0"
Available on most developer machines. Check probe output before using.
gh CLI)gh search repos "query" --sort stars --limit 10
gh repo view owner/repo
gh search code "query" --language python
gh issue list -R owner/repo --state open
Fallback:
curl -s "https://r.jina.ai/https://github.com/owner/repo"
yt-dlp)# YouTube — metadata
yt-dlp --dump-json "URL"
# YouTube — subtitles
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --skip-download -o "/tmp/%(id)s" "URL"
# YouTube — search
yt-dlp --dump-json "ytsearch5:query"
# Bilibili — same tool
yt-dlp --dump-json "https://www.bilibili.com/video/BVxxx"
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --convert-subs vtt --skip-download -o "/tmp/%(id)s" "URL"
Bilibili on servers may get 412. Use
--cookies-from-browser chromeif available. Fallback:curl -s "https://r.jina.ai/<video_url>"
python3 + feedparser)python3 -c "
import feedparser
for e in feedparser.parse('FEED_URL').entries[:5]:
print(f'{e.title} — {e.link}')
"
If feedparser not installed:
pip install feedparser
These unlock platform-specific search. Check probe output — only use if available.
mcporter, requires exa in mcporter_servers)mcporter call 'exa.web_search_exa(query: "query", numResults: 5)'
Best general-purpose web search. Fallback:
WebSearchtool.
xreach)xreach search "query" -n 10 --json # search
xreach tweet URL_OR_ID --json # read single tweet
xreach tweets @username -n 20 --json # user timeline
xreach thread URL_OR_ID --json # full thread
Needs cookies configured. Proxy:
xreach search "query" --proxy "http://host:port"Fallback:mcporter call 'exa.web_search_exa(query: "site:x.com query")'or Jina Reader for single tweets.
mcporter, requires xiaohongshu in mcporter_servers)mcporter call 'xiaohongshu.search_feeds(keyword: "query")'
mcporter call 'xiaohongshu.get_feed_detail(feed_id: "xxx", xsec_token: "yyy")'
Requires Docker + login. Fallback: Jina Reader for individual note URLs.
mcporter, requires douyin in mcporter_servers)mcporter call 'douyin.parse_douyin_video_info(share_link: "https://v.douyin.com/xxx/")'
No login needed. Fallback: Jina Reader.
mcporter, requires weibo in mcporter_servers)mcporter call 'weibo.get_trendings(limit: 10)'
mcporter call 'weibo.search_weibo(keyword: "query", count: 10)'
No auth required. Fallback: Exa
site:weibo.comsearch or Jina Reader.
mcporter, requires linkedin in mcporter_servers)mcporter call 'linkedin.get_person_profile(linkedin_url: "https://linkedin.com/in/username")'
Fallback:
curl -s "https://r.jina.ai/https://linkedin.com/in/username"
WeChat articles block Jina/curl. Needs specialized tools (miku_ai for search, Camoufox for reading). Fallback: Exa site:mp.weixin.qq.com or WebSearch.
When a tool is missing, degrade — never block:
| Situation | Fallback |
|---|---|
mcporter missing or exa not in servers | WebSearch tool for web search |
xreach missing | Exa site:x.com search, or Jina Reader for single tweet URLs |
yt-dlp missing | Jina Reader: curl -s "https://r.jina.ai/<video_url>" |
gh missing | Jina Reader: curl -s "https://r.jina.ai/<github_url>" |
| mcporter server not registered (weibo, douyin, etc.) | Jina Reader for URLs, Exa site: search, or skip platform |
curl missing | WebSearch tool + WebFetch tool |
| All tools missing | WebSearch tool only — still functional for research |
The minimum viable setup is zero tools installed — the agent always has WebSearch as the ultimate fallback.
WebSearch tool.--cookies-from-browser chrome or use Jina Reader.--proxy flag, or fall back to Exa site:x.com search.WebSearch for search queries.This skill's command reference and platform architecture are derived from Agent Reach by Agent Eyes, licensed under the MIT License.