workflow-orchestration
Design and implement DAG-based workflows with parallel execution, retries, and error handling. Use when building complex multi-step agent workflows.
Best use case
workflow-orchestration is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Design and implement DAG-based workflows with parallel execution, retries, and error handling. Use when building complex multi-step agent workflows.
Teams using workflow-orchestration should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/workflow-orchestration/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How workflow-orchestration Compares
| Feature / Agent | workflow-orchestration | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Design and implement DAG-based workflows with parallel execution, retries, and error handling. Use when building complex multi-step agent workflows.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Workflow Orchestration Skill
## When to use this skill
Use when:
- Building multi-step agent workflows
- Designing task dependencies (DAG)
- Implementing parallel execution
- Handling workflow errors and retries
- Orchestrating multiple agents
## Workflow Structure
```yaml
# .parac/workflows/data-pipeline.yaml
name: data-pipeline
description: Extract, transform, and load data
steps:
- id: extract
agent: data-extractor
input:
source: database
- id: transform
agent: data-transformer
depends_on: [extract]
input:
rules: transformation_rules.json
- id: load
agent: data-loader
depends_on: [transform]
input:
destination: warehouse
- id: validate
agent: data-validator
depends_on: [load]
- id: notify
agent: notifier
depends_on: [validate]
on_error: continue # Don't fail workflow if notification fails
retry:
max_attempts: 3
backoff: exponential
timeout: 3600 # 1 hour
```
## DAG Construction
```python
from paracle_orchestration import DAG, Step
# Create DAG
dag = DAG(name="data-pipeline")
# Add steps
extract = Step(
id="extract",
agent_id="data-extractor",
input={"source": "database"},
)
transform = Step(
id="transform",
agent_id="data-transformer",
depends_on=["extract"],
input={"rules": "transformation_rules.json"},
)
load = Step(
id="load",
agent_id="data-loader",
depends_on=["transform"],
input={"destination": "warehouse"},
)
# Add to DAG
dag.add_steps([extract, transform, load])
# Validate DAG (check for cycles)
dag.validate()
```
## Parallel Execution
```python
from paracle_orchestration import DAG, Step
dag = DAG(name="parallel-processing")
# Steps that can run in parallel
fetch_data = Step(id="fetch-data", agent_id="fetcher")
# These three steps have no dependencies, so they run in parallel
process_a = Step(id="process-a", agent_id="processor-a", depends_on=["fetch-data"])
process_b = Step(id="process-b", agent_id="processor-b", depends_on=["fetch-data"])
process_c = Step(id="process-c", agent_id="processor-c", depends_on=["fetch-data"])
# Merge results after all processing is done
merge = Step(
id="merge",
agent_id="merger",
depends_on=["process-a", "process-b", "process-c"],
)
dag.add_steps([fetch_data, process_a, process_b, process_c, merge])
# Execution order:
# 1. fetch-data
# 2. process-a, process-b, process-c (parallel)
# 3. merge
```
## Error Handling & Retries
```python
from paracle_orchestration import Step, RetryPolicy
# Retry configuration
retry_policy = RetryPolicy(
max_attempts=3,
backoff="exponential", # 1s, 2s, 4s
retry_on=[TimeoutError, ConnectionError], # Only retry these
)
step = Step(
id="api-call",
agent_id="api-agent",
retry_policy=retry_policy,
timeout=30, # 30 seconds per attempt
)
# Custom error handling
step = Step(
id="critical-step",
agent_id="critical-agent",
on_error="fail", # fail (default), continue, retry
)
step = Step(
id="optional-step",
agent_id="optional-agent",
on_error="continue", # Don't fail workflow if this fails
)
```
## Best Practices
1. **Design clear DAGs** - Visualize dependencies
2. **Use parallel execution** - For independent steps
3. **Handle errors gracefully** - Retries and fallbacks
4. **Monitor workflows** - Track progress and failures
5. **Test workflows** - Unit and integration tests
6. **Version workflows** - Track changes over time
7. **Implement rollbacks** - For critical operations
## Common Patterns
### Fan-out / Fan-in
```python
# One step spawns multiple parallel steps
fetch = Step(id="fetch", ...)
process_1 = Step(id="p1", depends_on=["fetch"])
process_2 = Step(id="p2", depends_on=["fetch"])
process_3 = Step(id="p3", depends_on=["fetch"])
merge = Step(id="merge", depends_on=["p1", "p2", "p3"])
```
### Sequential Pipeline
```python
# Steps execute one after another
step1 = Step(id="s1", ...)
step2 = Step(id="s2", depends_on=["s1"])
step3 = Step(id="s3", depends_on=["s2"])
```
## Resources
- Orchestration Engine: `packages/paracle_orchestration/`
- DAG Implementation: `packages/paracle_orchestration/dag.py`
- Workflow Examples: `content/examples/workflows/`
- Engine Documentation: `content/docs/technical/workflow-orchestration.md`Related Skills
julien-workflow-advice-codex
Get OpenAI Codex CLI's opinion on code, bugs, or implementation. Use when you want a second AI perspective during coding sessions.
fal-workflow
Generate workflow JSON files for chaining AI models
create-workflow
Create Jazz workflow automation files (WORKFLOW.md). Use this for scheduling Jazz agents to run recurring tasks. For OS-level scripts/commands, use create-system-routine.
beads-orchestration
Multi-agent orchestration for GitHub Issues using BEADS task tracking
apache-airflow-orchestration
Complete guide for Apache Airflow orchestration including DAGs, operators, sensors, XComs, task dependencies, dynamic workflows, and production deployment
airflow-workflows
Apache Airflow DAG design, operators, and scheduling best practices.
ai-annotation-workflow
Эксперт по data annotation. Используй для ML labeling, annotation workflows и quality control.
agent-orchestration-improve-agent
Systematic improvement of existing agents through performance analysis, prompt engineering, and continuous iteration.
adaptive-workflows
Self-learning workflow system that tracks what works best for your use cases. Records experiment results, suggests optimizations, creates custom templates, and builds a personal knowledge base. Use to learn from experience and optimize your LLM workflows over time.
workflows-expert
Activate when requests involve workflow execution, CI/CD pipelines, git automation, or multi-step task orchestration. This skill provides workflows-mcp MCP server integration with tag-based workflow discovery, DAG-based execution, and variable syntax expertise. Trigger on phrases like "run workflow", "execute workflow", "orchestrate tasks", "automate CI/CD", or "workflow information".
workflow-integration-git
Git commit workflow with conventional commits, artifact cleanup, and optional push/PR creation
workflow-conductor
Workflow orchestration and automation engine