This directory contains simple, easy-to-understand workflow examples that demonstrate fundamental concepts of the Workflow Commander system.
Purpose: Demonstrates a basic linear workflow with automatic progression through sequential phases.
Structure:
start → analyze → plan → execute → review → complete
Key Features:
- Linear Progression: Each phase has exactly one next step
- Auto-Progression: Workflow automatically advances through phases
- Input Variables: Uses dynamic input variables in goals
- Clear Acceptance Criteria: Each phase has specific completion criteria
Use Cases:
- Basic task completion workflows
- Simple project management
- Learning workflow fundamentals
- Template for custom linear workflows
How to Use:
# 1. Discover and start the workflow
workflow_discovery(task_description="Complete: documentation update")
# 2. Start the workflow
workflow_guidance(action="start", context="workflow: Simple Linear Workflow")
# 3. The workflow will auto-progress through all phases
workflow_guidance(action="next") # Moves through: start → analyze → plan → execute → review → completePurpose: Demonstrates decision points and branching logic based on task complexity.
Structure:
assess → choose_approach → [simple_approach | standard_approach | complex_approach] → finalize
↓ ↓ ↓
finalize validate_standard validate_complex → review_complex → finalize
Key Features:
- Decision Points: Manual choice between different approaches
- Branching Logic: Different paths based on complexity assessment
- Path Convergence: All paths converge at the finalization phase
- Backtracking: Allows returning to previous phases if needed
Use Cases:
- Adaptive workflows based on task complexity
- Quality assurance with different validation levels
- Resource allocation based on requirements
- Learning decision-making in workflows
How to Use:
# 1. Start the workflow
workflow_guidance(action="start", context="workflow: Simple Decision Workflow")
# 2. Progress through assessment
workflow_guidance(action="next") # Moves to: choose_approach
# 3. Make a decision based on complexity
workflow_guidance(action="next", context="choose: simple_approach") # For simple tasks
# OR
workflow_guidance(action="next", context="choose: standard_approach") # For moderate tasks
# OR
workflow_guidance(action="next", context="choose: complex_approach") # For complex tasks
# 4. Continue based on chosen path
workflow_guidance(action="next") # Continues through selected approachBoth examples show how to use input variables in workflow definitions:
inputs:
task_description:
type: string
description: Task provided by the user
required: trueUsage in goals:
goal: |
**PHASE NAME:** ${{ inputs.task_description }}
Description of what this phase accomplishes...Each phase defines clear acceptance criteria for completion:
acceptance_criteria:
requirements_clear: "Basic task requirements are understood and documented"
scope_defined: "Clear scope and boundaries identified for the task"
next_steps_identified: "Next steps in the workflow are clear"Linear Workflow Pattern:
phase_name:
goal: "Description of phase objective"
acceptance_criteria: { ... }
next_allowed_nodes: [next_phase] # Single next step = auto-progressionDecision Workflow Pattern:
decision_phase:
goal: "Choose between options based on criteria"
acceptance_criteria: { ... }
next_allowed_nodes: [option_a, option_b, option_c] # Multiple options = manual choice-
Change Input Variables:
inputs: your_custom_input: type: string description: "Description of your input" required: true
-
Update Phase Names and Goals:
your_phase_name: goal: | **YOUR PHASE:** ${{ inputs.your_custom_input }} Description of what this phase should accomplish...
-
Modify Acceptance Criteria:
acceptance_criteria: your_criteria: "Description of what constitutes completion" another_criteria: "Additional completion requirement"
-
Adjust Workflow Structure:
- Add new phases by creating new nodes
- Change progression by modifying
next_allowed_nodes - Create decision points by adding multiple next nodes
- Clear Phase Names: Use descriptive names that indicate purpose
- Specific Goals: Write clear, actionable goals for each phase
- Measurable Criteria: Define acceptance criteria that can be objectively verified
- Logical Flow: Ensure workflow progression makes sense for your use case
- Input Variables: Use variables to make workflows reusable
- Documentation: Include comments explaining complex logic
Before using modified workflows in production:
- Validate YAML Syntax: Ensure your YAML is properly formatted
- Test Workflow Discovery: Verify the workflow can be discovered
- Test Progression: Walk through each phase to ensure proper flow
- Test Decision Points: Verify all decision paths work correctly
- Test Edge Cases: Try unexpected inputs or scenarios
If you have questions about these examples:
- Documentation: Check the Workflow Guide for detailed information
- Tutorials: Try the step-by-step tutorials for hands-on learning
- Community: Join the community discussions for help and tips
- Issues: Report problems or suggestions via GitHub issues