Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 536add1ef9 |
@@ -1,101 +0,0 @@
|
||||
---
|
||||
name: branching-agent-pattern
|
||||
version: 1.0.0
|
||||
description: Define and execute AI agent workflows using CSV-based declarative definitions
|
||||
with configurable branching logic
|
||||
inputs:
|
||||
- 'CSV workflow files defining agent graphs with columns: graph_name, node_name, agent_type,
|
||||
next_node, on_failure, prompt, input_fields, output_field'
|
||||
- LLM provider configuration (OpenAI, Anthropic, Google) in agentmap_config.yaml
|
||||
- Storage backend configuration in agentmap_config_storage.yaml
|
||||
steps:
|
||||
- Define workflow graph in CSV with nodes representing agent steps and their connections
|
||||
(next_node, on_failure)
|
||||
- Configure BranchingAgent with customizable success/failure values and fallback fields
|
||||
in the context dictionary
|
||||
- Initialize the agent runtime with ensure_initialized() and configure execution tracking
|
||||
and state adapter services
|
||||
- Execute the workflow using agentmap run with appropriate inputs and monitor the
|
||||
execution trace
|
||||
outputs:
|
||||
- Executed workflow with results stored in the specified output_field
|
||||
- Detailed execution trace showing success/failure decisions at each branching point
|
||||
- Updated workflow state persisted in the configured storage backend
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/jwwelbor/AgentMap.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# branching-agent-pattern
|
||||
|
||||
Define and execute AI agent workflows using CSV-based declarative definitions with configurable branching logic
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install langgraph>=1.0.0 langchain-core>=0.3.0 pyyaml>=6.0.0 fastapi>=0.111.0 uvicorn>=0.34.3
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. Install AgentMap: pip install agentmap[all]
|
||||
1. Configure llm providers in agentmap_config.yaml (OpenAI, Anthropic, Google models)
|
||||
1. Create CSV workflow files with graph definitions
|
||||
1. Initialize runtime with ensure_initialized()
|
||||
1. Run workflow with agentmap run <csv_file> --pretty
|
||||
|
||||
## Key Files
|
||||
|
||||
- `agentmap_config.yaml - Main configuration with LLM and storage settings`
|
||||
- `agentmap_config_storage.yaml - Storage backend configuration`
|
||||
- `hello_world.csv - Sample workflow demonstrating basic agent chain`
|
||||
- `examples/host_integration/custom_agents.py - Custom agent implementations with host service integration`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Define workflow graph in CSV with nodes representing agent steps and their connections (next_node, on_failure)
|
||||
2. Configure BranchingAgent with customizable success/failure values and fallback fields in the context dictionary
|
||||
3. Initialize the agent runtime with ensure_initialized() and configure execution tracking and state adapter services
|
||||
4. Execute the workflow using agentmap run with appropriate inputs and monitor the execution trace
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
CSV format: graph_name,node_name,agent_type,next_node,on_failure,prompt,input_fields,output_field
|
||||
```
|
||||
|
||||
```python
|
||||
BranchingAgent context example: {'input_fields': ['success'], 'output_field': 'result', 'success_values': ['PASSED', 'COMPLETED']}
|
||||
```
|
||||
|
||||
```python
|
||||
Execution command: agentmap run hello_world.csv --pretty
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- CSV workflow files defining agent graphs with columns: graph_name, node_name, agent_type, next_node, on_failure, prompt, input_fields, output_field
|
||||
- LLM provider configuration (OpenAI, Anthropic, Google) in agentmap_config.yaml
|
||||
- Storage backend configuration in agentmap_config_storage.yaml
|
||||
|
||||
## Outputs
|
||||
|
||||
- Executed workflow with results stored in the specified output_field
|
||||
- Detailed execution trace showing success/failure decisions at each branching point
|
||||
- Updated workflow state persisted in the configured storage backend
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- Invalid CSV format causing parsing errors during workflow loading
|
||||
- Missing or misconfigured LLM provider settings leading to execution failures
|
||||
- Storage backend unavailable or misconfigured preventing workflow persistence
|
||||
- Agent execution timeout due to long-running operations or infinite loops
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/jwwelbor/AgentMap.git](https://github.com/jwwelbor/AgentMap.git)
|
||||
Confidence: 0.95
|
||||
@@ -1,6 +0,0 @@
|
||||
# Commands: branching-agent-pattern
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill branching-agent-pattern` — Load this skill
|
||||
- `/run branching-agent-pattern` — Execute workflow
|
||||
@@ -1,10 +0,0 @@
|
||||
# Examples: branching-agent-pattern
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: CSV workflow files defining agent graphs with columns: graph_name, node_name, agent_type, next_node, on_failure, prompt, input_fields, output_field, LLM provider configuration (OpenAI, Anthropic, Google) in agentmap_config.yaml, Storage backend configuration in agentmap_config_storage.yaml
|
||||
# Process: Define workflow graph in CSV with nodes representing agent steps and their connections (next_node, on_failure) → Configure BranchingAgent with customizable success/failure values and fallback fields in the context dictionary → Initialize the agent runtime with ensure_initialized() and configure execution tracking and state adapter services
|
||||
# Outputs: Executed workflow with results stored in the specified output_field, Detailed execution trace showing success/failure decisions at each branching point, Updated workflow state persisted in the configured storage backend
|
||||
```
|
||||
@@ -1,31 +0,0 @@
|
||||
{
|
||||
"name": "branching-agent-pattern",
|
||||
"version": "1.0.0",
|
||||
"goal": "Define and execute AI agent workflows using CSV-based declarative definitions with configurable branching logic",
|
||||
"inputs": [
|
||||
"CSV workflow files defining agent graphs with columns: graph_name, node_name, agent_type, next_node, on_failure, prompt, input_fields, output_field",
|
||||
"LLM provider configuration (OpenAI, Anthropic, Google) in agentmap_config.yaml",
|
||||
"Storage backend configuration in agentmap_config_storage.yaml"
|
||||
],
|
||||
"steps": [
|
||||
"Define workflow graph in CSV with nodes representing agent steps and their connections (next_node, on_failure)",
|
||||
"Configure BranchingAgent with customizable success/failure values and fallback fields in the context dictionary",
|
||||
"Initialize the agent runtime with ensure_initialized() and configure execution tracking and state adapter services",
|
||||
"Execute the workflow using agentmap run with appropriate inputs and monitor the execution trace"
|
||||
],
|
||||
"outputs": [
|
||||
"Executed workflow with results stored in the specified output_field",
|
||||
"Detailed execution trace showing success/failure decisions at each branching point",
|
||||
"Updated workflow state persisted in the configured storage backend"
|
||||
],
|
||||
"failure_modes": [
|
||||
"Invalid CSV format causing parsing errors during workflow loading",
|
||||
"Missing or misconfigured LLM provider settings leading to execution failures",
|
||||
"Storage backend unavailable or misconfigured preventing workflow persistence",
|
||||
"Agent execution timeout due to long-running operations or infinite loops"
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "The BranchingAgent pattern provides a reusable framework for creating conditional AI workflows. The CSV-based workflow definition allows defining complex agent graphs declaratively, while the BranchingAgent handles dynamic branching based on success/failure conditions with customizable value sets. This pattern can be adapted to various use cases including task routing, error handling, and conditional execution paths across different domains.",
|
||||
"source_repo": "https://github.com/jwwelbor/AgentMap.git",
|
||||
"score": 1.0
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
name: text-concatenation
|
||||
version: 1.0.0
|
||||
description: Concatenate two text inputs using Blacknode node graph
|
||||
inputs:
|
||||
- text_a
|
||||
- text_b
|
||||
steps:
|
||||
- Create a Blacknode Graph instance
|
||||
- Add a Text node with param value set to text_a
|
||||
- Add a second Text node with param value set to text_b
|
||||
- Add a Concat node that accepts inputs 'a' and 'b' and outputs 'value'
|
||||
- Add an Output node with input port 'value'
|
||||
- Connect first Text node 'value' port to Concat 'a' port
|
||||
- Connect second Text node 'value' port to Concat 'b' port
|
||||
- Connect Concat 'value' port to Output 'value' port
|
||||
- Invoke graph cook on Output 'value' to evaluate and return result
|
||||
outputs:
|
||||
- concatenated_text
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/temiroff/Blacknode.git
|
||||
extracted_at: ''
|
||||
confidence: 0.9
|
||||
---
|
||||
|
||||
# text-concatenation
|
||||
|
||||
Concatenate two text inputs using Blacknode node graph
|
||||
|
||||
## Steps
|
||||
|
||||
1. Create a Blacknode Graph instance
|
||||
2. Add a Text node with param value set to text_a
|
||||
3. Add a second Text node with param value set to text_b
|
||||
4. Add a Concat node that accepts inputs 'a' and 'b' and outputs 'value'
|
||||
5. Add an Output node with input port 'value'
|
||||
6. Connect first Text node 'value' port to Concat 'a' port
|
||||
7. Connect second Text node 'value' port to Concat 'b' port
|
||||
8. Connect Concat 'value' port to Output 'value' port
|
||||
9. Invoke graph cook on Output 'value' to evaluate and return result
|
||||
|
||||
## Inputs
|
||||
|
||||
- text_a
|
||||
- text_b
|
||||
|
||||
## Outputs
|
||||
|
||||
- concatenated_text
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- Port name mismatch causes connection error
|
||||
- Missing runtime or graph not initialized
|
||||
- Cook on nonexistent node returns error
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
|
||||
Confidence: 0.9
|
||||
@@ -0,0 +1,6 @@
|
||||
# Commands: text-concatenation
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill text-concatenation` — Load this skill
|
||||
- `/run text-concatenation` — Execute workflow
|
||||
@@ -0,0 +1,10 @@
|
||||
# Examples: text-concatenation
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: text_a, text_b
|
||||
# Process: Create a Blacknode Graph instance → Add a Text node with param value set to text_a → Add a second Text node with param value set to text_b
|
||||
# Outputs: concatenated_text
|
||||
```
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "text-concatenation",
|
||||
"version": "1.0.0",
|
||||
"goal": "Concatenate two text inputs using Blacknode node graph",
|
||||
"inputs": [
|
||||
"text_a",
|
||||
"text_b"
|
||||
],
|
||||
"steps": [
|
||||
"Create a Blacknode Graph instance",
|
||||
"Add a Text node with param value set to text_a",
|
||||
"Add a second Text node with param value set to text_b",
|
||||
"Add a Concat node that accepts inputs 'a' and 'b' and outputs 'value'",
|
||||
"Add an Output node with input port 'value'",
|
||||
"Connect first Text node 'value' port to Concat 'a' port",
|
||||
"Connect second Text node 'value' port to Concat 'b' port",
|
||||
"Connect Concat 'value' port to Output 'value' port",
|
||||
"Invoke graph cook on Output 'value' to evaluate and return result"
|
||||
],
|
||||
"outputs": [
|
||||
"concatenated_text"
|
||||
],
|
||||
"failure_modes": [
|
||||
"Port name mismatch causes connection error",
|
||||
"Missing runtime or graph not initialized",
|
||||
"Cook on nonexistent node returns error"
|
||||
],
|
||||
"confidence": 0.9,
|
||||
"explanation": "The repo contains example converted workflows; converted_text_pipeline.py demonstrates a simple reusable pattern of two source nodes feeding a concatenation node into an output, applicable to any string joining task in Blacknode.",
|
||||
"source_repo": "https://github.com/temiroff/Blacknode.git",
|
||||
"score": 1.0
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
# Tests: branching-agent-pattern
|
||||
# Tests: text-concatenation
|
||||
|
||||
## Test Checklist
|
||||
|
||||
Reference in New Issue
Block a user