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 117 deletions
@@ -1,67 +0,0 @@
---
name: blacknode-text-concatenation-workflow
version: 1.0.0
description: Concatenate two text strings using a Blacknode graph of Text, Concat,
and Output nodes.
inputs:
- 'text_a: string'
- 'text_b: string'
steps:
- Initialize a Blacknode Graph object.
- Add a Text node with parameter value set to text_a.
- Add a second Text node with parameter value set to text_b.
- Add a Concat node (no parameters required).
- Add an Output node (no parameters required).
- Connect the 'value' output port of the first Text node to the 'a' input port of
the Concat node.
- Connect the 'value' output port of the second Text node to the 'b' input port of
the Concat node.
- Connect the 'value' output port of the Concat node to the 'value' input port of
the Output node.
- Evaluate the graph by cooking the Output node's 'value' port to obtain the concatenated
result.
outputs:
- 'concatenated_text: string'
tags: []
metadata:
source_repo: https://github.com/temiroff/Blacknode.git
extracted_at: ''
confidence: 0.95
---
# blacknode-text-concatenation-workflow
Concatenate two text strings using a Blacknode graph of Text, Concat, and Output nodes.
## Steps
1. Initialize a Blacknode Graph object.
2. Add a Text node with parameter value set to text_a.
3. Add a second Text node with parameter value set to text_b.
4. Add a Concat node (no parameters required).
5. Add an Output node (no parameters required).
6. Connect the 'value' output port of the first Text node to the 'a' input port of the Concat node.
7. Connect the 'value' output port of the second Text node to the 'b' input port of the Concat node.
8. Connect the 'value' output port of the Concat node to the 'value' input port of the Output node.
9. Evaluate the graph by cooking the Output node's 'value' port to obtain the concatenated result.
## Inputs
- text_a: string
- text_b: string
## Outputs
- concatenated_text: string
## Failure Modes
- Node types 'Text', 'Concat', or 'Output' not registered in Blacknode runtime
- Port name mismatches during edge creation
- Missing input values causing empty concatenation
- Graph evaluation error if cycles or disconnected required ports
## Source
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
Confidence: 0.95
@@ -1,6 +0,0 @@
# Commands: blacknode-text-concatenation-workflow
## Available Commands
- `/skill blacknode-text-concatenation-workflow` — Load this skill
- `/run blacknode-text-concatenation-workflow` — Execute workflow
@@ -1,10 +0,0 @@
# Examples: blacknode-text-concatenation-workflow
## Usage Example
```python
# How to use this skill
# Inputs: text_a: string, text_b: string
# Process: Initialize a Blacknode Graph object. → Add a Text node with parameter value set to text_a. → Add a second Text node with parameter value set to text_b.
# Outputs: concatenated_text: string
```
@@ -1,33 +0,0 @@
{
"name": "blacknode-text-concatenation-workflow",
"version": "1.0.0",
"goal": "Concatenate two text strings using a Blacknode graph of Text, Concat, and Output nodes.",
"inputs": [
"text_a: string",
"text_b: string"
],
"steps": [
"Initialize a Blacknode Graph object.",
"Add a Text node with parameter value set to text_a.",
"Add a second Text node with parameter value set to text_b.",
"Add a Concat node (no parameters required).",
"Add an Output node (no parameters required).",
"Connect the 'value' output port of the first Text node to the 'a' input port of the Concat node.",
"Connect the 'value' output port of the second Text node to the 'b' input port of the Concat node.",
"Connect the 'value' output port of the Concat node to the 'value' input port of the Output node.",
"Evaluate the graph by cooking the Output node's 'value' port to obtain the concatenated result."
],
"outputs": [
"concatenated_text: string"
],
"failure_modes": [
"Node types 'Text', 'Concat', or 'Output' not registered in Blacknode runtime",
"Port name mismatches during edge creation",
"Missing input values causing empty concatenation",
"Graph evaluation error if cycles or disconnected required ports"
],
"confidence": 0.95,
"explanation": "Extracted from examples/converted_text_pipeline.py and referenced templates/text-pipeline.json in the Blacknode repo. This workflow is a foundational, dependency-free pattern for building directed graphs of typed nodes and is applicable to any simple data combination task.",
"source_repo": "https://github.com/temiroff/Blacknode.git",
"score": 1.0
}
@@ -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: blacknode-text-concatenation-workflow
# Tests: conditional-request-routing-workflow
## Test Checklist