Compare commits

..

1 Commits

Author SHA1 Message Date
Hermes Pipeline 27789456db Add Skill: conditional-input-routing
Extracted from: https://github.com/jwwelbor/AgentMap.git
Score: 1.0
2026-08-08 23:48:40 +00:00
9 changed files with 151 additions and 130 deletions
@@ -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
}
+73
View File
@@ -0,0 +1,73 @@
---
name: conditional-input-routing
version: 1.0.0
description: Collect user input, classify or branch on its content, and route to appropriate
success or failure handling paths to produce a final result
inputs:
- name: request
type: string
description: User-provided input or request to be evaluated
steps:
- name: Start
action: input agent captures initial request into state
agent_type: input
output_field: request
- name: Classify
action: branching agent evaluates request and routes to next_node or on_failure
agent_type: branching
input_fields: request
output_field: decision
next_node: Approve
on_failure: Reject
- name: Approve
action: default agent processes approved request and sets result
agent_type: default
input_fields: request
output_field: result
prompt: 'Request approved: {request}'
- name: Reject
action: default agent processes rejected request and sets result
agent_type: default
input_fields: request
output_field: result
prompt: 'Request rejected: {request}'
outputs:
- name: result
type: string
description: Final output from either the approve or reject branch
tags: []
metadata:
source_repo: https://github.com/jwwelbor/AgentMap.git
extracted_at: ''
confidence: 0.9
---
# conditional-input-routing
Collect user input, classify or branch on its content, and route to appropriate success or failure handling paths to produce a final result
## Steps
1. {'name': 'Start', 'action': 'input agent captures initial request into state', 'agent_type': 'input', 'output_field': 'request'}
2. {'name': 'Classify', 'action': 'branching agent evaluates request and routes to next_node or on_failure', 'agent_type': 'branching', 'input_fields': 'request', 'output_field': 'decision', 'next_node': 'Approve', 'on_failure': 'Reject'}
3. {'name': 'Approve', 'action': 'default agent processes approved request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request approved: {request}'}
4. {'name': 'Reject', 'action': 'default agent processes rejected request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request rejected: {request}'}
## Inputs
- {'name': 'request', 'type': 'string', 'description': 'User-provided input or request to be evaluated'}
## Outputs
- {'name': 'result', 'type': 'string', 'description': 'Final output from either the approve or reject branch'}
## Failure Modes
- Input node fails to capture request (handled by on_failure if defined)
- Branching condition not met and no on_failure path defined
- Missing input_fields in state causing agent execution error
## Source
Extracted from: [https://github.com/jwwelbor/AgentMap.git](https://github.com/jwwelbor/AgentMap.git)
Confidence: 0.9
@@ -0,0 +1,6 @@
# Commands: conditional-input-routing
## Available Commands
- `/skill conditional-input-routing` — Load this skill
- `/run conditional-input-routing` — Execute workflow
@@ -0,0 +1,10 @@
# Examples: conditional-input-routing
## Usage Example
```python
# How to use this skill
# Inputs: {'name': 'request', 'type': 'string', 'description': 'User-provided input or request to be evaluated'}
# Process: {'name': 'Start', 'action': 'input agent captures initial request into state', 'agent_type': 'input', 'output_field': 'request'} → {'name': 'Classify', 'action': 'branching agent evaluates request and routes to next_node or on_failure', 'agent_type': 'branching', 'input_fields': 'request', 'output_field': 'decision', 'next_node': 'Approve', 'on_failure': 'Reject'} → {'name': 'Approve', 'action': 'default agent processes approved request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request approved: {request}'}
# Outputs: {'name': 'result', 'type': 'string', 'description': 'Final output from either the approve or reject branch'}
```
@@ -0,0 +1,61 @@
{
"name": "conditional-input-routing",
"version": "1.0.0",
"goal": "Collect user input, classify or branch on its content, and route to appropriate success or failure handling paths to produce a final result",
"inputs": [
{
"name": "request",
"type": "string",
"description": "User-provided input or request to be evaluated"
}
],
"steps": [
{
"name": "Start",
"action": "input agent captures initial request into state",
"agent_type": "input",
"output_field": "request"
},
{
"name": "Classify",
"action": "branching agent evaluates request and routes to next_node or on_failure",
"agent_type": "branching",
"input_fields": "request",
"output_field": "decision",
"next_node": "Approve",
"on_failure": "Reject"
},
{
"name": "Approve",
"action": "default agent processes approved request and sets result",
"agent_type": "default",
"input_fields": "request",
"output_field": "result",
"prompt": "Request approved: {request}"
},
{
"name": "Reject",
"action": "default agent processes rejected request and sets result",
"agent_type": "default",
"input_fields": "request",
"output_field": "result",
"prompt": "Request rejected: {request}"
}
],
"outputs": [
{
"name": "result",
"type": "string",
"description": "Final output from either the approve or reject branch"
}
],
"failure_modes": [
"Input node fails to capture request (handled by on_failure if defined)",
"Branching condition not met and no on_failure path defined",
"Missing input_fields in state causing agent execution error"
],
"confidence": 0.9,
"explanation": "Extracted from AgentMap's documented conditional workflow example (ReviewFlow). This CSV-declared pattern of input to branching to dual-path handling is reusable for any approval, triage, or routing scenario without writing orchestration code.",
"source_repo": "https://github.com/jwwelbor/AgentMap.git",
"score": 1.0
}
@@ -1,4 +1,4 @@
# Tests: autonomous-web-research-agent # Tests: conditional-input-routing
## Test Checklist ## Test Checklist