๐ง Agentic AI Development FrameworksJuly 3, 2026โ
Tests passing
Agent Workflow Designer
This CLI tool allows AI developers to design modular, reusable workflows for autonomous AI agents by defining tasks and their interdependencies. It generates a JSON or YAML blueprint that can be used to orchestrate agent behavior, making it easier to prototype and iterate on agentic AI systems.
What It Does
- Interactive CLI for modular workflow design
- Supports adding/removing tasks and dependencies
- Generates agent workflow blueprints in JSON or YAML
- Easy-to-use interface for rapid prototyping
Installation
1. Clone the repository:
git clone https://github.com/your-repo/agent_workflow_designer.git
cd agent_workflow_designer2. Install dependencies:
pip install -r requirements.txtUsage
tasks:
- Task1
- Task2
dependencies:
- [Task1, Task2]Source Code
import json
import yaml
import click
import networkx as nx
from networkx.drawing.nx_pydot import write_dot
@click.command()
@click.option('--output', '-o', required=True, type=click.Path(), help='Output file for the workflow blueprint (JSON or YAML).')
def main(output):
"""Agent Workflow Designer: Design modular workflows for AI agents."""
click.echo("Welcome to the Agent Workflow Designer!")
# Initialize an empty directed graph
graph = nx.DiGraph()
while True:
click.echo("\nCurrent tasks in the workflow:")
for node in graph.nodes:
click.echo(f"- {node}")
action = click.prompt("Choose an action: [add_task, add_dependency, remove_task, remove_dependency, save, quit]", type=str)
if action == 'add_task':
task_name = click.prompt("Enter the task name", type=str)
if task_name in graph:
click.echo("Task already exists!")
else:
graph.add_node(task_name)
click.echo(f"Task '{task_name}' added.")
elif action == 'add_dependency':
task_from = click.prompt("Enter the source task (dependency)", type=str)
task_to = click.prompt("Enter the target task (dependent)", type=str)
if task_from in graph and task_to in graph:
graph.add_edge(task_from, task_to)
click.echo(f"Dependency added: {task_from} -> {task_to}")
else:
click.echo("One or both tasks do not exist.")
elif action == 'remove_task':
task_name = click.prompt("Enter the task name to remove", type=str)
if task_name in graph:
graph.remove_node(task_name)
click.echo(f"Task '{task_name}' removed.")
else:
click.echo("Task does not exist.")
elif action == 'remove_dependency':
task_from = click.prompt("Enter the source task (dependency)", type=str)
task_to = click.prompt("Enter the target task (dependent)", type=str)
if graph.has_edge(task_from, task_to):
graph.remove_edge(task_from, task_to)
click.echo(f"Dependency removed: {task_from} -> {task_to}")
else:
click.echo("Dependency does not exist.")
elif action == 'save':
data = {
'tasks': list(graph.nodes),
'dependencies': list(graph.edges)
}
if output.endswith('.json'):
with open(output, 'w') as f:
json.dump(data, f, indent=4)
click.echo(f"Workflow saved to {output} as JSON.")
elif output.endswith('.yaml') or output.endswith('.yml'):
with open(output, 'w') as f:
yaml.dump(data, f)
click.echo(f"Workflow saved to {output} as YAML.")
else:
click.echo("Unsupported file format. Please use .json or .yaml.")
elif action == 'quit':
click.echo("Exiting Agent Workflow Designer. Goodbye!")
break
else:
click.echo("Invalid action. Please try again.")
if __name__ == '__main__':
main()
Community
Downloads
ยทยทยท
Rate this tool
No ratings yet โ be the first!
Details
- Tool Name
- agent_workflow_designer
- Category
- Agentic AI Development Frameworks
- Generated
- July 3, 2026
- Tests
- Passing โ
Quick Install
Clone just this tool:
git clone --depth 1 --filter=blob:none --sparse \ https://github.com/ptulin/autoaiforge.git cd autoaiforge git sparse-checkout set generated_tools/2026-07-03/agent_workflow_designer cd generated_tools/2026-07-03/agent_workflow_designer pip install -r requirements.txt 2>/dev/null || true python agent_workflow_designer.py