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 - 'Step 1: Researcher agent (agent.py) uses LangGraph create_react_agent with BedrockModel
to gather raw facts about the destination.' to gather raw facts about the destination.'
- 'Step 2: Travel Guide Generator agent (agent.py) synthesizes the gathered data into - '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.' by the researcher.'
- 'Step 3: Writer agent (agent.py) formats the final response, including the structured - '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: outputs:
- Structured travel guide with key sections - Structured travel guide with key sections
- Final client response - Final client response
@@ -32,24 +32,23 @@ Gather and process information from multiple agents to generate a comprehensive
**Dependencies:** **Dependencies:**
```text ```text
pip install python3 fastapi uvicorn strands bedrock-model pip install python langchain strands
``` ```
**Setup steps:** **Setup steps:**
1. Install required dependencies using pip 1. Install required dependencies using pip and ensure the BedrockModel is properly configured.
1. Set up environment variables for API keys and model IDs
## Key Files ## 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/agent.py - Contains the sequential workflow logic for gathering and processing information.`
- `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/app.py - Provides a FastAPI endpoint to interact with the multi-agent system.`
## Steps ## Steps
1. Step 1: Researcher agent (agent.py) uses LangGraph create_react_agent with BedrockModel to gather raw facts about the destination. 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. 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 guide content and prominently features the 'Suggested Web Pages' section. 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 ## Implementation Details
@@ -76,7 +75,7 @@ final_response = writer_agent(writer_prompt, stream=False)
## Failure Modes ## 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 ## Source
@@ -5,6 +5,6 @@
```python ```python
# How to use this skill # How to use this skill
# Inputs: User query with location # 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 # Outputs: Structured travel guide with key sections, Final client response
``` ```
@@ -7,18 +7,18 @@
], ],
"steps": [ "steps": [
"Step 1: Researcher agent (agent.py) uses LangGraph create_react_agent with BedrockModel to gather raw facts about the destination.", "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 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 guide content and prominently features the 'Suggested Web Pages' section." "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": [ "outputs": [
"Structured travel guide with key sections", "Structured travel guide with key sections",
"Final client response" "Final client response"
], ],
"failure_modes": [ "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, "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", "source_repo": "https://github.com/omerbsezer/Fast-LLM-Agent-MCP.git",
"score": 1.0 "score": 1.0
} }
+66 -32
View File
@@ -1,62 +1,96 @@
--- ---
name: unifai-workflow-execution name: unifai-workflow-execution
version: 1.0.0 version: 1.0.0
description: Execute a multi-agent AI workflow defined in YAML or through the UI's description: Execute a multi-agent workflow on the UnifAI platform using a specified
drag-and-drop editor. blueprint and user prompt.
inputs: inputs:
- name: blueprint_path - blueprint_id or blueprint_name
description: Path to the blueprint file (YAML) defining the multi-agent workflow. - user_shortcut
- name: execution_mode - user_question
description: 'Execution mode: ''local'' or ''distributed''.'
steps: steps:
- step_name: Load Blueprint - 'Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id
description: Parse and validate the blueprint file to ensure it conforms to expected method)'
structure. - 'Step 2: Create a new session from the blueprint (create_session method)'
- step_name: Initialize Execution Engine - 'Step 3: Submit the session for background execution with the user prompt (submit_session
description: Set up the execution engine based on the selected mode ('local' or method)'
'distributed'). - 'Step 4: Poll session status until execution completes (poll_session_status method)'
- 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.
outputs: outputs:
- name: execution_results - session_id
description: The output of the executed workflow, streamed as NDJSON over HTTP. - workflow_id
tags: [] tags: []
metadata: metadata:
source_repo: https://github.com/redhat-community-ai-tools/UnifAI.git source_repo: https://github.com/redhat-community-ai-tools/UnifAI.git
extracted_at: '' extracted_at: ''
confidence: 0.9 confidence: 0.95
--- ---
# unifai-workflow-execution # 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 ## Steps
1. {'step_name': 'Load Blueprint', 'description': 'Parse and validate the blueprint file to ensure it conforms to expected structure.'} 1. Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method)
2. {'step_name': 'Initialize Execution Engine', 'description': "Set up the execution engine based on the selected mode ('local' or 'distributed')."} 2. Step 2: Create a new session from the blueprint (create_session method)
3. {'step_name': 'Execute Workflow', 'description': 'Run the multi-agent workflow, streaming node-by-node output as NDJSON over HTTP.'} 3. Step 3: Submit the session for background execution with the user prompt (submit_session method)
4. {'step_name': 'Stream Results', 'description': 'Render and stream results in real time to clients subscribing to the event stream.'} 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 ## Inputs
- {'name': 'blueprint_path', 'description': 'Path to the blueprint file (YAML) defining the multi-agent workflow.'} - blueprint_id or blueprint_name
- {'name': 'execution_mode', 'description': "Execution mode: 'local' or 'distributed'."} - user_shortcut
- user_question
## Outputs ## Outputs
- {'name': 'execution_results', 'description': 'The output of the executed workflow, streamed as NDJSON over HTTP.'} - session_id
- workflow_id
## Failure Modes ## Failure Modes
- {'mode_name': 'Invalid Blueprint', 'description': 'Blueprint file is not valid YAML or does not conform to expected structure.'} - Blueprint name not found or not unique - error during blueprint resolution
- {'mode_name': 'Execution Engine Initialization Failure', 'description': 'Failed to initialize the execution engine due to configuration issues or missing dependencies.'} - Session creation fails - error from API response
- Session submission fails - error from API response
- Polling session status fails - error from API response
## Source ## Source
Extracted from: [https://github.com/redhat-community-ai-tools/UnifAI.git](https://github.com/redhat-community-ai-tools/UnifAI.git) 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 ```python
# How to use this skill # 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'."} # Inputs: blueprint_id or blueprint_name, user_shortcut, user_question
# 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.'} # 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: {'name': 'execution_results', 'description': 'The output of the executed workflow, streamed as NDJSON over HTTP.'} # Outputs: session_id, workflow_id
``` ```
+16 -39
View File
@@ -1,53 +1,30 @@
{ {
"name": "unifai-workflow-execution", "name": "unifai-workflow-execution",
"version": "1.0.0", "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": [ "inputs": [
{ "blueprint_id or blueprint_name",
"name": "blueprint_path", "user_shortcut",
"description": "Path to the blueprint file (YAML) defining the multi-agent workflow." "user_question"
},
{
"name": "execution_mode",
"description": "Execution mode: 'local' or 'distributed'."
}
], ],
"steps": [ "steps": [
{ "Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method)",
"step_name": "Load Blueprint", "Step 2: Create a new session from the blueprint (create_session method)",
"description": "Parse and validate the blueprint file to ensure it conforms to expected structure." "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)"
{
"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."
}
], ],
"outputs": [ "outputs": [
{ "session_id",
"name": "execution_results", "workflow_id"
"description": "The output of the executed workflow, streamed as NDJSON over HTTP."
}
], ],
"failure_modes": [ "failure_modes": [
{ "Blueprint name not found or not unique - error during blueprint resolution",
"mode_name": "Invalid Blueprint", "Session creation fails - error from API response",
"description": "Blueprint file is not valid YAML or does not conform to expected structure." "Session submission fails - error from API response",
}, "Polling session status fails - error from API response"
{
"mode_name": "Execution Engine Initialization Failure",
"description": "Failed to initialize the execution engine due to configuration issues or missing dependencies."
}
], ],
"confidence": 0.9, "confidence": 0.95,
"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.", "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", "source_repo": "https://github.com/redhat-community-ai-tools/UnifAI.git",
"score": 1.0 "score": 1.0
} }