Compare commits

..

1 Commits

Author SHA1 Message Date
Hermes Pipeline 28b0c483b8 Add Skill: autonomous-web-research-agent
Extracted from: https://github.com/DennisDRX/Faraday-Web-Researcher-Agent.git
Score: 1.0
2026-08-10 17:05:01 +00:00
9 changed files with 130 additions and 110 deletions
@@ -0,0 +1,77 @@
---
name: autonomous-web-research-agent
version: 1.0.0
description: Autonomously research a given query on the web using multiple search
tools and generate a structured report with summary, detailed sections, source tracking,
and bias analysis.
inputs:
- 'query (string): the research question or topic to investigate'
- 'tools (list, optional): selected web search/tools to use (e.g., Tavily, Google,
NewsAPI, DuckDuckGo)'
- 'api_keys (dict, optional): credentials for LLM and external search APIs'
- 'model_config (dict, optional): LLM provider and parameters'
steps:
- 1. Accept user query and optional tool selections.
- '2. Initialize agent framework (e.g., LangGraph) with integrated tools: web search
(Tavily, Google, DuckDuckGo), news API, web scraping.'
- 3. Decompose query into sub-questions if needed and iteratively call tools to gather
relevant information.
- 4. Extract and deduplicate content from retrieved sources, tracking source metadata
(URL, tool used).
- 5. Use a large language model to synthesize findings into an executive summary and
detailed sections.
- 6. Analyze potential biases or limitations of gathered sources.
- 7. Compile a structured report object (ResearchReport) containing query, summary,
sections, sources, biases.
- 8. Optionally present report via a UI (e.g., Streamlit) or return as JSON.
outputs:
- 'ResearchReport (JSON/dict) with fields: query (string), summary (string), sections
(list of {heading, content}), sources (list of {url, tool_used, title}), potential_biases
(string)'
- Optional UI rendering of report with source badges and expandable sections
tags: []
metadata:
source_repo: https://github.com/DennisDRX/Faraday-Web-Researcher-Agent.git
extracted_at: ''
confidence: 0.85
---
# autonomous-web-research-agent
Autonomously research a given query on the web using multiple search tools and generate a structured report with summary, detailed sections, source tracking, and bias analysis.
## Steps
1. 1. Accept user query and optional tool selections.
2. 2. Initialize agent framework (e.g., LangGraph) with integrated tools: web search (Tavily, Google, DuckDuckGo), news API, web scraping.
3. 3. Decompose query into sub-questions if needed and iteratively call tools to gather relevant information.
4. 4. Extract and deduplicate content from retrieved sources, tracking source metadata (URL, tool used).
5. 5. Use a large language model to synthesize findings into an executive summary and detailed sections.
6. 6. Analyze potential biases or limitations of gathered sources.
7. 7. Compile a structured report object (ResearchReport) containing query, summary, sections, sources, biases.
8. 8. Optionally present report via a UI (e.g., Streamlit) or return as JSON.
## Inputs
- query (string): the research question or topic to investigate
- tools (list, optional): selected web search/tools to use (e.g., Tavily, Google, NewsAPI, DuckDuckGo)
- api_keys (dict, optional): credentials for LLM and external search APIs
- model_config (dict, optional): LLM provider and parameters
## Outputs
- ResearchReport (JSON/dict) with fields: query (string), summary (string), sections (list of {heading, content}), sources (list of {url, tool_used, title}), potential_biases (string)
- Optional UI rendering of report with source badges and expandable sections
## Failure Modes
- Missing or invalid API keys causing tool authentication failures
- Rate limits or network errors from search APIs
- Insufficient or low-quality search results leading to incomplete report
- LLM hallucination or mis-summarization despite source tracking
- Parsing errors in HTML/scraped content
## Source
Extracted from: [https://github.com/DennisDRX/Faraday-Web-Researcher-Agent.git](https://github.com/DennisDRX/Faraday-Web-Researcher-Agent.git)
Confidence: 0.85
@@ -0,0 +1,6 @@
# Commands: autonomous-web-research-agent
## Available Commands
- `/skill autonomous-web-research-agent` — Load this skill
- `/run autonomous-web-research-agent` — Execute workflow
@@ -0,0 +1,10 @@
# Examples: autonomous-web-research-agent
## Usage Example
```python
# How to use this skill
# Inputs: query (string): the research question or topic to investigate, tools (list, optional): selected web search/tools to use (e.g., Tavily, Google, NewsAPI, DuckDuckGo), api_keys (dict, optional): credentials for LLM and external search APIs, model_config (dict, optional): LLM provider and parameters
# Process: 1. Accept user query and optional tool selections. → 2. Initialize agent framework (e.g., LangGraph) with integrated tools: web search (Tavily, Google, DuckDuckGo), news API, web scraping. → 3. Decompose query into sub-questions if needed and iteratively call tools to gather relevant information.
# Outputs: ResearchReport (JSON/dict) with fields: query (string), summary (string), sections (list of {heading, content}), sources (list of {url, tool_used, title}), potential_biases (string), Optional UI rendering of report with source badges and expandable sections
```
@@ -0,0 +1,36 @@
{
"name": "autonomous-web-research-agent",
"version": "1.0.0",
"goal": "Autonomously research a given query on the web using multiple search tools and generate a structured report with summary, detailed sections, source tracking, and bias analysis.",
"inputs": [
"query (string): the research question or topic to investigate",
"tools (list, optional): selected web search/tools to use (e.g., Tavily, Google, NewsAPI, DuckDuckGo)",
"api_keys (dict, optional): credentials for LLM and external search APIs",
"model_config (dict, optional): LLM provider and parameters"
],
"steps": [
"1. Accept user query and optional tool selections.",
"2. Initialize agent framework (e.g., LangGraph) with integrated tools: web search (Tavily, Google, DuckDuckGo), news API, web scraping.",
"3. Decompose query into sub-questions if needed and iteratively call tools to gather relevant information.",
"4. Extract and deduplicate content from retrieved sources, tracking source metadata (URL, tool used).",
"5. Use a large language model to synthesize findings into an executive summary and detailed sections.",
"6. Analyze potential biases or limitations of gathered sources.",
"7. Compile a structured report object (ResearchReport) containing query, summary, sections, sources, biases.",
"8. Optionally present report via a UI (e.g., Streamlit) or return as JSON."
],
"outputs": [
"ResearchReport (JSON/dict) with fields: query (string), summary (string), sections (list of {heading, content}), sources (list of {url, tool_used, title}), potential_biases (string)",
"Optional UI rendering of report with source badges and expandable sections"
],
"failure_modes": [
"Missing or invalid API keys causing tool authentication failures",
"Rate limits or network errors from search APIs",
"Insufficient or low-quality search results leading to incomplete report",
"LLM hallucination or mis-summarization despite source tracking",
"Parsing errors in HTML/scraped content"
],
"confidence": 0.85,
"explanation": "The repository implements a generic autonomous web research agent that can be reused for any topical query. The workflow of querying, multi-tool retrieval, synthesis, and structured reporting is not domain-specific and can be extracted as a reusable skill.",
"source_repo": "https://github.com/DennisDRX/Faraday-Web-Researcher-Agent.git",
"score": 1.0
}
@@ -1,4 +1,4 @@
# Tests: text-concatenation # Tests: autonomous-web-research-agent
## Test Checklist ## Test Checklist
-61
View File
@@ -1,61 +0,0 @@
---
name: text-concatenation
version: 1.0.0
description: Concatenate two text inputs using Blacknode node graph
inputs:
- text_a
- text_b
steps:
- Create a Blacknode Graph instance
- Add a Text node with param value set to text_a
- Add a second Text node with param value set to text_b
- Add a Concat node that accepts inputs 'a' and 'b' and outputs 'value'
- Add an Output node with input port 'value'
- Connect first Text node 'value' port to Concat 'a' port
- Connect second Text node 'value' port to Concat 'b' port
- Connect Concat 'value' port to Output 'value' port
- Invoke graph cook on Output 'value' to evaluate and return result
outputs:
- concatenated_text
tags: []
metadata:
source_repo: https://github.com/temiroff/Blacknode.git
extracted_at: ''
confidence: 0.9
---
# text-concatenation
Concatenate two text inputs using Blacknode node graph
## Steps
1. Create a Blacknode Graph instance
2. Add a Text node with param value set to text_a
3. Add a second Text node with param value set to text_b
4. Add a Concat node that accepts inputs 'a' and 'b' and outputs 'value'
5. Add an Output node with input port 'value'
6. Connect first Text node 'value' port to Concat 'a' port
7. Connect second Text node 'value' port to Concat 'b' port
8. Connect Concat 'value' port to Output 'value' port
9. Invoke graph cook on Output 'value' to evaluate and return result
## Inputs
- text_a
- text_b
## Outputs
- concatenated_text
## Failure Modes
- Port name mismatch causes connection error
- Missing runtime or graph not initialized
- Cook on nonexistent node returns error
## Source
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
Confidence: 0.9
-6
View File
@@ -1,6 +0,0 @@
# Commands: text-concatenation
## Available Commands
- `/skill text-concatenation` — Load this skill
- `/run text-concatenation` — Execute workflow
-10
View File
@@ -1,10 +0,0 @@
# Examples: text-concatenation
## Usage Example
```python
# How to use this skill
# Inputs: text_a, text_b
# Process: Create a Blacknode Graph instance → Add a Text node with param value set to text_a → Add a second Text node with param value set to text_b
# Outputs: concatenated_text
```
-32
View File
@@ -1,32 +0,0 @@
{
"name": "text-concatenation",
"version": "1.0.0",
"goal": "Concatenate two text inputs using Blacknode node graph",
"inputs": [
"text_a",
"text_b"
],
"steps": [
"Create a Blacknode Graph instance",
"Add a Text node with param value set to text_a",
"Add a second Text node with param value set to text_b",
"Add a Concat node that accepts inputs 'a' and 'b' and outputs 'value'",
"Add an Output node with input port 'value'",
"Connect first Text node 'value' port to Concat 'a' port",
"Connect second Text node 'value' port to Concat 'b' port",
"Connect Concat 'value' port to Output 'value' port",
"Invoke graph cook on Output 'value' to evaluate and return result"
],
"outputs": [
"concatenated_text"
],
"failure_modes": [
"Port name mismatch causes connection error",
"Missing runtime or graph not initialized",
"Cook on nonexistent node returns error"
],
"confidence": 0.9,
"explanation": "The repo contains example converted workflows; converted_text_pipeline.py demonstrates a simple reusable pattern of two source nodes feeding a concatenation node into an output, applicable to any string joining task in Blacknode.",
"source_repo": "https://github.com/temiroff/Blacknode.git",
"score": 1.0
}