Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f8d430ebd9 |
@@ -1,54 +0,0 @@
|
|||||||
---
|
|
||||||
name: conditional-request-routing
|
|
||||||
version: 1.0.0
|
|
||||||
description: Classify an input request and route it to either an approval or rejection
|
|
||||||
path, producing a corresponding result
|
|
||||||
inputs:
|
|
||||||
- 'request: the input request or content to be reviewed and routed'
|
|
||||||
steps:
|
|
||||||
- 'Collect input: Use an input agent to capture the user''s request into state field
|
|
||||||
''request'''
|
|
||||||
- 'Branch: Use a branching agent to evaluate ''request'' and route to ''Approve''
|
|
||||||
node on success or ''Reject'' node on failure'
|
|
||||||
- 'Approve path: Use a default agent to format and output an approval message with
|
|
||||||
the request'
|
|
||||||
- 'Reject path: Use a default agent to format and output a rejection message with
|
|
||||||
the request'
|
|
||||||
outputs:
|
|
||||||
- 'result: the approval or rejection message containing the original request'
|
|
||||||
tags: []
|
|
||||||
metadata:
|
|
||||||
source_repo: https://github.com/jwwelbor/AgentMap.git
|
|
||||||
extracted_at: ''
|
|
||||||
confidence: 0.85
|
|
||||||
---
|
|
||||||
|
|
||||||
# conditional-request-routing
|
|
||||||
|
|
||||||
Classify an input request and route it to either an approval or rejection path, producing a corresponding result
|
|
||||||
|
|
||||||
## Steps
|
|
||||||
|
|
||||||
1. Collect input: Use an input agent to capture the user's request into state field 'request'
|
|
||||||
2. Branch: Use a branching agent to evaluate 'request' and route to 'Approve' node on success or 'Reject' node on failure
|
|
||||||
3. Approve path: Use a default agent to format and output an approval message with the request
|
|
||||||
4. Reject path: Use a default agent to format and output a rejection message with the request
|
|
||||||
|
|
||||||
## Inputs
|
|
||||||
|
|
||||||
- request: the input request or content to be reviewed and routed
|
|
||||||
|
|
||||||
## Outputs
|
|
||||||
|
|
||||||
- result: the approval or rejection message containing the original request
|
|
||||||
|
|
||||||
## Failure Modes
|
|
||||||
|
|
||||||
- Branching agent cannot evaluate request and neither path is taken
|
|
||||||
- Missing or empty input request
|
|
||||||
- Prompt misconfiguration causing incorrect routing
|
|
||||||
|
|
||||||
## Source
|
|
||||||
|
|
||||||
Extracted from: [https://github.com/jwwelbor/AgentMap.git](https://github.com/jwwelbor/AgentMap.git)
|
|
||||||
Confidence: 0.85
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
# Commands: conditional-request-routing
|
|
||||||
|
|
||||||
## Available Commands
|
|
||||||
|
|
||||||
- `/skill conditional-request-routing` — Load this skill
|
|
||||||
- `/run conditional-request-routing` — Execute workflow
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Examples: conditional-request-routing
|
|
||||||
|
|
||||||
## Usage Example
|
|
||||||
|
|
||||||
```python
|
|
||||||
# How to use this skill
|
|
||||||
# Inputs: request: the input request or content to be reviewed and routed
|
|
||||||
# Process: Collect input: Use an input agent to capture the user's request into state field 'request' → Branch: Use a branching agent to evaluate 'request' and route to 'Approve' node on success or 'Reject' node on failure → Approve path: Use a default agent to format and output an approval message with the request
|
|
||||||
# Outputs: result: the approval or rejection message containing the original request
|
|
||||||
```
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "conditional-request-routing",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"goal": "Classify an input request and route it to either an approval or rejection path, producing a corresponding result",
|
|
||||||
"inputs": [
|
|
||||||
"request: the input request or content to be reviewed and routed"
|
|
||||||
],
|
|
||||||
"steps": [
|
|
||||||
"Collect input: Use an input agent to capture the user's request into state field 'request'",
|
|
||||||
"Branch: Use a branching agent to evaluate 'request' and route to 'Approve' node on success or 'Reject' node on failure",
|
|
||||||
"Approve path: Use a default agent to format and output an approval message with the request",
|
|
||||||
"Reject path: Use a default agent to format and output a rejection message with the request"
|
|
||||||
],
|
|
||||||
"outputs": [
|
|
||||||
"result: the approval or rejection message containing the original request"
|
|
||||||
],
|
|
||||||
"failure_modes": [
|
|
||||||
"Branching agent cannot evaluate request and neither path is taken",
|
|
||||||
"Missing or empty input request",
|
|
||||||
"Prompt misconfiguration causing incorrect routing"
|
|
||||||
],
|
|
||||||
"confidence": 0.85,
|
|
||||||
"explanation": "Extracted from AgentMap's README example 'ReviewFlow' CSV workflow. This is a declarative LangGraph pattern using AgentMap's CSV format that implements conditional branching - a universally reusable pattern for request triage, content moderation, approval gates, or any two-path decision flow. It can be adapted by changing agent types (e.g., using LLM agents instead of default) and prompts.",
|
|
||||||
"source_repo": "https://github.com/jwwelbor/AgentMap.git",
|
|
||||||
"score": 1.0
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
---
|
||||||
|
name: graph-based-node-workflow
|
||||||
|
version: 1.0.0
|
||||||
|
description: Create and execute typed node graphs for AI/robotics workflows by defining
|
||||||
|
nodes with inputs/outputs and connecting them with edges, then cooking the graph
|
||||||
|
to run the workflow.
|
||||||
|
inputs:
|
||||||
|
- bn.Graph() - the graph container for the workflow
|
||||||
|
- Node definitions (Literal, Text, LLMAgent, Concat, Output, etc.) with specified
|
||||||
|
inputs and outputs
|
||||||
|
- Edge connections mapping from_port to to_port between nodes
|
||||||
|
steps:
|
||||||
|
- 'Step 1: Initialize a bn.Graph() instance to serve as the workflow container'
|
||||||
|
- 'Step 2: Define individual nodes with their required inputs and outputs (e.g., Literal
|
||||||
|
for data, LLMAgent for inference, Concat for combining, Output for final results)'
|
||||||
|
- 'Step 3: Create edges connecting nodes by specifying source from_port and destination
|
||||||
|
to_port for each data flow'
|
||||||
|
- 'Step 4: Execute the graph by calling g.cook() to process the defined workflow and
|
||||||
|
produce results'
|
||||||
|
outputs:
|
||||||
|
- Executed workflow results stored in the graph's output nodes
|
||||||
|
- Cooked graph ready for inspection, replay, or deployment
|
||||||
|
- Potential error states if node dependencies are missing or ports don't match
|
||||||
|
tags: []
|
||||||
|
metadata:
|
||||||
|
source_repo: https://github.com/temiroff/Blacknode.git
|
||||||
|
extracted_at: ''
|
||||||
|
confidence: 0.95
|
||||||
|
---
|
||||||
|
|
||||||
|
# graph-based-node-workflow
|
||||||
|
|
||||||
|
Create and execute typed node graphs for AI/robotics workflows by defining nodes with inputs/outputs and connecting them with edges, then cooking the graph to run the workflow.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
**Dependencies:**
|
||||||
|
|
||||||
|
```text
|
||||||
|
pip install blacknode (core Python package) anthropic, openai, docker, petgraph (dependencies) Rust extensions in blacknode-core, blacknode-runtime (optional)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Setup steps:**
|
||||||
|
|
||||||
|
1. Install blacknode with Python 3.11+ and required dependencies
|
||||||
|
1. Clone repository and navigate to project directory
|
||||||
|
1. Run examples/converted_text_pipeline.py to see basic graph execution
|
||||||
|
1. Modify node definitions and edges to create custom workflows
|
||||||
|
|
||||||
|
## Key Files
|
||||||
|
|
||||||
|
- `examples/converted_text_pipeline.py - basic pipeline pattern`
|
||||||
|
- `examples/hello_agent.py - LLM agent workflow pattern`
|
||||||
|
- `examples/research_pipeline.py - multi-node research workflow`
|
||||||
|
- `blacknode.py - main CLI entry point`
|
||||||
|
|
||||||
|
## Steps
|
||||||
|
|
||||||
|
1. Step 1: Initialize a bn.Graph() instance to serve as the workflow container
|
||||||
|
2. Step 2: Define individual nodes with their required inputs and outputs (e.g., Literal for data, LLMAgent for inference, Concat for combining, Output for final results)
|
||||||
|
3. Step 3: Create edges connecting nodes by specifying source from_port and destination to_port for each data flow
|
||||||
|
4. Step 4: Execute the graph by calling g.cook() to process the defined workflow and produce results
|
||||||
|
|
||||||
|
## Implementation Details
|
||||||
|
|
||||||
|
```python
|
||||||
|
g = bn.Graph()
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
g._edges = [{"from": "model", "from_port": "value", "to": "agent", "to_port": "model"}]
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
result = g.cook(output, "value")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Inputs
|
||||||
|
|
||||||
|
- bn.Graph() - the graph container for the workflow
|
||||||
|
- Node definitions (Literal, Text, LLMAgent, Concat, Output, etc.) with specified inputs and outputs
|
||||||
|
- Edge connections mapping from_port to to_port between nodes
|
||||||
|
|
||||||
|
## Outputs
|
||||||
|
|
||||||
|
- Executed workflow results stored in the graph's output nodes
|
||||||
|
- Cooked graph ready for inspection, replay, or deployment
|
||||||
|
- Potential error states if node dependencies are missing or ports don't match
|
||||||
|
|
||||||
|
## Failure Modes
|
||||||
|
|
||||||
|
- Missing node dependencies causing undefined variable errors
|
||||||
|
- Port mismatch in edge connections leading to no data flow
|
||||||
|
- Incomplete graph definition causing cook() to fail
|
||||||
|
- Model API key missing or invalid for LLMAgent nodes
|
||||||
|
|
||||||
|
## Source
|
||||||
|
|
||||||
|
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
|
||||||
|
Confidence: 0.95
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Commands: graph-based-node-workflow
|
||||||
|
|
||||||
|
## Available Commands
|
||||||
|
|
||||||
|
- `/skill graph-based-node-workflow` — Load this skill
|
||||||
|
- `/run graph-based-node-workflow` — Execute workflow
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# Examples: graph-based-node-workflow
|
||||||
|
|
||||||
|
## Usage Example
|
||||||
|
|
||||||
|
```python
|
||||||
|
# How to use this skill
|
||||||
|
# Inputs: bn.Graph() - the graph container for the workflow, Node definitions (Literal, Text, LLMAgent, Concat, Output, etc.) with specified inputs and outputs, Edge connections mapping from_port to to_port between nodes
|
||||||
|
# Process: Step 1: Initialize a bn.Graph() instance to serve as the workflow container → Step 2: Define individual nodes with their required inputs and outputs (e.g., Literal for data, LLMAgent for inference, Concat for combining, Output for final results) → Step 3: Create edges connecting nodes by specifying source from_port and destination to_port for each data flow
|
||||||
|
# Outputs: Executed workflow results stored in the graph's output nodes, Cooked graph ready for inspection, replay, or deployment, Potential error states if node dependencies are missing or ports don't match
|
||||||
|
```
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"name": "graph-based-node-workflow",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"goal": "Create and execute typed node graphs for AI/robotics workflows by defining nodes with inputs/outputs and connecting them with edges, then cooking the graph to run the workflow.",
|
||||||
|
"inputs": [
|
||||||
|
"bn.Graph() - the graph container for the workflow",
|
||||||
|
"Node definitions (Literal, Text, LLMAgent, Concat, Output, etc.) with specified inputs and outputs",
|
||||||
|
"Edge connections mapping from_port to to_port between nodes"
|
||||||
|
],
|
||||||
|
"steps": [
|
||||||
|
"Step 1: Initialize a bn.Graph() instance to serve as the workflow container",
|
||||||
|
"Step 2: Define individual nodes with their required inputs and outputs (e.g., Literal for data, LLMAgent for inference, Concat for combining, Output for final results)",
|
||||||
|
"Step 3: Create edges connecting nodes by specifying source from_port and destination to_port for each data flow",
|
||||||
|
"Step 4: Execute the graph by calling g.cook() to process the defined workflow and produce results"
|
||||||
|
],
|
||||||
|
"outputs": [
|
||||||
|
"Executed workflow results stored in the graph's output nodes",
|
||||||
|
"Cooked graph ready for inspection, replay, or deployment",
|
||||||
|
"Potential error states if node dependencies are missing or ports don't match"
|
||||||
|
],
|
||||||
|
"failure_modes": [
|
||||||
|
"Missing node dependencies causing undefined variable errors",
|
||||||
|
"Port mismatch in edge connections leading to no data flow",
|
||||||
|
"Incomplete graph definition causing cook() to fail",
|
||||||
|
"Model API key missing or invalid for LLMAgent nodes"
|
||||||
|
],
|
||||||
|
"confidence": 0.95,
|
||||||
|
"explanation": "This workflow pattern is reusable across different AI/robotics applications because it provides a standardized way to compose complex pipelines from typed nodes. The pattern can be adapted to various use cases like research pipelines, agent workflows, or robotics control graphs by simply adding/removing nodes and edges while maintaining the same graph-cooking execution model.",
|
||||||
|
"source_repo": "https://github.com/temiroff/Blacknode.git",
|
||||||
|
"score": 1.0
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
# Tests: conditional-request-routing
|
# Tests: graph-based-node-workflow
|
||||||
|
|
||||||
## Test Checklist
|
## Test Checklist
|
||||||
|
|
||||||
Reference in New Issue
Block a user