web-research

Searches the web and extracts page content via SearXNG, Trafilatura, and Playwright.

1|Updated Aug 13, 2026
One-click install
npx skills add https://github.com/corv89/hermes-stack --skill web-research-corv89
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: web-research
Source: https://github.com/corv89/hermes-stack/tree/main/skills/web-research
Command: npx skills add https://github.com/corv89/hermes-stack --skill web-research-corv89

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Built-in web extraction tools in this deployment are not configured and fail, leaving no working way to search the web or fetch page content. This Skill routes research through the in-pod web-tools stack so search and extraction work without external API keys. ## Core Features & Use Cases - Meta Search: Query SearXNG for aggregated results from Google, DuckDuckGo, Brave, Bing, and Wikipedia. - Fast Extraction: Pull article text, title, author, and date from any URL using Trafilatura. - JS-Rendered Fallback: Render JavaScript-heavy pages and SPAs with Playwright when static extraction returns nothing. - Use Case: A user asks for current information on a topic. Search SearXNG for relevant URLs, extract the top results with Trafilatura, fall back to Playwright for any JS-rendered pages, then synthesize an answer with cited sources. ## Quick Start Research the latest developments in local LLM inference and summarize the top three sources with links.

Frequently Asked Questions about web-research

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search the web without an API key?

Query the SearXNG endpoint at $SEARXNG_URL with a GET request to /search?q=<query>&format=json. It aggregates results from Google, DuckDuckGo, Brave, Bing, and Wikipedia, returning title, URL, and content snippets for each result.

How to extract text content from a URL?

POST the URL as JSON to the Trafilatura endpoint at $TRAFILATURA_URL/extract. It returns the page title, author, date, and main content text. Trafilatura is fast and should always be tried before heavier extraction methods.

Trafilatura vs Playwright for web scraping?

Trafilatura is fast and cheap, handling static pages well, so use it first. Playwright renders pages in a real browser and is much slower, so reserve it for JavaScript-heavy SPAs where Trafilatura returns empty content or a JS-rendered error.

Why does web_extract or the browser tool fail in this deployment?

The built-in web_extract and browser tools expect external Firecrawl or Browserbase services that are not running in this stack. Use the in-pod Trafilatura and Playwright endpoints via curl instead; only the built-in web_search works since it is wired to SearXNG.

Can the SearXNG and extraction endpoints be exposed publicly?

No, the endpoints are pod-internal and reachable only on localhost. They must never be exposed publicly, and request volume against SearXNG should stay reasonable since it aggregates public search engines.