Compare commits

..

1 Commits

Author SHA1 Message Date
Hermes Pipeline dc9053fa1d Add Skill: multi-agent-sequential-workflow
Extracted from: https://github.com/omerbsezer/Fast-LLM-Agent-MCP.git
Score: 1.0
2026-08-05 15:46:04 +00:00
6 changed files with 99 additions and 89 deletions
@@ -9,10 +9,10 @@ steps:
- 'Step 1: Researcher agent (agent.py) uses LangGraph create_react_agent with BedrockModel
to gather raw facts about the destination.'
- 'Step 2: Travel Guide Generator agent (agent.py) synthesizes the gathered data into
a structured travel guide based on the user''s request and raw information provided
a structured travel guide based on the user''s request and the raw information provided
by the researcher.'
- 'Step 3: Writer agent (agent.py) formats the final response, including the structured
guide content and prominently features the ''Suggested Web Pages'' section.'
travel guide content and prominently featuring the ''Suggested Web Pages'' section.'
outputs:
- Structured travel guide with key sections
- Final client response
@@ -32,24 +32,23 @@ Gather and process information from multiple agents to generate a comprehensive
**Dependencies:**
```text
pip install python3 fastapi uvicorn strands bedrock-model
pip install python langchain strands
```
**Setup steps:**
1. Install required dependencies using pip
1. Set up environment variables for API keys and model IDs
1. Install required dependencies using pip and ensure the BedrockModel is properly configured.
## Key Files
- `agents/aws_strands/05-agent-strands-multiagent-workflow-sequential/agent.py - Contains the multi-agent workflow logic.`
- `agents/aws_strands/05-agent-strands-multiagent-workflow-sequential/app.py - FastAPI app to handle user queries.`
- `agents/aws_strands/05-agent-strands-multiagent-workflow-sequential/agent.py - Contains the sequential workflow logic for gathering and processing information.`
- `agents/aws_strands/05-agent-strands-multiagent-workflow-sequential/app.py - Provides a FastAPI endpoint to interact with the multi-agent system.`
## Steps
1. Step 1: Researcher agent (agent.py) uses LangGraph create_react_agent with BedrockModel to gather raw facts about the destination.
2. Step 2: Travel Guide Generator agent (agent.py) synthesizes the gathered data into a structured travel guide based on the user's request and raw information provided by the researcher.
3. Step 3: Writer agent (agent.py) formats the final response, including the structured guide content and prominently features the 'Suggested Web Pages' section.
2. Step 2: Travel Guide Generator agent (agent.py) synthesizes the gathered data into a structured travel guide based on the user's request and the raw information provided by the researcher.
3. Step 3: Writer agent (agent.py) formats the final response, including the structured travel guide content and prominently featuring the 'Suggested Web Pages' section.
## Implementation Details
@@ -76,7 +75,7 @@ final_response = writer_agent(writer_prompt, stream=False)
## Failure Modes
- Network issues during API calls could lead to incomplete data collection or processing failures
- Specific failure scenario with mitigation: If any of the agents fail to process their tasks (e.g., network issues, model errors), the workflow will fail. Mitigation involves robust error handling and fallback mechanisms.
## Source
@@ -5,6 +5,6 @@
```python
# How to use this skill
# Inputs: User query with location
# Process: Step 1: Researcher agent (agent.py) uses LangGraph create_react_agent with BedrockModel to gather raw facts about the destination. → Step 2: Travel Guide Generator agent (agent.py) synthesizes the gathered data into a structured travel guide based on the user's request and raw information provided by the researcher. → Step 3: Writer agent (agent.py) formats the final response, including the structured guide content and prominently features the 'Suggested Web Pages' section.
# Process: Step 1: Researcher agent (agent.py) uses LangGraph create_react_agent with BedrockModel to gather raw facts about the destination. → Step 2: Travel Guide Generator agent (agent.py) synthesizes the gathered data into a structured travel guide based on the user's request and the raw information provided by the researcher. → Step 3: Writer agent (agent.py) formats the final response, including the structured travel guide content and prominently featuring the 'Suggested Web Pages' section.
# Outputs: Structured travel guide with key sections, Final client response
```
@@ -7,18 +7,18 @@
],
"steps": [
"Step 1: Researcher agent (agent.py) uses LangGraph create_react_agent with BedrockModel to gather raw facts about the destination.",
"Step 2: Travel Guide Generator agent (agent.py) synthesizes the gathered data into a structured travel guide based on the user's request and raw information provided by the researcher.",
"Step 3: Writer agent (agent.py) formats the final response, including the structured guide content and prominently features the 'Suggested Web Pages' section."
"Step 2: Travel Guide Generator agent (agent.py) synthesizes the gathered data into a structured travel guide based on the user's request and the raw information provided by the researcher.",
"Step 3: Writer agent (agent.py) formats the final response, including the structured travel guide content and prominently featuring the 'Suggested Web Pages' section."
],
"outputs": [
"Structured travel guide with key sections",
"Final client response"
],
"failure_modes": [
"Network issues during API calls could lead to incomplete data collection or processing failures"
"Specific failure scenario with mitigation: If any of the agents fail to process their tasks (e.g., network issues, model errors), the workflow will fail. Mitigation involves robust error handling and fallback mechanisms."
],
"confidence": 0.95,
"explanation": "This workflow is specific but can be adapted for other types of guides or information gathering tasks.",
"explanation": "This workflow is specific to generating travel guides but can be adapted for other types of structured content creation.",
"source_repo": "https://github.com/omerbsezer/Fast-LLM-Agent-MCP.git",
"score": 1.0
}
+66 -32
View File
@@ -1,62 +1,96 @@
---
name: unifai-workflow-execution
version: 1.0.0
description: Execute a multi-agent AI workflow defined in YAML or through the UI's
drag-and-drop editor.
description: Execute a multi-agent workflow on the UnifAI platform using a specified
blueprint and user prompt.
inputs:
- name: blueprint_path
description: Path to the blueprint file (YAML) defining the multi-agent workflow.
- name: execution_mode
description: 'Execution mode: ''local'' or ''distributed''.'
- blueprint_id or blueprint_name
- user_shortcut
- user_question
steps:
- step_name: Load Blueprint
description: Parse and validate the blueprint file to ensure it conforms to expected
structure.
- step_name: Initialize Execution Engine
description: Set up the execution engine based on the selected mode ('local' or
'distributed').
- step_name: Execute Workflow
description: Run the multi-agent workflow, streaming node-by-node output as NDJSON
over HTTP.
- step_name: Stream Results
description: Render and stream results in real time to clients subscribing to the
event stream.
- 'Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id
method)'
- 'Step 2: Create a new session from the blueprint (create_session method)'
- 'Step 3: Submit the session for background execution with the user prompt (submit_session
method)'
- 'Step 4: Poll session status until execution completes (poll_session_status method)'
outputs:
- name: execution_results
description: The output of the executed workflow, streamed as NDJSON over HTTP.
- session_id
- workflow_id
tags: []
metadata:
source_repo: https://github.com/redhat-community-ai-tools/UnifAI.git
extracted_at: ''
confidence: 0.9
confidence: 0.95
---
# unifai-workflow-execution
Execute a multi-agent AI workflow defined in YAML or through the UI's drag-and-drop editor.
Execute a multi-agent workflow on the UnifAI platform using a specified blueprint and user prompt.
## Setup
**Dependencies:**
```text
pip install requests urllib3
```
**Setup steps:**
1. Install required dependencies using pip install requests urllib3
1. Ensure the environment variables are set correctly (BLUEPRINT_ID, BLUEPRINT_NAME, USER_SHORTCUT, POLLING_INTERVAL, UNIFAI_BASE_URL)
## Key Files
- `scripts/execution_workflow.py - Main script for workflow execution`
## Steps
1. {'step_name': 'Load Blueprint', 'description': 'Parse and validate the blueprint file to ensure it conforms to expected structure.'}
2. {'step_name': 'Initialize Execution Engine', 'description': "Set up the execution engine based on the selected mode ('local' or 'distributed')."}
3. {'step_name': 'Execute Workflow', 'description': 'Run the multi-agent workflow, streaming node-by-node output as NDJSON over HTTP.'}
4. {'step_name': 'Stream Results', 'description': 'Render and stream results in real time to clients subscribing to the event stream.'}
1. Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method)
2. Step 2: Create a new session from the blueprint (create_session method)
3. Step 3: Submit the session for background execution with the user prompt (submit_session method)
4. Step 4: Poll session status until execution completes (poll_session_status method)
## Implementation Details
```python
resolve_blueprint_id(client: UnifAIClient) -> str
{...}
# Resolve the blueprint ID from either direct ID or name lookup.
```
```python
create_session(client: UnifAIClient, blueprint_id: str) -> str
{...}
# Create a new session from the blueprint.
```
```python
submit_session(client: UnifAIClient, session_id: str) -> dict
{...}
# Submit the session for background execution with the user prompt.
```
## Inputs
- {'name': 'blueprint_path', 'description': 'Path to the blueprint file (YAML) defining the multi-agent workflow.'}
- {'name': 'execution_mode', 'description': "Execution mode: 'local' or 'distributed'."}
- blueprint_id or blueprint_name
- user_shortcut
- user_question
## Outputs
- {'name': 'execution_results', 'description': 'The output of the executed workflow, streamed as NDJSON over HTTP.'}
- session_id
- workflow_id
## Failure Modes
- {'mode_name': 'Invalid Blueprint', 'description': 'Blueprint file is not valid YAML or does not conform to expected structure.'}
- {'mode_name': 'Execution Engine Initialization Failure', 'description': 'Failed to initialize the execution engine due to configuration issues or missing dependencies.'}
- Blueprint name not found or not unique - error during blueprint resolution
- Session creation fails - error from API response
- Session submission fails - error from API response
- Polling session status fails - error from API response
## Source
Extracted from: [https://github.com/redhat-community-ai-tools/UnifAI.git](https://github.com/redhat-community-ai-tools/UnifAI.git)
Confidence: 0.9
Confidence: 0.95
+3 -3
View File
@@ -4,7 +4,7 @@
```python
# How to use this skill
# Inputs: {'name': 'blueprint_path', 'description': 'Path to the blueprint file (YAML) defining the multi-agent workflow.'}, {'name': 'execution_mode', 'description': "Execution mode: 'local' or 'distributed'."}
# Process: {'step_name': 'Load Blueprint', 'description': 'Parse and validate the blueprint file to ensure it conforms to expected structure.'} → {'step_name': 'Initialize Execution Engine', 'description': "Set up the execution engine based on the selected mode ('local' or 'distributed')."} → {'step_name': 'Execute Workflow', 'description': 'Run the multi-agent workflow, streaming node-by-node output as NDJSON over HTTP.'}
# Outputs: {'name': 'execution_results', 'description': 'The output of the executed workflow, streamed as NDJSON over HTTP.'}
# Inputs: blueprint_id or blueprint_name, user_shortcut, user_question
# Process: Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method) → Step 2: Create a new session from the blueprint (create_session method) → Step 3: Submit the session for background execution with the user prompt (submit_session method)
# Outputs: session_id, workflow_id
```
+16 -39
View File
@@ -1,53 +1,30 @@
{
"name": "unifai-workflow-execution",
"version": "1.0.0",
"goal": "Execute a multi-agent AI workflow defined in YAML or through the UI's drag-and-drop editor.",
"goal": "Execute a multi-agent workflow on the UnifAI platform using a specified blueprint and user prompt.",
"inputs": [
{
"name": "blueprint_path",
"description": "Path to the blueprint file (YAML) defining the multi-agent workflow."
},
{
"name": "execution_mode",
"description": "Execution mode: 'local' or 'distributed'."
}
"blueprint_id or blueprint_name",
"user_shortcut",
"user_question"
],
"steps": [
{
"step_name": "Load Blueprint",
"description": "Parse and validate the blueprint file to ensure it conforms to expected structure."
},
{
"step_name": "Initialize Execution Engine",
"description": "Set up the execution engine based on the selected mode ('local' or 'distributed')."
},
{
"step_name": "Execute Workflow",
"description": "Run the multi-agent workflow, streaming node-by-node output as NDJSON over HTTP."
},
{
"step_name": "Stream Results",
"description": "Render and stream results in real time to clients subscribing to the event stream."
}
"Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method)",
"Step 2: Create a new session from the blueprint (create_session method)",
"Step 3: Submit the session for background execution with the user prompt (submit_session method)",
"Step 4: Poll session status until execution completes (poll_session_status method)"
],
"outputs": [
{
"name": "execution_results",
"description": "The output of the executed workflow, streamed as NDJSON over HTTP."
}
"session_id",
"workflow_id"
],
"failure_modes": [
{
"mode_name": "Invalid Blueprint",
"description": "Blueprint file is not valid YAML or does not conform to expected structure."
},
{
"mode_name": "Execution Engine Initialization Failure",
"description": "Failed to initialize the execution engine due to configuration issues or missing dependencies."
}
"Blueprint name not found or not unique - error during blueprint resolution",
"Session creation fails - error from API response",
"Session submission fails - error from API response",
"Polling session status fails - error from API response"
],
"confidence": 0.9,
"explanation": "This workflow is designed to execute multi-agent AI workflows defined in YAML blueprints or through the UI's drag-and-drop editor, providing real-time streaming of results.",
"confidence": 0.95,
"explanation": "This workflow is specific to the UnifAI platform and its multi-agent system, but can be adapted for similar systems with a similar architecture.",
"source_repo": "https://github.com/redhat-community-ai-tools/UnifAI.git",
"score": 1.0
}