Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0f700a4512 | |||
| d81ddeda88 | |||
| a14f09bec2 | |||
| 7f496feb90 |
@@ -34,8 +34,8 @@ scout:
|
||||
- 'rag agent workflow'
|
||||
- 'tool calling workflow'
|
||||
filters:
|
||||
stars_min: 15
|
||||
pushed_after: 2026-05-01
|
||||
stars_min: 10
|
||||
pushed_after: 2026-02-01
|
||||
language: Python
|
||||
archived: false
|
||||
size_max_kb: 10000
|
||||
|
||||
@@ -52,6 +52,18 @@ def publish_skill(review_result, config):
|
||||
subprocess.run(["git", "config", "user.email", "hermes@agent.local"], cwd=repo_dir)
|
||||
subprocess.run(["git", "config", "user.name", "Hermes Pipeline"], cwd=repo_dir)
|
||||
|
||||
# Check for duplicates in skills/ directory
|
||||
skills_dir = os.path.join(repo_dir, "skills")
|
||||
existing_skills = []
|
||||
if os.path.isdir(skills_dir):
|
||||
existing_skills = [d for d in os.listdir(skills_dir) if os.path.isdir(os.path.join(skills_dir, d))]
|
||||
|
||||
if skill_name in existing_skills:
|
||||
return {
|
||||
"status": "SKIP",
|
||||
"reason": f"Skill '{skill_name}' already exists in skills/ directory",
|
||||
}
|
||||
|
||||
# Create skill directory
|
||||
skill_dir = os.path.join(repo_dir, "skills", skill_name)
|
||||
os.makedirs(skill_dir, exist_ok=True)
|
||||
|
||||
@@ -137,6 +137,8 @@ def main():
|
||||
if publish_output.get("status") == "PUBLISHED":
|
||||
print(f" ✓ Published! PR: {publish_output.get('pr_url', '')}")
|
||||
results["published"] += 1
|
||||
elif publish_output.get("status") == "SKIP":
|
||||
print(f" ⏸ Skipped: {publish_output.get('reason', '')}")
|
||||
else:
|
||||
print(f" ! {publish_output.get('status', '?')}: {publish_output.get('message', publish_output.get('error', ''))[:100]}")
|
||||
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
---
|
||||
name: agent-supervisor
|
||||
version: 1.0.0
|
||||
description: Demonstrate a supervisor-worker architecture for intelligent task delegation
|
||||
and real-time decision-making.
|
||||
inputs:
|
||||
- name: OPENAI_API_KEY
|
||||
description: OpenAI API key for language models.
|
||||
- name: TAVILY_API_KEY
|
||||
description: Tavily API key for search functionality.
|
||||
steps:
|
||||
- step: 1
|
||||
action: Load environment variables.
|
||||
details: Set the OPENAI_API_KEY and TAVILY_API_KEY environment variables.
|
||||
- step: 2
|
||||
action: Configure LangChain tools.
|
||||
details: Initialize TavilySearchResults and PythonREPLTool.
|
||||
- step: 3
|
||||
action: Define agent nodes.
|
||||
details: Create functions for the Researcher and Coder agents that process state
|
||||
through their respective tasks.
|
||||
- step: 4
|
||||
action: Set up supervisor agent.
|
||||
details: Create a supervisor agent function that decides which worker should act
|
||||
next based on user input.
|
||||
- step: 5
|
||||
action: Build state graph.
|
||||
details: Construct the state graph with nodes for each agent and edges connecting
|
||||
them to the supervisor node.
|
||||
- step: 6
|
||||
action: Add conditional edges.
|
||||
details: Define conditions for transitioning between agents based on their responses.
|
||||
- step: 7
|
||||
action: Compile graph.
|
||||
details: Compile the state graph into a runnable workflow.
|
||||
- step: 8
|
||||
action: Run example queries.
|
||||
details: Stream through the workflow with example inputs to demonstrate its functionality.
|
||||
outputs:
|
||||
- name: 'Example 1: Code Hello World'
|
||||
description: A demonstration of coding a simple hello world program.
|
||||
- name: 'Example 2: Research Report'
|
||||
description: A demonstration of researching and writing a brief report on pikas.
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/extrawest/multi_agent_workflow_demo_in_langgraph.git
|
||||
extracted_at: ''
|
||||
confidence: 0.9
|
||||
---
|
||||
|
||||
# agent-supervisor
|
||||
|
||||
Demonstrate a supervisor-worker architecture for intelligent task delegation and real-time decision-making.
|
||||
|
||||
## Steps
|
||||
|
||||
1. {'step': 1, 'action': 'Load environment variables.', 'details': 'Set the OPENAI_API_KEY and TAVILY_API_KEY environment variables.'}
|
||||
2. {'step': 2, 'action': 'Configure LangChain tools.', 'details': 'Initialize TavilySearchResults and PythonREPLTool.'}
|
||||
3. {'step': 3, 'action': 'Define agent nodes.', 'details': 'Create functions for the Researcher and Coder agents that process state through their respective tasks.'}
|
||||
4. {'step': 4, 'action': 'Set up supervisor agent.', 'details': 'Create a supervisor agent function that decides which worker should act next based on user input.'}
|
||||
5. {'step': 5, 'action': 'Build state graph.', 'details': 'Construct the state graph with nodes for each agent and edges connecting them to the supervisor node.'}
|
||||
6. {'step': 6, 'action': 'Add conditional edges.', 'details': 'Define conditions for transitioning between agents based on their responses.'}
|
||||
7. {'step': 7, 'action': 'Compile graph.', 'details': 'Compile the state graph into a runnable workflow.'}
|
||||
8. {'step': 8, 'action': 'Run example queries.', 'details': 'Stream through the workflow with example inputs to demonstrate its functionality.'}
|
||||
|
||||
## Inputs
|
||||
|
||||
- {'name': 'OPENAI_API_KEY', 'description': 'OpenAI API key for language models.'}
|
||||
- {'name': 'TAVILY_API_KEY', 'description': 'Tavily API key for search functionality.'}
|
||||
|
||||
## Outputs
|
||||
|
||||
- {'name': 'Example 1: Code Hello World', 'description': 'A demonstration of coding a simple hello world program.'}
|
||||
- {'name': 'Example 2: Research Report', 'description': 'A demonstration of researching and writing a brief report on pikas.'}
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- {'mode': 'Invalid API keys', 'description': 'The workflow may fail if the provided API keys are invalid or expired.'}
|
||||
- {'mode': 'Insufficient permissions', 'description': 'The workflow may fail if the user does not have sufficient permissions to use the Tavily search functionality.'}
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/extrawest/multi_agent_workflow_demo_in_langgraph.git](https://github.com/extrawest/multi_agent_workflow_demo_in_langgraph.git)
|
||||
Confidence: 0.9
|
||||
@@ -0,0 +1,6 @@
|
||||
# Commands: agent-supervisor
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill agent-supervisor` — Load this skill
|
||||
- `/run agent-supervisor` — Execute workflow
|
||||
@@ -0,0 +1,10 @@
|
||||
# Examples: agent-supervisor
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: {'name': 'OPENAI_API_KEY', 'description': 'OpenAI API key for language models.'}, {'name': 'TAVILY_API_KEY', 'description': 'Tavily API key for search functionality.'}
|
||||
# Process: {'step': 1, 'action': 'Load environment variables.', 'details': 'Set the OPENAI_API_KEY and TAVILY_API_KEY environment variables.'} → {'step': 2, 'action': 'Configure LangChain tools.', 'details': 'Initialize TavilySearchResults and PythonREPLTool.'} → {'step': 3, 'action': 'Define agent nodes.', 'details': 'Create functions for the Researcher and Coder agents that process state through their respective tasks.'}
|
||||
# Outputs: {'name': 'Example 1: Code Hello World', 'description': 'A demonstration of coding a simple hello world program.'}, {'name': 'Example 2: Research Report', 'description': 'A demonstration of researching and writing a brief report on pikas.'}
|
||||
```
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"name": "agent-supervisor",
|
||||
"version": "1.0.0",
|
||||
"goal": "Demonstrate a supervisor-worker architecture for intelligent task delegation and real-time decision-making.",
|
||||
"inputs": [
|
||||
{
|
||||
"name": "OPENAI_API_KEY",
|
||||
"description": "OpenAI API key for language models."
|
||||
},
|
||||
{
|
||||
"name": "TAVILY_API_KEY",
|
||||
"description": "Tavily API key for search functionality."
|
||||
}
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"step": 1,
|
||||
"action": "Load environment variables.",
|
||||
"details": "Set the OPENAI_API_KEY and TAVILY_API_KEY environment variables."
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"action": "Configure LangChain tools.",
|
||||
"details": "Initialize TavilySearchResults and PythonREPLTool."
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"action": "Define agent nodes.",
|
||||
"details": "Create functions for the Researcher and Coder agents that process state through their respective tasks."
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"action": "Set up supervisor agent.",
|
||||
"details": "Create a supervisor agent function that decides which worker should act next based on user input."
|
||||
},
|
||||
{
|
||||
"step": 5,
|
||||
"action": "Build state graph.",
|
||||
"details": "Construct the state graph with nodes for each agent and edges connecting them to the supervisor node."
|
||||
},
|
||||
{
|
||||
"step": 6,
|
||||
"action": "Add conditional edges.",
|
||||
"details": "Define conditions for transitioning between agents based on their responses."
|
||||
},
|
||||
{
|
||||
"step": 7,
|
||||
"action": "Compile graph.",
|
||||
"details": "Compile the state graph into a runnable workflow."
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"action": "Run example queries.",
|
||||
"details": "Stream through the workflow with example inputs to demonstrate its functionality."
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "Example 1: Code Hello World",
|
||||
"description": "A demonstration of coding a simple hello world program."
|
||||
},
|
||||
{
|
||||
"name": "Example 2: Research Report",
|
||||
"description": "A demonstration of researching and writing a brief report on pikas."
|
||||
}
|
||||
],
|
||||
"failure_modes": [
|
||||
{
|
||||
"mode": "Invalid API keys",
|
||||
"description": "The workflow may fail if the provided API keys are invalid or expired."
|
||||
},
|
||||
{
|
||||
"mode": "Insufficient permissions",
|
||||
"description": "The workflow may fail if the user does not have sufficient permissions to use the Tavily search functionality."
|
||||
}
|
||||
],
|
||||
"confidence": 0.9,
|
||||
"explanation": "This workflow demonstrates a hierarchical multi-agent system where a supervisor agent makes routing decisions based on user input, delegating tasks to specialized worker agents (Researcher and Coder). It is designed to be reusable for similar task delegation scenarios.",
|
||||
"source_repo": "https://github.com/extrawest/multi_agent_workflow_demo_in_langgraph.git",
|
||||
"score": 1.0
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Tests: agent-supervisor
|
||||
|
||||
## Test Checklist
|
||||
|
||||
- [ ] Workflow has at least 3 steps
|
||||
- [ ] All inputs are defined
|
||||
- [ ] All outputs are defined
|
||||
- [ ] Failure modes are documented
|
||||
- [ ] Skill can be loaded without errors
|
||||
@@ -0,0 +1,115 @@
|
||||
---
|
||||
name: langgraph-agent-workflow
|
||||
version: 1.0.0
|
||||
description: Orchestrate multi-step AI agents using LangGraph with SerperDevTool for
|
||||
RAG, code execution, and citation generation
|
||||
inputs:
|
||||
- LangGraph chain configuration files defining agent workflows
|
||||
- SerperDevTool integration for LLM tool access
|
||||
- React agent creation scripts via create_react_agent
|
||||
- Knowledge graph retrieval and citation generation pipelines
|
||||
steps:
|
||||
- 'Step 1: Define LangGraph chain architecture with SerperDevTool integration - Create
|
||||
a LangGraph chain that combines retrieval, reasoning, and response generation using
|
||||
SerperDevTool for tool access'
|
||||
- 'Step 2: Implement React agent wrapper - Use create_react_agent to build a frontend
|
||||
agent that can interact with the LangGraph chain'
|
||||
- 'Step 3: Configure RAG pipeline - Set up vector search (Qdrant/OpenSearch) and knowledge
|
||||
graph retrieval (Neo4j/ArangoDB) with citation generation'
|
||||
- 'Step 4: Add code execution sandbox - Integrate artifact generation capabilities
|
||||
for code-related tasks'
|
||||
- "Step 5: Orchestrate multi-step research workflow - Chain search \u2192 deep research\
|
||||
\ \u2192 agent response in a single LangGraph workflow"
|
||||
outputs:
|
||||
- Reusable LangGraph chain definition (pyfile) with configurable steps
|
||||
- React agent frontend component that can be deployed independently
|
||||
- RAG pipeline that generates block citations and grounded answers
|
||||
- Code execution sandbox for artifact generation
|
||||
- Documentation for parameterizing workflows for different tasks
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/pipeshub-ai/pipeshub-ai.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# langgraph-agent-workflow
|
||||
|
||||
Orchestrate multi-step AI agents using LangGraph with SerperDevTool for RAG, code execution, and citation generation
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install langgraph>=0.7.0 serper-dev-tool>=0.1.0 qdrant-client or opensearch-dsl neo4j-driver or arango-database-driver react, next.js
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. Install LangGraph and SerperDevTool dependencies
|
||||
1. Configure vector store (Qdrant/OpenSearch) and knowledge graph (Neo4j/ArangoDB)
|
||||
1. Define chain topology with retrieval, reasoning, and response steps
|
||||
1. Build React agent frontend using create_react_agent
|
||||
1. Test multi-step agent workflows end-to-end
|
||||
|
||||
## Key Files
|
||||
|
||||
- `pipeshub-ai/workflows/agent_chain.py - Main LangGraph chain definition`
|
||||
- `pipeshub-ai/workflows/agent_react.py - React agent wrapper`
|
||||
- `pipeshub-ai/workflows/rag_pipeline.py - RAG with citation generation`
|
||||
- `pipeshub-ai/workflows/code_sandbox.py - Code execution sandbox`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Step 1: Define LangGraph chain architecture with SerperDevTool integration - Create a LangGraph chain that combines retrieval, reasoning, and response generation using SerperDevTool for tool access
|
||||
2. Step 2: Implement React agent wrapper - Use create_react_agent to build a frontend agent that can interact with the LangGraph chain
|
||||
3. Step 3: Configure RAG pipeline - Set up vector search (Qdrant/OpenSearch) and knowledge graph retrieval (Neo4j/ArangoDB) with citation generation
|
||||
4. Step 4: Add code execution sandbox - Integrate artifact generation capabilities for code-related tasks
|
||||
5. Step 5: Orchestrate multi-step research workflow - Chain search → deep research → agent response in a single LangGraph workflow
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
chain = LangGraph()
|
||||
```
|
||||
|
||||
```python
|
||||
chain.add_step(SerperDevToolAgent())
|
||||
```
|
||||
|
||||
```python
|
||||
agent = create_react_agent(chain, SerperDevToolAgent())
|
||||
```
|
||||
|
||||
```python
|
||||
workflow = chain.start()
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- LangGraph chain configuration files defining agent workflows
|
||||
- SerperDevTool integration for LLM tool access
|
||||
- React agent creation scripts via create_react_agent
|
||||
- Knowledge graph retrieval and citation generation pipelines
|
||||
|
||||
## Outputs
|
||||
|
||||
- Reusable LangGraph chain definition (pyfile) with configurable steps
|
||||
- React agent frontend component that can be deployed independently
|
||||
- RAG pipeline that generates block citations and grounded answers
|
||||
- Code execution sandbox for artifact generation
|
||||
- Documentation for parameterizing workflows for different tasks
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- GraphDB connection failures if Neo4j/ArangoDB is not properly configured
|
||||
- Vector store unavailability (Qdrant/OpenSearch) causing RAG pipeline to fail
|
||||
- LLM tool access errors if SerperDevTool is not properly initialized
|
||||
- Agent timeout if complex multi-step reasoning exceeds time limits
|
||||
- Sandbox execution failures if code has security vulnerabilities or infinite loops
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/pipeshub-ai/pipeshub-ai.git](https://github.com/pipeshub-ai/pipeshub-ai.git)
|
||||
Confidence: 0.95
|
||||
@@ -0,0 +1,6 @@
|
||||
# Commands: langgraph-agent-workflow
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill langgraph-agent-workflow` — Load this skill
|
||||
- `/run langgraph-agent-workflow` — Execute workflow
|
||||
@@ -0,0 +1,10 @@
|
||||
# Examples: langgraph-agent-workflow
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: LangGraph chain configuration files defining agent workflows, SerperDevTool integration for LLM tool access, React agent creation scripts via create_react_agent, Knowledge graph retrieval and citation generation pipelines
|
||||
# Process: Step 1: Define LangGraph chain architecture with SerperDevTool integration - Create a LangGraph chain that combines retrieval, reasoning, and response generation using SerperDevTool for tool access → Step 2: Implement React agent wrapper - Use create_react_agent to build a frontend agent that can interact with the LangGraph chain → Step 3: Configure RAG pipeline - Set up vector search (Qdrant/OpenSearch) and knowledge graph retrieval (Neo4j/ArangoDB) with citation generation
|
||||
# Outputs: Reusable LangGraph chain definition (pyfile) with configurable steps, React agent frontend component that can be deployed independently, RAG pipeline that generates block citations and grounded answers, Code execution sandbox for artifact generation, Documentation for parameterizing workflows for different tasks
|
||||
```
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "langgraph-agent-workflow",
|
||||
"version": "1.0.0",
|
||||
"goal": "Orchestrate multi-step AI agents using LangGraph with SerperDevTool for RAG, code execution, and citation generation",
|
||||
"inputs": [
|
||||
"LangGraph chain configuration files defining agent workflows",
|
||||
"SerperDevTool integration for LLM tool access",
|
||||
"React agent creation scripts via create_react_agent",
|
||||
"Knowledge graph retrieval and citation generation pipelines"
|
||||
],
|
||||
"steps": [
|
||||
"Step 1: Define LangGraph chain architecture with SerperDevTool integration - Create a LangGraph chain that combines retrieval, reasoning, and response generation using SerperDevTool for tool access",
|
||||
"Step 2: Implement React agent wrapper - Use create_react_agent to build a frontend agent that can interact with the LangGraph chain",
|
||||
"Step 3: Configure RAG pipeline - Set up vector search (Qdrant/OpenSearch) and knowledge graph retrieval (Neo4j/ArangoDB) with citation generation",
|
||||
"Step 4: Add code execution sandbox - Integrate artifact generation capabilities for code-related tasks",
|
||||
"Step 5: Orchestrate multi-step research workflow - Chain search \u2192 deep research \u2192 agent response in a single LangGraph workflow"
|
||||
],
|
||||
"outputs": [
|
||||
"Reusable LangGraph chain definition (pyfile) with configurable steps",
|
||||
"React agent frontend component that can be deployed independently",
|
||||
"RAG pipeline that generates block citations and grounded answers",
|
||||
"Code execution sandbox for artifact generation",
|
||||
"Documentation for parameterizing workflows for different tasks"
|
||||
],
|
||||
"failure_modes": [
|
||||
"GraphDB connection failures if Neo4j/ArangoDB is not properly configured",
|
||||
"Vector store unavailability (Qdrant/OpenSearch) causing RAG pipeline to fail",
|
||||
"LLM tool access errors if SerperDevTool is not properly initialized",
|
||||
"Agent timeout if complex multi-step reasoning exceeds time limits",
|
||||
"Sandbox execution failures if code has security vulnerabilities or infinite loops"
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "PipesHub provides a reusable LangGraph-based agent workflow framework that can be parameterized for different tasks. The core pattern involves defining a LangGraph chain with SerperDevTool integration for tool access, creating a React agent wrapper, and configuring RAG pipelines with citation generation. This framework can be reused across RAG, code execution, and research workflows by adjusting the chain definition and agent configuration.",
|
||||
"source_repo": "https://github.com/pipeshub-ai/pipeshub-ai.git",
|
||||
"score": 1.0
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Tests: langgraph-agent-workflow
|
||||
|
||||
## Test Checklist
|
||||
|
||||
- [ ] Workflow has at least 3 steps
|
||||
- [ ] All inputs are defined
|
||||
- [ ] All outputs are defined
|
||||
- [ ] Failure modes are documented
|
||||
- [ ] Skill can be loaded without errors
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
name: langgraph-workflow-creation
|
||||
version: 1.0.0
|
||||
description: Create a LangGraph workflow to gather facts using SerperDevTool and process
|
||||
them with an AI agent.
|
||||
inputs:
|
||||
- API Key for SerperDevTool
|
||||
- Search Query
|
||||
steps:
|
||||
- 'Step 1: Import necessary modules from langgraph and langchain libraries'
|
||||
- 'Step 2: Create a LangGraph agent using `langgraph.create_react_agent` function
|
||||
with SerperDevTool as the tool node'
|
||||
- 'Step 3: Define the search query and pass it to the agent for fact gathering'
|
||||
- 'Step 4: Process the gathered facts within the AI agent'
|
||||
outputs:
|
||||
- Processed Facts
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/jkmaina/LangGraphProjects.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# langgraph-workflow-creation
|
||||
|
||||
Create a LangGraph workflow to gather facts using SerperDevTool and process them with an AI agent.
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install langchain serperdev
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. Install required libraries: pip install langchain serperdev
|
||||
1. Add API key to .env file: OPENAPI_API_KEY=your_api_key
|
||||
|
||||
## Key Files
|
||||
|
||||
- `agent.py - Contains the LangGraph agent creation logic`
|
||||
- `tool_node.py - Defines the SerperDevTool node`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Step 1: Import necessary modules from langgraph and langchain libraries
|
||||
2. Step 2: Create a LangGraph agent using `langgraph.create_react_agent` function with SerperDevTool as the tool node
|
||||
3. Step 3: Define the search query and pass it to the agent for fact gathering
|
||||
4. Step 4: Process the gathered facts within the AI agent
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
import langgraph
|
||||
from serperdev import SerperDevTool
|
||||
|
||||
def create_agent(api_key, query):
|
||||
tool = SerperDevTool(api_key)
|
||||
agent = langgraph.create_react_agent(tool=tool)
|
||||
facts = agent.run(query)
|
||||
return process_facts(facts)
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- API Key for SerperDevTool
|
||||
- Search Query
|
||||
|
||||
## Outputs
|
||||
|
||||
- Processed Facts
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- API Key not provided
|
||||
- Invalid Search Query
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/jkmaina/LangGraphProjects.git](https://github.com/jkmaina/LangGraphProjects.git)
|
||||
Confidence: 0.95
|
||||
@@ -0,0 +1,6 @@
|
||||
# Commands: langgraph-workflow-creation
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill langgraph-workflow-creation` — Load this skill
|
||||
- `/run langgraph-workflow-creation` — Execute workflow
|
||||
@@ -0,0 +1,10 @@
|
||||
# Examples: langgraph-workflow-creation
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: API Key for SerperDevTool, Search Query
|
||||
# Process: Step 1: Import necessary modules from langgraph and langchain libraries → Step 2: Create a LangGraph agent using `langgraph.create_react_agent` function with SerperDevTool as the tool node → Step 3: Define the search query and pass it to the agent for fact gathering
|
||||
# Outputs: Processed Facts
|
||||
```
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "langgraph-workflow-creation",
|
||||
"version": "1.0.0",
|
||||
"goal": "Create a LangGraph workflow to gather facts using SerperDevTool and process them with an AI agent.",
|
||||
"inputs": [
|
||||
"API Key for SerperDevTool",
|
||||
"Search Query"
|
||||
],
|
||||
"steps": [
|
||||
"Step 1: Import necessary modules from langgraph and langchain libraries",
|
||||
"Step 2: Create a LangGraph agent using `langgraph.create_react_agent` function with SerperDevTool as the tool node",
|
||||
"Step 3: Define the search query and pass it to the agent for fact gathering",
|
||||
"Step 4: Process the gathered facts within the AI agent"
|
||||
],
|
||||
"outputs": [
|
||||
"Processed Facts"
|
||||
],
|
||||
"failure_modes": [
|
||||
"API Key not provided",
|
||||
"Invalid Search Query"
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "This workflow is specific to fact gathering and can be adapted for different search queries or tools.",
|
||||
"source_repo": "https://github.com/jkmaina/LangGraphProjects.git",
|
||||
"score": 1.0
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Tests: langgraph-workflow-creation
|
||||
|
||||
## Test Checklist
|
||||
|
||||
- [ ] Workflow has at least 3 steps
|
||||
- [ ] All inputs are defined
|
||||
- [ ] All outputs are defined
|
||||
- [ ] Failure modes are documented
|
||||
- [ ] Skill can be loaded without errors
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user