Compare commits

..

1 Commits

Author SHA1 Message Date
Hermes Pipeline a2433251cd Add Skill: conditional-request-routing-workflow
Extracted from: https://github.com/jwwelbor/AgentMap.git
Score: 1.0
2026-08-08 22:55:19 +00:00
9 changed files with 170 additions and 110 deletions
@@ -0,0 +1,81 @@
---
name: conditional-request-routing-workflow
version: 1.0.0
description: Collect a request, classify it via branching logic, and route to an approval
or rejection handler to produce a final result
inputs:
- name: request
type: string
description: The input text or request to be evaluated and routed
steps:
- node: Start
agent_type: input
description: Prompt user and capture the request into state field 'request'
next: Classify
- node: Classify
agent_type: branching
description: Evaluate the request and set 'decision' field, routing to Approve on
success or Reject on failure
input_fields:
- request
output_field: decision
next_node: Approve
on_failure: Reject
- node: Approve
agent_type: default
description: Format and output an approval message containing the request
input_fields:
- request
output_field: result
prompt: 'Request approved: {request}'
- node: Reject
agent_type: default
description: Format and output a rejection message containing the request
input_fields:
- request
output_field: result
prompt: 'Request rejected: {request}'
outputs:
- name: result
type: string
description: Final formatted message indicating the outcome (approved or rejected)
- name: decision
type: string
description: Routing decision produced by the branching node
tags: []
metadata:
source_repo: https://github.com/jwwelbor/AgentMap.git
extracted_at: ''
confidence: 0.92
---
# conditional-request-routing-workflow
Collect a request, classify it via branching logic, and route to an approval or rejection handler to produce a final result
## Steps
1. {'node': 'Start', 'agent_type': 'input', 'description': "Prompt user and capture the request into state field 'request'", 'next': 'Classify'}
2. {'node': 'Classify', 'agent_type': 'branching', 'description': "Evaluate the request and set 'decision' field, routing to Approve on success or Reject on failure", 'input_fields': ['request'], 'output_field': 'decision', 'next_node': 'Approve', 'on_failure': 'Reject'}
3. {'node': 'Approve', 'agent_type': 'default', 'description': 'Format and output an approval message containing the request', 'input_fields': ['request'], 'output_field': 'result', 'prompt': 'Request approved: {request}'}
4. {'node': 'Reject', 'agent_type': 'default', 'description': 'Format and output a rejection message containing the request', 'input_fields': ['request'], 'output_field': 'result', 'prompt': 'Request rejected: {request}'}
## Inputs
- {'name': 'request', 'type': 'string', 'description': 'The input text or request to be evaluated and routed'}
## Outputs
- {'name': 'result', 'type': 'string', 'description': 'Final formatted message indicating the outcome (approved or rejected)'}
- {'name': 'decision', 'type': 'string', 'description': 'Routing decision produced by the branching node'}
## Failure Modes
- Empty or missing request input prevents meaningful classification
- Branching node fails to resolve a valid route and defaults to rejection path
- Prompt template variable missing causes malformed output
## Source
Extracted from: [https://github.com/jwwelbor/AgentMap.git](https://github.com/jwwelbor/AgentMap.git)
Confidence: 0.92
@@ -0,0 +1,6 @@
# Commands: conditional-request-routing-workflow
## Available Commands
- `/skill conditional-request-routing-workflow` — Load this skill
- `/run conditional-request-routing-workflow` — Execute workflow
@@ -0,0 +1,10 @@
# Examples: conditional-request-routing-workflow
## Usage Example
```python
# How to use this skill
# Inputs: {'name': 'request', 'type': 'string', 'description': 'The input text or request to be evaluated and routed'}
# Process: {'node': 'Start', 'agent_type': 'input', 'description': "Prompt user and capture the request into state field 'request'", 'next': 'Classify'} → {'node': 'Classify', 'agent_type': 'branching', 'description': "Evaluate the request and set 'decision' field, routing to Approve on success or Reject on failure", 'input_fields': ['request'], 'output_field': 'decision', 'next_node': 'Approve', 'on_failure': 'Reject'} → {'node': 'Approve', 'agent_type': 'default', 'description': 'Format and output an approval message containing the request', 'input_fields': ['request'], 'output_field': 'result', 'prompt': 'Request approved: {request}'}
# Outputs: {'name': 'result', 'type': 'string', 'description': 'Final formatted message indicating the outcome (approved or rejected)'}, {'name': 'decision', 'type': 'string', 'description': 'Routing decision produced by the branching node'}
```
@@ -0,0 +1,72 @@
{
"name": "conditional-request-routing-workflow",
"version": "1.0.0",
"goal": "Collect a request, classify it via branching logic, and route to an approval or rejection handler to produce a final result",
"inputs": [
{
"name": "request",
"type": "string",
"description": "The input text or request to be evaluated and routed"
}
],
"steps": [
{
"node": "Start",
"agent_type": "input",
"description": "Prompt user and capture the request into state field 'request'",
"next": "Classify"
},
{
"node": "Classify",
"agent_type": "branching",
"description": "Evaluate the request and set 'decision' field, routing to Approve on success or Reject on failure",
"input_fields": [
"request"
],
"output_field": "decision",
"next_node": "Approve",
"on_failure": "Reject"
},
{
"node": "Approve",
"agent_type": "default",
"description": "Format and output an approval message containing the request",
"input_fields": [
"request"
],
"output_field": "result",
"prompt": "Request approved: {request}"
},
{
"node": "Reject",
"agent_type": "default",
"description": "Format and output a rejection message containing the request",
"input_fields": [
"request"
],
"output_field": "result",
"prompt": "Request rejected: {request}"
}
],
"outputs": [
{
"name": "result",
"type": "string",
"description": "Final formatted message indicating the outcome (approved or rejected)"
},
{
"name": "decision",
"type": "string",
"description": "Routing decision produced by the branching node"
}
],
"failure_modes": [
"Empty or missing request input prevents meaningful classification",
"Branching node fails to resolve a valid route and defaults to rejection path",
"Prompt template variable missing causes malformed output"
],
"confidence": 0.92,
"explanation": "Extracted from the ReviewFlow CSV example in the AgentMap README. This is a declarative, CSV-defined LangGraph workflow demonstrating the reusable pattern of input -> branching classification -> conditional handling paths. It can be generalized for ticket triage, content moderation, or any route-by-condition use case.",
"source_repo": "https://github.com/jwwelbor/AgentMap.git",
"score": 1.0
}
@@ -1,4 +1,4 @@
# Tests: text-concatenation
# Tests: conditional-request-routing-workflow
## Test Checklist
-61
View File
@@ -1,61 +0,0 @@
---
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
-6
View File
@@ -1,6 +0,0 @@
# Commands: text-concatenation
## Available Commands
- `/skill text-concatenation` — Load this skill
- `/run text-concatenation` — Execute workflow
-10
View File
@@ -1,10 +0,0 @@
# 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
```
-32
View File
@@ -1,32 +0,0 @@
{
"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
}