
Agent Workflow Designer
Pick and document multi-agent workflow shapes (sequential, parallel, router, orchestrator, evaluator) with a consistent handoff contract before you wire specialists in Claude Code or Cursor.
Overview
Agent Workflow Designer is an agent skill most often used in Build (also Ship, Operate) that supplies five JSON workflow patterns and a minimum handoff contract for multi-step agent systems.
Install
npx skills add https://github.com/alirezarezvani/claude-skills --skill agent-workflow-designerWhat is this skill?
- Five workflow pattern templates: sequential, parallel, router, orchestrator, and evaluator with JSON examples
- Pattern selection heuristics tied to linear deps, throughput, intent branching, DAG planning, and quality gates
- Evaluator pattern with max_iterations and pass_threshold for mandatory quality loops
- Handoff minimum contract: workflow_id, step_id, task, constraints, upstream_artifacts, budget_tokens
- Orchestrator pattern with dependency_mode DAG and named specialists
- 5 workflow pattern templates (sequential, parallel, router, orchestrator, evaluator)
- 6-field handoff minimum contract
Adoption & trust: 538 installs on skills.sh; 17.5k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are adding several agents but have no shared pattern for sequencing, routing, or quality loops, so handoffs lose context and architecture stays ad hoc.
Who is it for?
Solo builders designing multi-agent pipelines, squads, or orchestrators before implementation and wanting consistent step contracts.
Skip if: Single-prompt assistants with no handoffs, or teams that already enforce a proprietary orchestration framework and do not want template JSON.
When should I use this skill?
You are planning multi-step or multi-agent workflows and need a named pattern plus handoff fields before implementation.
What do I get? / Deliverables
You leave with a named pattern (sequential through evaluator), selection rationale, and handoff fields every step must pass to the next specialist or gate.
- Selected workflow pattern JSON
- Documented handoff contract per step transition
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build because the skill outputs workflow pattern JSON and routing/orchestration templates used while assembling agent systems. agent-tooling is where solo builders define step graphs, fan-out/fan-in, and evaluator loops—not one-off prompts.
Where it fits
Choose orchestrator + DAG dependency_mode before assigning researcher, analyst, and coder specialists.
Map router + fallback generalist before wiring sales, support, and engineering handlers to external APIs.
Apply evaluator pattern with pass_threshold 0.8 and max_iterations 3 before releasing generated content.
Convert a failing monolithic sequential chain into parallel fan_out with a synthesizer fan_in to cut latency.
How it compares
Use as a design pattern catalog before building squads or chains—not as a hosted runtime or MCP server.
Common Questions / FAQ
Who is agent-workflow-designer for?
Indie developers and small teams wiring multiple AI agents who need standard patterns and explicit handoff payloads before they code routers or evaluators.
When should I use agent-workflow-designer?
During Build agent-tooling when you map a pipeline; in Ship testing when you model evaluator loops with pass thresholds; in Operate iterate when you refactor sequential flows into parallel or router patterns.
Is agent-workflow-designer safe to install?
It is documentation-style templates without built-in tool execution; review the Security Audits panel on this Prism page before installing any skill from the repo.
SKILL.md
READMESKILL.md - Agent Workflow Designer
# Workflow Pattern Templates ## Sequential Use when each step depends on prior output. ```json { "pattern": "sequential", "steps": ["research", "draft", "review"] } ``` ## Parallel Use when independent tasks can fan out and then fan in. ```json { "pattern": "parallel", "fan_out": ["task_a", "task_b", "task_c"], "fan_in": "synthesizer" } ``` ## Router Use when tasks must be routed to specialized handlers by intent. ```json { "pattern": "router", "router": "intent_router", "routes": ["sales", "support", "engineering"], "fallback": "generalist" } ``` ## Orchestrator Use when dynamic planning and dependency management are required. ```json { "pattern": "orchestrator", "orchestrator": "planner", "specialists": ["researcher", "analyst", "coder"], "dependency_mode": "dag" } ``` ## Evaluator Use when output quality gates are mandatory before finalization. ```json { "pattern": "evaluator", "generator": "content_agent", "evaluator": "quality_agent", "max_iterations": 3, "pass_threshold": 0.8 } ``` ## Pattern Selection Heuristics - Choose `sequential` for strict linear workflows. - Choose `parallel` for throughput and latency reduction. - Choose `router` for intent- or type-based branching. - Choose `orchestrator` for complex adaptive workflows. - Choose `evaluator` when correctness/quality loops are required. ## Handoff Minimum Contract - `workflow_id` - `step_id` - `task` - `constraints` - `upstream_artifacts` - `budget_tokens` - `timeout_seconds` #!/usr/bin/env python3 """Generate workflow skeleton configs from common multi-agent patterns.""" from __future__ import annotations import argparse import json from pathlib import Path from typing import Dict, List def sequential_template(name: str) -> Dict: return { "name": name, "pattern": "sequential", "steps": [ {"id": "research", "agent": "researcher", "next": "draft"}, {"id": "draft", "agent": "writer", "next": "review"}, {"id": "review", "agent": "reviewer", "next": None}, ], "retry": {"max_attempts": 2, "backoff_seconds": 2}, } def parallel_template(name: str) -> Dict: return { "name": name, "pattern": "parallel", "fan_out": { "tasks": ["research_a", "research_b", "research_c"], "agent": "analyst", }, "fan_in": {"agent": "synthesizer", "output": "combined_report"}, "timeouts": {"per_task_seconds": 180, "fan_in_seconds": 120}, } def router_template(name: str) -> Dict: return { "name": name, "pattern": "router", "router": {"agent": "router", "routes": ["sales", "support", "engineering"]}, "handlers": { "sales": {"agent": "sales_specialist"}, "support": {"agent": "support_specialist"}, "engineering": {"agent": "engineering_specialist"}, }, "fallback": {"agent": "generalist"}, } def orchestrator_template(name: str) -> Dict: return { "name": name, "pattern": "orchestrator", "orchestrator": {"agent": "orchestrator", "planning": "dynamic"}, "specialists": ["researcher", "coder", "analyst", "writer"], "execution": { "dependency_mode": "dag", "max_parallel": 3, "completion_policy": "all_required", }, } def evaluator_template(name: str) -> Dict: return { "name": name, "pattern": "evaluator", "generator": {"agent": "generator"}, "evaluator": {"agent": "evaluator", "criteria": ["accuracy", "format", "safety"]}, "loop": { "max_iterations": 3, "pass_threshold": 0.8, "on_fail": "revise_and_retry", }, } PATTERNS = { "sequential": sequential_template, "parallel": parallel_template, "router": router_template, "orchestrator": orchestrator_template, "evaluator": evaluator_template,