AgentStack
SKILL verified MIT Self-run

Agent Reach

skill-m4nush7-niche-claude-code-agent-reach · by M4NUSH7

>

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-m4nush7-niche-claude-code-agent-reach

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Agent Reach? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Agent Reach - zero-config internet research router

Source-acquisition layer for research: given a query or URL, this skill picks the right free, no-login tool and runs it. It never wraps or reimplements the upstream tool - it calls curl, gh, yt-dlp, feedparser, or mcporter directly and returns what they return.

This is a user-tier skill, not a harness component. It does not pin a model, run hooks, or require project setup - it works in any repo or none.

When to use this vs. deep-research

  • agent-reach = breadth + speed. Fan out across platforms quickly, pull

raw pages/threads/transcripts/repos, no synthesis.

  • deep-research = depth + trust. Takes sources (including ones this skill

gathered), verifies claims adversarially, cites, and writes the report.

For "research X" requests: use agent-reach to gather from 2-4 relevant platforms in parallel, then either synthesize directly or invoke deep-research on the combined material if the user wants a rigorous, cited writeup.

Zero-config channels (no key, no cookie, no login)

These six work immediately if the underlying tool is on PATH. Check once per session with scripts/check_tools.sh (or .ps1 on Windows) rather than guessing.

| Platform | Tool | Install if missing | |----------|------|---------------------| | Any web page | curl + Jina Reader | none (curl is preinstalled everywhere) | | YouTube | yt-dlp | pipx install yt-dlp or py -3 -m pip install yt-dlp | | GitHub | gh (GitHub CLI) | https://cli.github.com | | RSS/Atom feeds | Python feedparser | py -3 -m pip install feedparser | | V2EX | public JSON API via curl | none | | Web semantic search | mcporter + Exa MCP | npm install -g mcporter && mcporter config add exa https://mcp.exa.ai/mcp |

Bilibili is intentionally not included: upstream's most reliable path (bili-cli) is a separately-maintained third-party CLI, and full subtitle extraction needs a login-backed desktop Chrome session (OpenCLI) - neither is zero-config end to end. See references/channels.md for pointers if you need it later.

Run the smoke test before relying on a channel in a new environment:

bash scripts/check_tools.sh        # macOS / Linux / Git Bash on Windows
# or
powershell -File scripts/check_tools.ps1   # native Windows shell

It prints one line per channel: ok (tool responds), missing (not on PATH - install command shown), or error (installed but failed the smoke call, e.g. network down).

Commands

# Web page -> clean Markdown (works for almost any URL)
curl -s "https://r.jina.ai/"

# YouTube - metadata
yt-dlp --dump-json ""

# YouTube - subtitles (writes .vtt to /tmp, then read it)
yt-dlp --write-sub --write-auto-sub --sub-lang "en" --skip-download -o "/tmp/%(id)s" ""
cat /tmp/.*.vtt

# YouTube - search
yt-dlp --dump-json "ytsearch5:"

# GitHub - search repos / code
gh search repos "" --sort stars --limit 10
gh search code "" --language python

# GitHub - read a repo, issue, or PR
gh repo view /
gh issue view  -R /
gh pr view  -R /

# RSS/Atom feed -> latest entries
py -3 -c "
import feedparser
for e in feedparser.parse('').entries[:5]:
    print(f'{e.title} - {e.link}')
"

# V2EX - public JSON API, no auth
curl -s "https://www.v2ex.com/api/topics/hot.json" -H "User-Agent: agent-reach/1.0"
curl -s "https://www.v2ex.com/api/topics/show.json?node_name=python&page=1" -H "User-Agent: agent-reach/1.0"
curl -s "https://www.v2ex.com/api/topics/show.json?id=" -H "User-Agent: agent-reach/1.0"
curl -s "https://www.v2ex.com/api/replies/show.json?topic_id=&page=1" -H "User-Agent: agent-reach/1.0"

# Exa - AI semantic web search / code-context search
mcporter call 'exa.web_search_exa(query: "", numResults: 5)'
mcporter call 'exa.get_code_context_exa(query: "", tokensNum: 3000)'

Full per-channel notes (caveats, retry order, output-format tips): see references/channels.md.

Windows notes

  • Docs upstream say python3 - on Windows this can silently resolve to the

Microsoft Store alias instead of a real interpreter (python3 --version opens the Store, or where python3 points into ...\AppData\Local\Microsoft\WindowsApps\). Use py -3 instead, or the venv's own python.exe.

  • The OpenCLI-backed channels (Reddit, Facebook, Instagram, XiaoHongShu

desktop path) need a real desktop Chrome session with an extension installed - they do not work headless or from a cron/scheduled job. Skip them in non-interactive contexts; use the zero-config channels above instead.

  • gh and yt-dlp are plain executables and work the same on Windows once

on PATH; no shell-syntax changes needed for the commands above.

Optional setup: key/cookie-gated channels

Not included in the zero-config set above - only mention these if the user asks for that specific platform, and confirm they want to do the one-time setup first. Never ask for or store a credential value yourself; only name the environment variable and point to the upstream guide.

| Platform | Needs | Env var(s) (names only) | Verify with | |----------|-------|---------------------------|--------------| | Twitter/X search/timeline | Cookie export (Cookie-Editor) + twitter-cli | TWITTER_AUTH_TOKEN, TWITTER_CT0 | twitter search "test" -n 1 | | Reddit | Browser login session (no anonymous API) via OpenCLI, or rdt-cli + cookie | none required for OpenCLI path | rdt search "test" --limit 1 or opencli reddit search "test" -f yaml | | Facebook / Instagram | Desktop Chrome + OpenCLI extension, logged in | none (reuses browser session) | opencli facebook search "test" -f yaml | | XiaoHongShu | Desktop Chrome + OpenCLI, or server QR login via xiaohongshu-mcp | none (OpenCLI); QR for server | opencli xiaohongshu search "test" -f yaml | | LinkedIn | linkedin-scraper-mcp login session | none | mcporter call 'linkedin.get_person_profile(linkedin_url: "https://linkedin.com/in/test")' | | Xueqiu (stocks) | Browser cookie from a logged-in xueqiu.com session | none | see upstream docs/troubleshooting.md equivalent (Xueqiu section) | | Xiaoyuzhou podcast transcription | ffmpeg + free Groq API key | GROQ_API_KEY (fallback OPENAI_API_KEY) | curl -s https://api.groq.com/openai/v1/models -H "Authorization: Bearer $GROQ_API_KEY" -o /dev/null -w "%{http_code}" (expect 200) |

Setup guidance for each (where to get a free key, how to export a cookie, what the retry chain looks like) is in references/key-cookie-setup.md. The Xiaoyuzhou transcription script itself is bundled at scripts/transcribe_xiaoyuzhou.sh (requires ffmpeg and GROQ_API_KEY).

Workspace rules

Never write output files into the user's project/workspace directory. Use /tmp/ (or the OS temp dir on Windows) for transient output such as downloaded subtitles or transcripts.

Standing rules

  1. Announce the route: say "using agent-reach, platform X via tool Y"

before running a command, so the user can see which backend served the request.

  1. Combine platforms for broad research: e.g. Exa for general web +

GitHub for code + YouTube for tutorials + V2EX for Chinese-language tech-community perspectives - gather in parallel, then synthesize (or hand off to deep-research).

  1. **On failure, check references/channels.md for that channel's retry

order** before giving up or guessing a different command.

  1. Do not attempt key/cookie-gated channels unless the user confirms

they already completed that channel's one-time setup.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.