From 8a052b328d28f1c34b14b36d5ddb1d1bdf67eee7 Mon Sep 17 00:00:00 2001 From: Hermes Pipeline Date: Wed, 5 Aug 2026 15:45:08 +0000 Subject: [PATCH] Add Skill: unifai-workflow-execution Extracted from: https://github.com/redhat-community-ai-tools/UnifAI.git Score: 1.0 --- skills/unifai-workflow-execution/SKILL.md | 98 ++++++------------- skills/unifai-workflow-execution/examples.md | 6 +- .../unifai-workflow-execution/metadata.json | 55 ++++++++--- 3 files changed, 74 insertions(+), 85 deletions(-) diff --git a/skills/unifai-workflow-execution/SKILL.md b/skills/unifai-workflow-execution/SKILL.md index 42e7218..9837068 100644 --- a/skills/unifai-workflow-execution/SKILL.md +++ b/skills/unifai-workflow-execution/SKILL.md @@ -1,96 +1,62 @@ --- name: unifai-workflow-execution version: 1.0.0 -description: Execute a multi-agent workflow on the UnifAI platform using a specified - blueprint and user prompt. +description: Execute a multi-agent AI workflow defined in YAML or through the UI's + drag-and-drop editor. inputs: -- blueprint_id or blueprint_name -- user_shortcut -- user_question +- name: blueprint_path + description: Path to the blueprint file (YAML) defining the multi-agent workflow. +- name: execution_mode + description: 'Execution mode: ''local'' or ''distributed''.' steps: -- '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)' +- 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. outputs: -- session_id -- workflow_id +- name: execution_results + description: The output of the executed workflow, streamed as NDJSON over HTTP. tags: [] metadata: source_repo: https://github.com/redhat-community-ai-tools/UnifAI.git extracted_at: '' - confidence: 0.95 + confidence: 0.9 --- # unifai-workflow-execution -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` +Execute a multi-agent AI workflow defined in YAML or through the UI's drag-and-drop editor. ## Steps -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. -``` +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.'} ## Inputs -- blueprint_id or blueprint_name -- user_shortcut -- user_question +- {'name': 'blueprint_path', 'description': 'Path to the blueprint file (YAML) defining the multi-agent workflow.'} +- {'name': 'execution_mode', 'description': "Execution mode: 'local' or 'distributed'."} ## Outputs -- session_id -- workflow_id +- {'name': 'execution_results', 'description': 'The output of the executed workflow, streamed as NDJSON over HTTP.'} ## Failure Modes -- 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 +- {'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.'} ## Source Extracted from: [https://github.com/redhat-community-ai-tools/UnifAI.git](https://github.com/redhat-community-ai-tools/UnifAI.git) -Confidence: 0.95 +Confidence: 0.9 diff --git a/skills/unifai-workflow-execution/examples.md b/skills/unifai-workflow-execution/examples.md index 34f1cbf..845f462 100644 --- a/skills/unifai-workflow-execution/examples.md +++ b/skills/unifai-workflow-execution/examples.md @@ -4,7 +4,7 @@ ```python # How to use this skill -# 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 +# 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.'} ``` diff --git a/skills/unifai-workflow-execution/metadata.json b/skills/unifai-workflow-execution/metadata.json index 4d4a57e..fa04823 100644 --- a/skills/unifai-workflow-execution/metadata.json +++ b/skills/unifai-workflow-execution/metadata.json @@ -1,30 +1,53 @@ { "name": "unifai-workflow-execution", "version": "1.0.0", - "goal": "Execute a multi-agent workflow on the UnifAI platform using a specified blueprint and user prompt.", + "goal": "Execute a multi-agent AI workflow defined in YAML or through the UI's drag-and-drop editor.", "inputs": [ - "blueprint_id or blueprint_name", - "user_shortcut", - "user_question" + { + "name": "blueprint_path", + "description": "Path to the blueprint file (YAML) defining the multi-agent workflow." + }, + { + "name": "execution_mode", + "description": "Execution mode: 'local' or 'distributed'." + } ], "steps": [ - "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)" + { + "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." + } ], "outputs": [ - "session_id", - "workflow_id" + { + "name": "execution_results", + "description": "The output of the executed workflow, streamed as NDJSON over HTTP." + } ], "failure_modes": [ - "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" + { + "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." + } ], - "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.", + "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.", "source_repo": "https://github.com/redhat-community-ai-tools/UnifAI.git", "score": 1.0 } \ No newline at end of file -- 2.43.0