From 27789456db18ce7aa145e6cfcdaa9e1f79c6a406 Mon Sep 17 00:00:00 2001 From: Hermes Pipeline Date: Sat, 8 Aug 2026 23:48:40 +0000 Subject: [PATCH] Add Skill: conditional-input-routing Extracted from: https://github.com/jwwelbor/AgentMap.git Score: 1.0 --- skills/conditional-input-routing/SKILL.md | 73 +++++++++++++++++++ skills/conditional-input-routing/commands.md | 6 ++ skills/conditional-input-routing/examples.md | 10 +++ .../conditional-input-routing/metadata.json | 61 ++++++++++++++++ skills/conditional-input-routing/tests.md | 9 +++ 5 files changed, 159 insertions(+) create mode 100644 skills/conditional-input-routing/SKILL.md create mode 100644 skills/conditional-input-routing/commands.md create mode 100644 skills/conditional-input-routing/examples.md create mode 100644 skills/conditional-input-routing/metadata.json create mode 100644 skills/conditional-input-routing/tests.md diff --git a/skills/conditional-input-routing/SKILL.md b/skills/conditional-input-routing/SKILL.md new file mode 100644 index 0000000..36344d8 --- /dev/null +++ b/skills/conditional-input-routing/SKILL.md @@ -0,0 +1,73 @@ +--- +name: conditional-input-routing +version: 1.0.0 +description: Collect user input, classify or branch on its content, and route to appropriate + success or failure handling paths to produce a final result +inputs: +- name: request + type: string + description: User-provided input or request to be evaluated +steps: +- name: Start + action: input agent captures initial request into state + agent_type: input + output_field: request +- name: Classify + action: branching agent evaluates request and routes to next_node or on_failure + agent_type: branching + input_fields: request + output_field: decision + next_node: Approve + on_failure: Reject +- name: Approve + action: default agent processes approved request and sets result + agent_type: default + input_fields: request + output_field: result + prompt: 'Request approved: {request}' +- name: Reject + action: default agent processes rejected request and sets result + agent_type: default + input_fields: request + output_field: result + prompt: 'Request rejected: {request}' +outputs: +- name: result + type: string + description: Final output from either the approve or reject branch +tags: [] +metadata: + source_repo: https://github.com/jwwelbor/AgentMap.git + extracted_at: '' + confidence: 0.9 +--- + +# conditional-input-routing + +Collect user input, classify or branch on its content, and route to appropriate success or failure handling paths to produce a final result + +## Steps + +1. {'name': 'Start', 'action': 'input agent captures initial request into state', 'agent_type': 'input', 'output_field': 'request'} +2. {'name': 'Classify', 'action': 'branching agent evaluates request and routes to next_node or on_failure', 'agent_type': 'branching', 'input_fields': 'request', 'output_field': 'decision', 'next_node': 'Approve', 'on_failure': 'Reject'} +3. {'name': 'Approve', 'action': 'default agent processes approved request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request approved: {request}'} +4. {'name': 'Reject', 'action': 'default agent processes rejected request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request rejected: {request}'} + +## Inputs + +- {'name': 'request', 'type': 'string', 'description': 'User-provided input or request to be evaluated'} + +## Outputs + +- {'name': 'result', 'type': 'string', 'description': 'Final output from either the approve or reject branch'} + +## Failure Modes + +- Input node fails to capture request (handled by on_failure if defined) +- Branching condition not met and no on_failure path defined +- Missing input_fields in state causing agent execution error + +## Source + +Extracted from: [https://github.com/jwwelbor/AgentMap.git](https://github.com/jwwelbor/AgentMap.git) +Confidence: 0.9 diff --git a/skills/conditional-input-routing/commands.md b/skills/conditional-input-routing/commands.md new file mode 100644 index 0000000..7b73633 --- /dev/null +++ b/skills/conditional-input-routing/commands.md @@ -0,0 +1,6 @@ +# Commands: conditional-input-routing + +## Available Commands + +- `/skill conditional-input-routing` — Load this skill +- `/run conditional-input-routing` — Execute workflow diff --git a/skills/conditional-input-routing/examples.md b/skills/conditional-input-routing/examples.md new file mode 100644 index 0000000..09324bc --- /dev/null +++ b/skills/conditional-input-routing/examples.md @@ -0,0 +1,10 @@ +# Examples: conditional-input-routing + +## Usage Example + +```python +# How to use this skill +# Inputs: {'name': 'request', 'type': 'string', 'description': 'User-provided input or request to be evaluated'} +# Process: {'name': 'Start', 'action': 'input agent captures initial request into state', 'agent_type': 'input', 'output_field': 'request'} → {'name': 'Classify', 'action': 'branching agent evaluates request and routes to next_node or on_failure', 'agent_type': 'branching', 'input_fields': 'request', 'output_field': 'decision', 'next_node': 'Approve', 'on_failure': 'Reject'} → {'name': 'Approve', 'action': 'default agent processes approved request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request approved: {request}'} +# Outputs: {'name': 'result', 'type': 'string', 'description': 'Final output from either the approve or reject branch'} +``` diff --git a/skills/conditional-input-routing/metadata.json b/skills/conditional-input-routing/metadata.json new file mode 100644 index 0000000..98b6663 --- /dev/null +++ b/skills/conditional-input-routing/metadata.json @@ -0,0 +1,61 @@ +{ + "name": "conditional-input-routing", + "version": "1.0.0", + "goal": "Collect user input, classify or branch on its content, and route to appropriate success or failure handling paths to produce a final result", + "inputs": [ + { + "name": "request", + "type": "string", + "description": "User-provided input or request to be evaluated" + } + ], + "steps": [ + { + "name": "Start", + "action": "input agent captures initial request into state", + "agent_type": "input", + "output_field": "request" + }, + { + "name": "Classify", + "action": "branching agent evaluates request and routes to next_node or on_failure", + "agent_type": "branching", + "input_fields": "request", + "output_field": "decision", + "next_node": "Approve", + "on_failure": "Reject" + }, + { + "name": "Approve", + "action": "default agent processes approved request and sets result", + "agent_type": "default", + "input_fields": "request", + "output_field": "result", + "prompt": "Request approved: {request}" + }, + { + "name": "Reject", + "action": "default agent processes rejected request and sets result", + "agent_type": "default", + "input_fields": "request", + "output_field": "result", + "prompt": "Request rejected: {request}" + } + ], + "outputs": [ + { + "name": "result", + "type": "string", + "description": "Final output from either the approve or reject branch" + } + ], + "failure_modes": [ + "Input node fails to capture request (handled by on_failure if defined)", + "Branching condition not met and no on_failure path defined", + "Missing input_fields in state causing agent execution error" + ], + "confidence": 0.9, + "explanation": "Extracted from AgentMap's documented conditional workflow example (ReviewFlow). This CSV-declared pattern of input to branching to dual-path handling is reusable for any approval, triage, or routing scenario without writing orchestration code.", + "source_repo": "https://github.com/jwwelbor/AgentMap.git", + "score": 1.0 +} \ No newline at end of file diff --git a/skills/conditional-input-routing/tests.md b/skills/conditional-input-routing/tests.md new file mode 100644 index 0000000..b85d895 --- /dev/null +++ b/skills/conditional-input-routing/tests.md @@ -0,0 +1,9 @@ +# Tests: conditional-input-routing + +## 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 -- 2.43.0