Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f8d430ebd9 |
@@ -1,77 +0,0 @@
|
||||
---
|
||||
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
|
||||
@@ -1,6 +0,0 @@
|
||||
# Commands: autonomous-web-research-agent
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill autonomous-web-research-agent` — Load this skill
|
||||
- `/run autonomous-web-research-agent` — Execute workflow
|
||||
@@ -1,10 +0,0 @@
|
||||
# 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
|
||||
```
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
---
|
||||
name: graph-based-node-workflow
|
||||
version: 1.0.0
|
||||
description: Create and execute typed node graphs for AI/robotics workflows by defining
|
||||
nodes with inputs/outputs and connecting them with edges, then cooking the graph
|
||||
to run the workflow.
|
||||
inputs:
|
||||
- bn.Graph() - the graph container for the workflow
|
||||
- Node definitions (Literal, Text, LLMAgent, Concat, Output, etc.) with specified
|
||||
inputs and outputs
|
||||
- Edge connections mapping from_port to to_port between nodes
|
||||
steps:
|
||||
- 'Step 1: Initialize a bn.Graph() instance to serve as the workflow container'
|
||||
- 'Step 2: Define individual nodes with their required inputs and outputs (e.g., Literal
|
||||
for data, LLMAgent for inference, Concat for combining, Output for final results)'
|
||||
- 'Step 3: Create edges connecting nodes by specifying source from_port and destination
|
||||
to_port for each data flow'
|
||||
- 'Step 4: Execute the graph by calling g.cook() to process the defined workflow and
|
||||
produce results'
|
||||
outputs:
|
||||
- Executed workflow results stored in the graph's output nodes
|
||||
- Cooked graph ready for inspection, replay, or deployment
|
||||
- Potential error states if node dependencies are missing or ports don't match
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/temiroff/Blacknode.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# graph-based-node-workflow
|
||||
|
||||
Create and execute typed node graphs for AI/robotics workflows by defining nodes with inputs/outputs and connecting them with edges, then cooking the graph to run the workflow.
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install blacknode (core Python package) anthropic, openai, docker, petgraph (dependencies) Rust extensions in blacknode-core, blacknode-runtime (optional)
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. Install blacknode with Python 3.11+ and required dependencies
|
||||
1. Clone repository and navigate to project directory
|
||||
1. Run examples/converted_text_pipeline.py to see basic graph execution
|
||||
1. Modify node definitions and edges to create custom workflows
|
||||
|
||||
## Key Files
|
||||
|
||||
- `examples/converted_text_pipeline.py - basic pipeline pattern`
|
||||
- `examples/hello_agent.py - LLM agent workflow pattern`
|
||||
- `examples/research_pipeline.py - multi-node research workflow`
|
||||
- `blacknode.py - main CLI entry point`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Step 1: Initialize a bn.Graph() instance to serve as the workflow container
|
||||
2. Step 2: Define individual nodes with their required inputs and outputs (e.g., Literal for data, LLMAgent for inference, Concat for combining, Output for final results)
|
||||
3. Step 3: Create edges connecting nodes by specifying source from_port and destination to_port for each data flow
|
||||
4. Step 4: Execute the graph by calling g.cook() to process the defined workflow and produce results
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
g = bn.Graph()
|
||||
```
|
||||
|
||||
```python
|
||||
g._edges = [{"from": "model", "from_port": "value", "to": "agent", "to_port": "model"}]
|
||||
```
|
||||
|
||||
```python
|
||||
result = g.cook(output, "value")
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- bn.Graph() - the graph container for the workflow
|
||||
- Node definitions (Literal, Text, LLMAgent, Concat, Output, etc.) with specified inputs and outputs
|
||||
- Edge connections mapping from_port to to_port between nodes
|
||||
|
||||
## Outputs
|
||||
|
||||
- Executed workflow results stored in the graph's output nodes
|
||||
- Cooked graph ready for inspection, replay, or deployment
|
||||
- Potential error states if node dependencies are missing or ports don't match
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- Missing node dependencies causing undefined variable errors
|
||||
- Port mismatch in edge connections leading to no data flow
|
||||
- Incomplete graph definition causing cook() to fail
|
||||
- Model API key missing or invalid for LLMAgent nodes
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
|
||||
Confidence: 0.95
|
||||
@@ -0,0 +1,6 @@
|
||||
# Commands: graph-based-node-workflow
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill graph-based-node-workflow` — Load this skill
|
||||
- `/run graph-based-node-workflow` — Execute workflow
|
||||
@@ -0,0 +1,10 @@
|
||||
# Examples: graph-based-node-workflow
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: bn.Graph() - the graph container for the workflow, Node definitions (Literal, Text, LLMAgent, Concat, Output, etc.) with specified inputs and outputs, Edge connections mapping from_port to to_port between nodes
|
||||
# Process: Step 1: Initialize a bn.Graph() instance to serve as the workflow container → Step 2: Define individual nodes with their required inputs and outputs (e.g., Literal for data, LLMAgent for inference, Concat for combining, Output for final results) → Step 3: Create edges connecting nodes by specifying source from_port and destination to_port for each data flow
|
||||
# Outputs: Executed workflow results stored in the graph's output nodes, Cooked graph ready for inspection, replay, or deployment, Potential error states if node dependencies are missing or ports don't match
|
||||
```
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"name": "graph-based-node-workflow",
|
||||
"version": "1.0.0",
|
||||
"goal": "Create and execute typed node graphs for AI/robotics workflows by defining nodes with inputs/outputs and connecting them with edges, then cooking the graph to run the workflow.",
|
||||
"inputs": [
|
||||
"bn.Graph() - the graph container for the workflow",
|
||||
"Node definitions (Literal, Text, LLMAgent, Concat, Output, etc.) with specified inputs and outputs",
|
||||
"Edge connections mapping from_port to to_port between nodes"
|
||||
],
|
||||
"steps": [
|
||||
"Step 1: Initialize a bn.Graph() instance to serve as the workflow container",
|
||||
"Step 2: Define individual nodes with their required inputs and outputs (e.g., Literal for data, LLMAgent for inference, Concat for combining, Output for final results)",
|
||||
"Step 3: Create edges connecting nodes by specifying source from_port and destination to_port for each data flow",
|
||||
"Step 4: Execute the graph by calling g.cook() to process the defined workflow and produce results"
|
||||
],
|
||||
"outputs": [
|
||||
"Executed workflow results stored in the graph's output nodes",
|
||||
"Cooked graph ready for inspection, replay, or deployment",
|
||||
"Potential error states if node dependencies are missing or ports don't match"
|
||||
],
|
||||
"failure_modes": [
|
||||
"Missing node dependencies causing undefined variable errors",
|
||||
"Port mismatch in edge connections leading to no data flow",
|
||||
"Incomplete graph definition causing cook() to fail",
|
||||
"Model API key missing or invalid for LLMAgent nodes"
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "This workflow pattern is reusable across different AI/robotics applications because it provides a standardized way to compose complex pipelines from typed nodes. The pattern can be adapted to various use cases like research pipelines, agent workflows, or robotics control graphs by simply adding/removing nodes and edges while maintaining the same graph-cooking execution model.",
|
||||
"source_repo": "https://github.com/temiroff/Blacknode.git",
|
||||
"score": 1.0
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# Tests: autonomous-web-research-agent
|
||||
# Tests: graph-based-node-workflow
|
||||
|
||||
## Test Checklist
|
||||
|
||||
Reference in New Issue
Block a user