Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 065dc48ef8 | |||
| d81ddeda88 | |||
| a14f09bec2 | |||
| 7f496feb90 |
@@ -34,8 +34,8 @@ scout:
|
|||||||
- 'rag agent workflow'
|
- 'rag agent workflow'
|
||||||
- 'tool calling workflow'
|
- 'tool calling workflow'
|
||||||
filters:
|
filters:
|
||||||
stars_min: 15
|
stars_min: 10
|
||||||
pushed_after: 2026-05-01
|
pushed_after: 2026-02-01
|
||||||
language: Python
|
language: Python
|
||||||
archived: false
|
archived: false
|
||||||
size_max_kb: 10000
|
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.email", "hermes@agent.local"], cwd=repo_dir)
|
||||||
subprocess.run(["git", "config", "user.name", "Hermes Pipeline"], 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
|
# Create skill directory
|
||||||
skill_dir = os.path.join(repo_dir, "skills", skill_name)
|
skill_dir = os.path.join(repo_dir, "skills", skill_name)
|
||||||
os.makedirs(skill_dir, exist_ok=True)
|
os.makedirs(skill_dir, exist_ok=True)
|
||||||
|
|||||||
@@ -137,6 +137,8 @@ def main():
|
|||||||
if publish_output.get("status") == "PUBLISHED":
|
if publish_output.get("status") == "PUBLISHED":
|
||||||
print(f" ✓ Published! PR: {publish_output.get('pr_url', '')}")
|
print(f" ✓ Published! PR: {publish_output.get('pr_url', '')}")
|
||||||
results["published"] += 1
|
results["published"] += 1
|
||||||
|
elif publish_output.get("status") == "SKIP":
|
||||||
|
print(f" ⏸ Skipped: {publish_output.get('reason', '')}")
|
||||||
else:
|
else:
|
||||||
print(f" ! {publish_output.get('status', '?')}: {publish_output.get('message', publish_output.get('error', ''))[:100]}")
|
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,96 @@
|
|||||||
|
---
|
||||||
|
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
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Commands: blacknode-graph-workflow
|
||||||
|
|
||||||
|
## Available Commands
|
||||||
|
|
||||||
|
- `/skill blacknode-graph-workflow` — Load this skill
|
||||||
|
- `/run blacknode-graph-workflow` — Execute workflow
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# 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
|
||||||
|
```
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"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,9 @@
|
|||||||
|
# Tests: blacknode-graph-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
|
||||||
Reference in New Issue
Block a user