Compare commits

..

1 Commits

Author SHA1 Message Date
Hermes Pipeline ff7389e0de Add Skill: multi-agent-workflow-execution
Extracted from: https://github.com/redhat-community-ai-tools/UnifAI.git
Score: 1.0
2026-08-05 17:03:56 +00:00
9 changed files with 165 additions and 143 deletions
-96
View File
@@ -1,96 +0,0 @@
---
name: blacknode-graph-workflow
version: 1.0.0
description: Build and execute node-based AI workflows with LLM agents and processing
nodes
inputs:
- Model configuration (NIM_MODEL, API keys for NVIDIA NIM, OpenAI, Anthropic)
- Node definitions with specified inputs and outputs (Literal, LLMAgent, FileWrite,
etc.)
- Data sources (URLs, text content, or other inputs for the workflow)
steps:
- Initialize a blacknode.Graph instance to create the workflow structure
- Add nodes to the graph with defined inputs and outputs (e.g., Literal, LLMAgent,
FileWrite)
- Define edges connecting nodes to establish data flow between them
- Execute the graph using cook() to run the workflow and generate outputs
outputs:
- Processed results from the final node (e.g., printed text, written files, or generated
data)
- Graph execution status and any errors encountered during execution
tags: []
metadata:
source_repo: https://github.com/temiroff/Blacknode.git
extracted_at: ''
confidence: 0.95
---
# blacknode-graph-workflow
Build and execute node-based AI workflows with LLM agents and processing nodes
## Setup
**Dependencies:**
```text
pip install blacknode (core package) anthropic>=0.25 openai>=1.0 petgraph (for graph operations)
```
**Setup steps:**
1. Install blacknode package: pip install blacknode
1. Configure model API keys (NIM_API_KEY, OPENAI_API_KEY, etc.) in .env or editor
1. Create a Graph instance and add nodes with inputs/outputs
1. Define node connections in g._edges list
1. Execute with g.cook() to run the workflow and capture results
## Key Files
- `blacknode/blacknode.py (Graph class implementation)`
- `examples/hello_agent.py (simple LLM agent workflow)`
- `examples/converted_nvidia_nim.py (NIM model workflow)`
## Steps
1. Initialize a blacknode.Graph instance to create the workflow structure
2. Add nodes to the graph with defined inputs and outputs (e.g., Literal, LLMAgent, FileWrite)
3. Define edges connecting nodes to establish data flow between them
4. Execute the graph using cook() to run the workflow and generate outputs
## Implementation Details
```python
g = bn.Graph()
```
```python
g._edges = [{'from': 'model', 'from_port': 'value', 'to': 'agent', 'to_port': 'model'}]
```
```python
result = g.cook(output_node, 'value')
```
## Inputs
- Model configuration (NIM_MODEL, API keys for NVIDIA NIM, OpenAI, Anthropic)
- Node definitions with specified inputs and outputs (Literal, LLMAgent, FileWrite, etc.)
- Data sources (URLs, text content, or other inputs for the workflow)
## Outputs
- Processed results from the final node (e.g., printed text, written files, or generated data)
- Graph execution status and any errors encountered during execution
## Failure Modes
- Missing or invalid model API key causing graph initialization failure
- Incorrect node connections or missing edge definitions leading to runtime errors
- Model not found or unavailable in the specified environment causing execution failure
- Graph edges not properly defined or mismatched causing cook() to fail
## Source
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
Confidence: 0.95
@@ -1,6 +0,0 @@
# Commands: blacknode-graph-workflow
## Available Commands
- `/skill blacknode-graph-workflow` — Load this skill
- `/run blacknode-graph-workflow` — Execute workflow
@@ -1,10 +0,0 @@
# Examples: blacknode-graph-workflow
## Usage Example
```python
# How to use this skill
# Inputs: Model configuration (NIM_MODEL, API keys for NVIDIA NIM, OpenAI, Anthropic), Node definitions with specified inputs and outputs (Literal, LLMAgent, FileWrite, etc.), Data sources (URLs, text content, or other inputs for the workflow)
# Process: Initialize a blacknode.Graph instance to create the workflow structure → Add nodes to the graph with defined inputs and outputs (e.g., Literal, LLMAgent, FileWrite) → Define edges connecting nodes to establish data flow between them
# Outputs: Processed results from the final node (e.g., printed text, written files, or generated data), Graph execution status and any errors encountered during execution
```
@@ -1,30 +0,0 @@
{
"name": "blacknode-graph-workflow",
"version": "1.0.0",
"goal": "Build and execute node-based AI workflows with LLM agents and processing nodes",
"inputs": [
"Model configuration (NIM_MODEL, API keys for NVIDIA NIM, OpenAI, Anthropic)",
"Node definitions with specified inputs and outputs (Literal, LLMAgent, FileWrite, etc.)",
"Data sources (URLs, text content, or other inputs for the workflow)"
],
"steps": [
"Initialize a blacknode.Graph instance to create the workflow structure",
"Add nodes to the graph with defined inputs and outputs (e.g., Literal, LLMAgent, FileWrite)",
"Define edges connecting nodes to establish data flow between them",
"Execute the graph using cook() to run the workflow and generate outputs"
],
"outputs": [
"Processed results from the final node (e.g., printed text, written files, or generated data)",
"Graph execution status and any errors encountered during execution"
],
"failure_modes": [
"Missing or invalid model API key causing graph initialization failure",
"Incorrect node connections or missing edge definitions leading to runtime errors",
"Model not found or unavailable in the specified environment causing execution failure",
"Graph edges not properly defined or mismatched causing cook() to fail"
],
"confidence": 0.95,
"explanation": "Blacknode provides a standardized Graph-based workflow pattern where users create node graphs using the blacknode.Graph class. This pattern is reusable across projects as it follows a consistent structure: initialize a graph, add nodes with defined inputs/outputs, connect them with edges, and execute with cook(). The examples demonstrate this pattern with LLM agents and text processing pipelines, making it adaptable to various robotics and AI workflows.",
"source_repo": "https://github.com/temiroff/Blacknode.git",
"score": 1.0
}
@@ -0,0 +1,113 @@
---
name: multi-agent-workflow-execution
version: 1.0.0
description: Execute multi-agent AI workflows defined in YAML blueprints by creating
sessions, submitting user prompts, and polling for completion until final answers
are returned.
inputs:
- Blueprint ID or name (to identify the workflow to execute)
- User shortcut (authentication identifier for the user)
- User question or prompt (input to the workflow)
- Base URL of the UnifAI API (endpoint for session management)
- Polling interval (seconds between status checks during execution)
steps:
- Resolve the blueprint ID from either direct ID or name lookup via the API, handling
cases where the blueprint is not found or not unique
- Create a new session from the resolved blueprint using the session creation endpoint
- Submit the session with the user's prompt to start the multi-agent workflow execution
- Poll the session status at regular intervals until the session completes, fails,
or is cancelled
- Retrieve and return the final answer from the completed workflow
outputs:
- Final workflow result or answer (text or structured data)
- Session status (completed, failed, or cancelled)
- Error details if the workflow execution fails or times out
tags: []
metadata:
source_repo: https://github.com/redhat-community-ai-tools/UnifAI.git
extracted_at: ''
confidence: 0.95
---
# multi-agent-workflow-execution
Execute multi-agent AI workflows defined in YAML blueprints by creating sessions, submitting user prompts, and polling for completion until final answers are returned.
## Setup
**Dependencies:**
```text
pip install requests urllib3 python-langgraph temporalio
```
**Setup steps:**
1. Install Python 3.11+ and required packages (requests, langgraph, temporalio)
1. Configure API base URL and user credentials in environment variables or config
1. Define or select a blueprint from the available workflows in the system
1. Run the execution_workflow.py script with blueprint ID/name and user prompt
## Key Files
- `scripts/execution_workflow.py - Main workflow execution script`
- `multi-agent/lib/mas/engine/ - LangGraph-based orchestration modules`
- `multi-agent/lib/mas/elements/ - Node definitions (custom_agent_node, merger_node, etc.)`
- `multi-agent/lib/mas/blueprints/ - Blueprint resolution and validation logic`
## Steps
1. Resolve the blueprint ID from either direct ID or name lookup via the API, handling cases where the blueprint is not found or not unique
2. Create a new session from the resolved blueprint using the session creation endpoint
3. Submit the session with the user's prompt to start the multi-agent workflow execution
4. Poll the session status at regular intervals until the session completes, fails, or is cancelled
5. Retrieve and return the final answer from the completed workflow
## Implementation Details
```python
resolve_blueprint_id() - Resolves blueprint by ID or name lookup with error handling
```
```python
create_session() - Creates a new session from a blueprint via POST /user.session.create
```
```python
submit_session() - Submits user prompt to start workflow via POST /user.session.submit
```
```python
poll_session_status() - Polls session.stream.status at configurable intervals
```
```python
get_final_answer() - Retrieves final output via GET /session.chat.get
```
## Inputs
- Blueprint ID or name (to identify the workflow to execute)
- User shortcut (authentication identifier for the user)
- User question or prompt (input to the workflow)
- Base URL of the UnifAI API (endpoint for session management)
- Polling interval (seconds between status checks during execution)
## Outputs
- Final workflow result or answer (text or structured data)
- Session status (completed, failed, or cancelled)
- Error details if the workflow execution fails or times out
## Failure Modes
- Blueprint not found or not unique - script exits with an error listing available blueprints
- Session creation fails - may be due to invalid blueprint ID, authentication issues, or rate limiting
- Session submission fails - could be due to network issues, invalid parameters, or API rate limits
- Polling loop times out - session may be stuck in a long-running state without progress
- Final answer retrieval fails - could be due to session cleanup or network issues after completion
## Source
Extracted from: [https://github.com/redhat-community-ai-tools/UnifAI.git](https://github.com/redhat-community-ai-tools/UnifAI.git)
Confidence: 0.95
@@ -0,0 +1,6 @@
# Commands: multi-agent-workflow-execution
## Available Commands
- `/skill multi-agent-workflow-execution` — Load this skill
- `/run multi-agent-workflow-execution` — Execute workflow
@@ -0,0 +1,10 @@
# Examples: multi-agent-workflow-execution
## Usage Example
```python
# How to use this skill
# Inputs: Blueprint ID or name (to identify the workflow to execute), User shortcut (authentication identifier for the user), User question or prompt (input to the workflow), Base URL of the UnifAI API (endpoint for session management), Polling interval (seconds between status checks during execution)
# Process: Resolve the blueprint ID from either direct ID or name lookup via the API, handling cases where the blueprint is not found or not unique → Create a new session from the resolved blueprint using the session creation endpoint → Submit the session with the user's prompt to start the multi-agent workflow execution
# Outputs: Final workflow result or answer (text or structured data), Session status (completed, failed, or cancelled), Error details if the workflow execution fails or times out
```
@@ -0,0 +1,35 @@
{
"name": "multi-agent-workflow-execution",
"version": "1.0.0",
"goal": "Execute multi-agent AI workflows defined in YAML blueprints by creating sessions, submitting user prompts, and polling for completion until final answers are returned.",
"inputs": [
"Blueprint ID or name (to identify the workflow to execute)",
"User shortcut (authentication identifier for the user)",
"User question or prompt (input to the workflow)",
"Base URL of the UnifAI API (endpoint for session management)",
"Polling interval (seconds between status checks during execution)"
],
"steps": [
"Resolve the blueprint ID from either direct ID or name lookup via the API, handling cases where the blueprint is not found or not unique",
"Create a new session from the resolved blueprint using the session creation endpoint",
"Submit the session with the user's prompt to start the multi-agent workflow execution",
"Poll the session status at regular intervals until the session completes, fails, or is cancelled",
"Retrieve and return the final answer from the completed workflow"
],
"outputs": [
"Final workflow result or answer (text or structured data)",
"Session status (completed, failed, or cancelled)",
"Error details if the workflow execution fails or times out"
],
"failure_modes": [
"Blueprint not found or not unique - script exits with an error listing available blueprints",
"Session creation fails - may be due to invalid blueprint ID, authentication issues, or rate limiting",
"Session submission fails - could be due to network issues, invalid parameters, or API rate limits",
"Polling loop times out - session may be stuck in a long-running state without progress",
"Final answer retrieval fails - could be due to session cleanup or network issues after completion"
],
"confidence": 0.95,
"explanation": "The UnifAI repository contains a concrete, reusable workflow pattern for executing multi-agent AI workflows. The scripts/execution_workflow.py script demonstrates a complete pipeline: resolving blueprints by ID or name, creating sessions from blueprints, submitting user prompts to start workflows, polling session status until completion, and retrieving final answers. This pattern can be adapted to any multi-agent workflow defined in the YAML blueprint system, making it reusable across different use cases and teams.",
"source_repo": "https://github.com/redhat-community-ai-tools/UnifAI.git",
"score": 1.0
}
@@ -1,4 +1,4 @@
# Tests: blacknode-graph-workflow
# Tests: multi-agent-workflow-execution
## Test Checklist