Install
$ agentstack add skill-cyranob-web-forager-deep-research ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Deep Research
This skill guides you through a structured deep research workflow: multi-angle search, selective full-page fetching, and synthesis into a polished, cited report.
Tools available
Search — run the packaged Web Forager CLI with uvx:
uvx --python '>=3.10,=3.10,=9.5.2' python - =3.10,<3.14' web-forager fetch "https://example.com" --format markdown
If uvx cannot run the packaged CLI, call Jina Reader directly:
curl -s "https://r.jina.ai/https://example.com"
No API key needed.
If MCP search/fetch tools are available in the session (e.g., mcp__web_forager__search, mcp__duckduckgo__search, or similar), prefer those over the above — they're faster and already wired in.
Research workflow
Step 1 — Understand the research question
Before searching, take a moment to understand what's actually being asked:
- What's the core question or goal?
- What kind of information would fully answer it? (facts, comparisons, recent news, how-tos, etc.)
- Are there multiple angles worth exploring?
Step 2 — Multi-angle search strategy
Don't search just once. Run 2–3 searches with different query framings to get broader coverage. Think about:
- A direct/obvious query ("Python async best practices 2024")
- A more specific angle ("asyncio pitfalls production")
- An alternative framing ("FastAPI async vs sync performance comparison")
Run all searches, collect results. Don't fetch URLs yet — evaluate snippets first.
Step 3 — Select URLs to fetch
From all the search results, pick the 3–5 most promising URLs based on:
- Relevance: does the snippet suggest genuine depth on the topic?
- Source quality: authoritative sources, docs, reputable publications over SEO filler
- Diversity: don't pick 5 URLs from the same site — spread across sources
- Recency: prefer recent sources for fast-moving topics
Briefly explain your URL selection to the user before fetching — this builds trust and lets them redirect you if you've chosen poorly.
Step 4 — Fetch full content
Fetch each selected URL using the uvx fetch command above. Use markdown format (default). If a fetch fails, skip that URL and note it in your sources section.
For very long pages, focus on the most relevant sections rather than including everything.
Step 5 — Synthesize the report
Write a structured report using the format below. The goal is a document the user can actually use — not a stream of consciousness, not a list of quotes.
Output format — adaptive
Scale the report to match the question. Not every question needs a 5-section report.
Quick answer (simple factual question, single-topic lookup)
When the user just needs a fact, a date, a comparison, or a short answer:
## [Answer title]
Direct answer in 2–4 sentences, with the key fact front and center.
**Sources:** [Title](url), [Title](url)
Standard report (most research questions)
# [Research title]
## Summary
2–4 sentence TL;DR that answers the core question directly.
## Key findings
- Bullet points of the most important, concrete things you learned
- Each bullet should stand alone — avoid "according to source X, ..."
- Include numbers, dates, specifics where available
## Sources
1. [Title](url) — one line describing what this source contributed
Deep dive (complex, multi-faceted, or strategic questions)
# [Research title]
## Summary
2–4 sentence TL;DR that answers the core question directly.
## Key findings
- Concrete bullet points with numbers, dates, specifics
## [Topic sections — 2–4 sections, named for what they cover]
Prose paragraphs going deeper on each major aspect.
Cite sources inline as [Source Name](url).
## Limitations & gaps
What you couldn't find, what's uncertain, where the user should dig further.
## Sources
1. [Title](url) — one line describing what this source contributed
2. [Title](url) — ...
Use your judgment. The goal is: give the user the right amount of information, not the maximum amount.
Quality reminders
- Attribute claims: when you state something specific you learned from a source, cite it
- Don't hallucinate: if you don't find something, say so in Limitations
- Be concrete: vague summaries are useless. Dates, numbers, names, versions
- Stay focused: it's easy to go wide; keep the report centered on what was actually asked
- Fresh eyes on the draft: before presenting, re-read and cut anything repetitive or filler
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: CyranoB
- Source: CyranoB/web-forager
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.