Agent Skillsrmyndharis/antigravity-skills › workflow-orchestration-patterns

workflow-orchestration-patterns

GitHub

基于Temporal设计高可靠分布式工作流,涵盖工作流与活动分离、Saga补偿模式、状态管理及确定性约束。适用于长运行流程、分布式事务及微服务编排。

skills/workflow-orchestration-patterns/SKILL.md rmyndharis/antigravity-skills

Trigger Scenarios

需要构建长运行或跨服务的复杂业务流程 处理分布式事务的一致性保证 设计微服务间的协调逻辑

Install

npx skills add rmyndharis/antigravity-skills --skill workflow-orchestration-patterns -g -y
More Options

Use without installing

npx skills use rmyndharis/antigravity-skills@workflow-orchestration-patterns

指定 Agent (Claude Code)

npx skills add rmyndharis/antigravity-skills --skill workflow-orchestration-patterns -a claude-code -g -y

安装 repo 全部 skill

npx skills add rmyndharis/antigravity-skills --all -g -y

预览 repo 内 skill

npx skills add rmyndharis/antigravity-skills --list

SKILL.md

Frontmatter
{
    "name": "workflow-orchestration-patterns",
    "description": "Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism constraints. Use when building long-running processes, distributed transactions, or microservice orchestration."
}

Workflow Orchestration Patterns

Master workflow orchestration architecture with Temporal, covering fundamental design decisions, resilience patterns, and best practices for building reliable distributed systems.

Use this skill when

  • Working on workflow orchestration patterns tasks or workflows
  • Needing guidance, best practices, or checklists for workflow orchestration patterns

Do not use this skill when

  • The task is unrelated to workflow orchestration patterns
  • You need a different domain or tool outside this scope

Instructions

  • Clarify goals, constraints, and required inputs.
  • Apply relevant best practices and validate outcomes.
  • Provide actionable steps and verification.

When to Use Workflow Orchestration

Ideal Use Cases (Source: docs.temporal.io)

  • Multi-step processes spanning machines/services/databases
  • Distributed transactions requiring all-or-nothing semantics
  • Long-running workflows (hours to years) with automatic state persistence
  • Failure recovery that must resume from last successful step
  • Business processes: bookings, orders, campaigns, approvals
  • Entity lifecycle management: inventory tracking, account management, cart workflows
  • Infrastructure automation: CI/CD pipelines, provisioning, deployments
  • Human-in-the-loop systems requiring timeouts and escalations

When NOT to Use

  • Simple CRUD operations (use direct API calls)
  • Pure data processing pipelines (use Airflow, batch processing)
  • Stateless request/response (use standard APIs)
  • Real-time streaming (use Kafka, event processors)

Critical Design Decision: Workflows vs Activities

The Fundamental Rule (Source: temporal.io/blog/workflow-engine-principles):

  • Workflows = Orchestration logic and decision-making
  • Activities = External interactions (APIs, databases, network calls)

Workflows (Orchestration)

Characteristics:

  • Contain business logic and coordination
  • MUST be deterministic (same inputs → same outputs)
  • Cannot perform direct external calls
  • State automatically preserved across failures
  • Can run for years despite infrastructure failures

Example workflow tasks:

  • Decide which steps to execute
  • Handle compensation logic
  • Manage timeouts and retries
  • Coordinate child workflows

Activities (External Interactions)

Characteristics:

  • Handle all external system interactions
  • Can be non-deterministic (API calls, DB writes)
  • Include built-in timeouts and retry logic
  • Must be idempotent (calling N times = calling once)
  • Short-lived (seconds to minutes typically)

Example activity tasks:

  • Call payment gateway API
  • Write to database
  • Send emails or notifications
  • Query external services

Design Decision Framework

Does it touch external systems? → Activity
Is it orchestration/decision logic? → Workflow

Core Workflow Patterns

1. Saga Pattern with Compensation

Purpose: Implement distributed transactions with rollback capability

Pattern (Source: temporal.io/blog/compensating-actions-part-of-a-complete-breakfast-with-sagas):

For each step:
  1. Register compensation BEFORE executing
  2. Execute the step (via activity)
  3. On failure, run all compensations in reverse order (LIFO)

Example: Payment Workflow

  1. Reserve inventory (compensation: release inventory)
  2. Charge payment (compensation: refund payment)
  3. Fulfill order (compensation: cancel fulfillment)

Critical Requirements:

  • Compensations must be idempotent
  • Register compensation BEFORE executing step
  • Run compensations in reverse order
  • Handle partial failures gracefully

2. Entity Workflows (Actor Model)

Purpose: Long-lived workflow representing single entity instance

Pattern (Source: docs.temporal.io/evaluate/use-cases-design-patterns):

  • One workflow execution = one entity (cart, account, inventory item)
  • Workflow persists for entity lifetime
  • Receives signals for state changes
  • Supports queries for current state

Example Use Cases:

  • Shopping cart (add items, checkout, expiration)
  • Bank account (deposits, withdrawals, balance checks)
  • Product inventory (stock updates, reservations)

Benefits:

  • Encapsulates entity behavior
  • Guarantees consistency per entity
  • Natural event sourcing

3. Fan-Out/Fan-In (Parallel Execution)

Purpose: Execute multiple tasks in parallel, aggregate results

Pattern:

  • Spawn child workflows or parallel activities
  • Wait for all to complete
  • Aggregate results
  • Handle partial failures

Scaling Rule (Source: temporal.io/blog/workflow-engine-principles):

  • Don't scale individual workflows
  • For 1M tasks: spawn 1K child workflows × 1K tasks each
  • Keep each workflow bounded

4. Async Callback Pattern

Purpose: Wait for external event or human approval

Pattern:

  • Workflow sends request and waits for signal
  • External system processes asynchronously
  • Sends signal to resume workflow
  • Workflow continues with response

Use Cases:

  • Human approval workflows
  • Webhook callbacks
  • Long-running external processes

State Management and Determinism

Automatic State Preservation

How Temporal Works (Source: docs.temporal.io/workflows):

  • Complete program state preserved automatically
  • Event History records every command and event
  • Seamless recovery from crashes
  • Applications restore pre-failure state

Determinism Constraints

Workflows Execute as State Machines:

  • Replay behavior must be consistent
  • Same inputs → identical outputs every time

Prohibited in Workflows (Source: docs.temporal.io/workflows):

  • ❌ Threading, locks, synchronization primitives
  • ❌ Random number generation (random())
  • ❌ Global state or static variables
  • ❌ System time (datetime.now())
  • ❌ Direct file I/O or network calls
  • ❌ Non-deterministic libraries

Allowed in Workflows:

  • workflow.now() (deterministic time)
  • workflow.random() (deterministic random)
  • ✅ Pure functions and calculations
  • ✅ Calling activities (non-deterministic operations)

Versioning Strategies

Challenge: Changing workflow code while old executions still running

Solutions:

  1. Versioning API: Use workflow.get_version() for safe changes
  2. New Workflow Type: Create new workflow, route new executions to it
  3. Backward Compatibility: Ensure old events replay correctly

Resilience and Error Handling

Retry Policies

Default Behavior: Temporal retries activities forever

Configure Retry:

  • Initial retry interval
  • Backoff coefficient (exponential backoff)
  • Maximum interval (cap retry delay)
  • Maximum attempts (eventually fail)

Non-Retryable Errors:

  • Invalid input (validation failures)
  • Business rule violations
  • Permanent failures (resource not found)

Idempotency Requirements

Why Critical (Source: docs.temporal.io/activities):

  • Activities may execute multiple times
  • Network failures trigger retries
  • Duplicate execution must be safe

Implementation Strategies:

  • Idempotency keys (deduplication)
  • Check-then-act with unique constraints
  • Upsert operations instead of insert
  • Track processed request IDs

Activity Heartbeats

Purpose: Detect stalled long-running activities

Pattern:

  • Activity sends periodic heartbeat
  • Includes progress information
  • Timeout if no heartbeat received
  • Enables progress-based retry

Best Practices

Workflow Design

  1. Keep workflows focused - Single responsibility per workflow
  2. Small workflows - Use child workflows for scalability
  3. Clear boundaries - Workflow orchestrates, activities execute
  4. Test locally - Use time-skipping test environment

Activity Design

  1. Idempotent operations - Safe to retry
  2. Short-lived - Seconds to minutes, not hours
  3. Timeout configuration - Always set timeouts
  4. Heartbeat for long tasks - Report progress
  5. Error handling - Distinguish retryable vs non-retryable

Common Pitfalls

Workflow Violations:

  • Using datetime.now() instead of workflow.now()
  • Threading or async operations in workflow code
  • Calling external APIs directly from workflow
  • Non-deterministic logic in workflows

Activity Mistakes:

  • Non-idempotent operations (can't handle retries)
  • Missing timeouts (activities run forever)
  • No error classification (retry validation errors)
  • Ignoring payload limits (2MB per argument)

Operational Considerations

Monitoring:

  • Workflow execution duration
  • Activity failure rates
  • Retry attempts and backoff
  • Pending workflow counts

Scalability:

  • Horizontal scaling with workers
  • Task queue partitioning
  • Child workflow decomposition
  • Activity batching when appropriate

Additional Resources

Official Documentation:

  • Temporal Core Concepts: docs.temporal.io/workflows
  • Workflow Patterns: docs.temporal.io/evaluate/use-cases-design-patterns
  • Best Practices: docs.temporal.io/develop/best-practices
  • Saga Pattern: temporal.io/blog/saga-pattern-made-easy

Key Principles:

  1. Workflows = orchestration, Activities = external calls
  2. Determinism is non-negotiable for workflows
  3. Idempotency is critical for activities
  4. State preservation is automatic
  5. Design for failure and recovery

Version History

  • e63f7dd Current 2026-07-05 10:36

Same Skill Collection

skills/accessibility-compliance-accessibility-audit/SKILL.md
skills/agent-orchestration-improve-agent/SKILL.md
skills/agent-orchestration-multi-agent-optimize/SKILL.md
skills/ai-engineer/SKILL.md
skills/airflow-dag-patterns/SKILL.md
skills/angular-migration/SKILL.md
skills/anti-reversing-techniques/SKILL.md
skills/api-design-principles/SKILL.md
skills/api-documenter/SKILL.md
skills/api-testing-observability-api-mock/SKILL.md
skills/application-performance-performance-optimization/SKILL.md
skills/architect-review/SKILL.md
skills/architecture-decision-records/SKILL.md
skills/architecture-patterns/SKILL.md
skills/arm-cortex-expert/SKILL.md
skills/article-illustrations/SKILL.md
skills/async-python-patterns/SKILL.md
skills/attack-tree-construction/SKILL.md
skills/auth-implementation-patterns/SKILL.md
skills/backend-architect/SKILL.md
skills/backend-development-feature-development/SKILL.md
skills/backend-security-coder/SKILL.md
skills/backtesting-frameworks/SKILL.md
skills/bash-defensive-patterns/SKILL.md
skills/bash-pro/SKILL.md
skills/bats-testing-patterns/SKILL.md
skills/bazel-build-optimization/SKILL.md
skills/billing-automation/SKILL.md
skills/binary-analysis-patterns/SKILL.md
skills/blockchain-developer/SKILL.md
skills/business-analyst/SKILL.md
skills/c-pro/SKILL.md
skills/c4-architecture-c4-architecture/SKILL.md
skills/c4-code/SKILL.md
skills/c4-component/SKILL.md
skills/c4-container/SKILL.md
skills/c4-context/SKILL.md
skills/changelog-automation/SKILL.md
skills/cicd-automation-workflow-automate/SKILL.md
skills/cloud-architect/SKILL.md
skills/code-documentation-code-explain/SKILL.md
skills/code-documentation-doc-generate/SKILL.md
skills/code-refactoring-context-restore/SKILL.md
skills/code-refactoring-refactor-clean/SKILL.md
skills/code-refactoring-tech-debt/SKILL.md
skills/code-review-ai-ai-review/SKILL.md
skills/code-review-excellence/SKILL.md
skills/code-reviewer/SKILL.md
skills/codebase-cleanup-deps-audit/SKILL.md
skills/codebase-cleanup-refactor-clean/SKILL.md
skills/codebase-cleanup-tech-debt/SKILL.md
skills/competitive-landscape/SKILL.md
skills/comprehensive-review-full-review/SKILL.md
skills/comprehensive-review-pr-enhance/SKILL.md
skills/conductor-implement/SKILL.md
skills/conductor-manage/SKILL.md
skills/conductor-new-track/SKILL.md
skills/conductor-revert/SKILL.md
skills/conductor-setup/SKILL.md
skills/conductor-status/SKILL.md
skills/conductor-validator/SKILL.md
skills/content-marketer/SKILL.md
skills/context-driven-development/SKILL.md
skills/context-management-context-restore/SKILL.md
skills/context-management-context-save/SKILL.md
skills/context-manager/SKILL.md
skills/cost-optimization/SKILL.md
skills/cpp-pro/SKILL.md
skills/cqrs-implementation/SKILL.md
skills/csharp-pro/SKILL.md
skills/customer-support/SKILL.md
skills/data-engineer/SKILL.md
skills/data-engineering-data-driven-feature/SKILL.md
skills/data-engineering-data-pipeline/SKILL.md
skills/data-quality-frameworks/SKILL.md
skills/data-scientist/SKILL.md
skills/data-storytelling/SKILL.md
skills/database-admin/SKILL.md
skills/database-architect/SKILL.md
skills/database-cloud-optimization-cost-optimize/SKILL.md
skills/database-migration/SKILL.md
skills/database-migrations-migration-observability/SKILL.md
skills/database-migrations-sql-migrations/SKILL.md
skills/database-optimizer/SKILL.md
skills/dbt-transformation-patterns/SKILL.md
skills/debugger/SKILL.md
skills/debugging-strategies/SKILL.md
skills/debugging-toolkit-smart-debug/SKILL.md
skills/defi-protocol-templates/SKILL.md
skills/dependency-management-deps-audit/SKILL.md
skills/dependency-upgrade/SKILL.md
skills/deployment-engineer/SKILL.md
skills/deployment-pipeline-design/SKILL.md
skills/deployment-validation-config-validate/SKILL.md
skills/devops-troubleshooter/SKILL.md
skills/distributed-debugging-debug-trace/SKILL.md
skills/distributed-tracing/SKILL.md
skills/django-pro/SKILL.md
skills/docs-architect/SKILL.md
skills/documentation-generation-doc-generate/SKILL.md
skills/dotnet-architect/SKILL.md
skills/dotnet-backend-patterns/SKILL.md
skills/dx-optimizer/SKILL.md
skills/e2e-testing-patterns/SKILL.md
skills/elixir-pro/SKILL.md
skills/embedding-strategies/SKILL.md
skills/employment-contract-templates/SKILL.md
skills/error-debugging-error-analysis/SKILL.md
skills/error-debugging-error-trace/SKILL.md
skills/error-debugging-multi-agent-review/SKILL.md
skills/error-detective/SKILL.md
skills/error-diagnostics-error-analysis/SKILL.md
skills/error-diagnostics-error-trace/SKILL.md
skills/error-diagnostics-smart-debug/SKILL.md
skills/error-handling-patterns/SKILL.md
skills/event-sourcing-architect/SKILL.md
skills/event-store-design/SKILL.md
skills/fastapi-pro/SKILL.md
skills/fastapi-templates/SKILL.md
skills/firmware-analyst/SKILL.md
skills/flutter-expert/SKILL.md
skills/framework-migration-code-migrate/SKILL.md
skills/framework-migration-deps-upgrade/SKILL.md
skills/framework-migration-legacy-modernize/SKILL.md
skills/frontend-developer/SKILL.md
skills/frontend-mobile-development-component-scaffold/SKILL.md
skills/frontend-mobile-security-xss-scan/SKILL.md
skills/frontend-security-coder/SKILL.md
skills/full-stack-orchestration-full-stack-feature/SKILL.md
skills/gdpr-data-handling/SKILL.md
skills/git-advanced-workflows/SKILL.md
skills/git-pr-workflows-git-workflow/SKILL.md
skills/git-pr-workflows-onboard/SKILL.md
skills/git-pr-workflows-pr-enhance/SKILL.md
skills/github-actions-templates/SKILL.md
skills/gitlab-ci-patterns/SKILL.md
skills/gitops-workflow/SKILL.md
skills/go-concurrency-patterns/SKILL.md
skills/godot-gdscript-patterns/SKILL.md
skills/golang-pro/SKILL.md
skills/grafana-dashboards/SKILL.md
skills/graphql-architect/SKILL.md
skills/haskell-pro/SKILL.md
skills/helm-chart-scaffolding/SKILL.md
skills/hr-pro/SKILL.md
skills/hybrid-cloud-architect/SKILL.md
skills/hybrid-cloud-networking/SKILL.md
skills/hybrid-search-implementation/SKILL.md
skills/incident-responder/SKILL.md
skills/incident-response-incident-response/SKILL.md
skills/incident-response-smart-fix/SKILL.md
skills/incident-runbook-templates/SKILL.md
skills/ios-developer/SKILL.md
skills/istio-traffic-management/SKILL.md
skills/java-pro/SKILL.md
skills/javascript-pro/SKILL.md
skills/javascript-testing-patterns/SKILL.md
skills/javascript-typescript-typescript-scaffold/SKILL.md
skills/julia-pro/SKILL.md
skills/k8s-manifest-generator/SKILL.md
skills/k8s-security-policies/SKILL.md
skills/kpi-dashboard-design/SKILL.md
skills/kubernetes-architect/SKILL.md
skills/langchain-architecture/SKILL.md
skills/legacy-modernizer/SKILL.md
skills/legal-advisor/SKILL.md
skills/linkerd-patterns/SKILL.md
skills/llm-application-dev-ai-assistant/SKILL.md
skills/llm-application-dev-langchain-agent/SKILL.md
skills/llm-application-dev-prompt-optimize/SKILL.md
skills/llm-evaluation/SKILL.md
skills/machine-learning-ops-ml-pipeline/SKILL.md
skills/malware-analyst/SKILL.md
skills/market-sizing-analysis/SKILL.md
skills/memory-forensics/SKILL.md
skills/memory-safety-patterns/SKILL.md
skills/mermaid-expert/SKILL.md
skills/microservices-patterns/SKILL.md
skills/minecraft-bukkit-pro/SKILL.md
skills/ml-engineer/SKILL.md
skills/ml-pipeline-workflow/SKILL.md
skills/mlops-engineer/SKILL.md
skills/mobile-developer/SKILL.md
skills/mobile-security-coder/SKILL.md
skills/modern-javascript-patterns/SKILL.md
skills/monorepo-architect/SKILL.md
skills/monorepo-management/SKILL.md
skills/mtls-configuration/SKILL.md
skills/multi-cloud-architecture/SKILL.md
skills/multi-platform-apps-multi-platform/SKILL.md
skills/network-engineer/SKILL.md
skills/nextjs-app-router-patterns/SKILL.md
skills/nft-standards/SKILL.md
skills/nodejs-backend-patterns/SKILL.md
skills/nx-workspace-patterns/SKILL.md
skills/observability-engineer/SKILL.md
skills/observability-monitoring-monitor-setup/SKILL.md
skills/observability-monitoring-slo-implement/SKILL.md
skills/on-call-handoff-patterns/SKILL.md
skills/openapi-spec-generation/SKILL.md
skills/payment-integration/SKILL.md
skills/paypal-integration/SKILL.md
skills/pci-compliance/SKILL.md
skills/performance-engineer/SKILL.md
skills/performance-testing-review-ai-review/SKILL.md
skills/performance-testing-review-multi-agent-review/SKILL.md
skills/php-pro/SKILL.md
skills/posix-shell-pro/SKILL.md
skills/postgresql/SKILL.md
skills/postmortem-writing/SKILL.md
skills/projection-patterns/SKILL.md
skills/prometheus-configuration/SKILL.md
skills/prompt-engineer/SKILL.md
skills/prompt-engineering-patterns/SKILL.md
skills/protocol-reverse-engineering/SKILL.md
skills/python-packaging/SKILL.md
skills/python-performance-optimization/SKILL.md
skills/python-pro/SKILL.md
skills/python-testing-patterns/SKILL.md
skills/quant-analyst/SKILL.md
skills/rag-implementation/SKILL.md
skills/react-modernization/SKILL.md
skills/react-native-architecture/SKILL.md
skills/react-state-management/SKILL.md
skills/reference-builder/SKILL.md
skills/reverse-engineer/SKILL.md
skills/risk-manager/SKILL.md
skills/risk-metrics-calculation/SKILL.md
skills/ruby-pro/SKILL.md
skills/rust-async-patterns/SKILL.md
skills/rust-pro/SKILL.md
skills/saga-orchestration/SKILL.md
skills/sales-automator/SKILL.md
skills/sast-configuration/SKILL.md
skills/scala-pro/SKILL.md
skills/screen-reader-testing/SKILL.md
skills/search-specialist/SKILL.md
skills/secrets-management/SKILL.md
skills/security-auditor/SKILL.md
skills/security-compliance-compliance-check/SKILL.md
skills/security-requirement-extraction/SKILL.md
skills/security-scanning-security-dependencies/SKILL.md
skills/security-scanning-security-hardening/SKILL.md
skills/security-scanning-security-sast/SKILL.md
skills/seo-authority-builder/SKILL.md
skills/seo-cannibalization-detector/SKILL.md
skills/seo-content-auditor/SKILL.md
skills/seo-content-planner/SKILL.md
skills/seo-content-refresher/SKILL.md
skills/seo-content-writer/SKILL.md
skills/seo-keyword-strategist/SKILL.md
skills/seo-meta-optimizer/SKILL.md
skills/seo-snippet-hunter/SKILL.md
skills/seo-structure-architect/SKILL.md
skills/service-mesh-expert/SKILL.md
skills/service-mesh-observability/SKILL.md
skills/shellcheck-configuration/SKILL.md
skills/similarity-search-patterns/SKILL.md
skills/slo-implementation/SKILL.md
skills/solidity-security/SKILL.md
skills/spark-optimization/SKILL.md
skills/sql-optimization-patterns/SKILL.md
skills/sql-pro/SKILL.md
skills/startup-analyst/SKILL.md
skills/startup-business-analyst-business-case/SKILL.md
skills/startup-business-analyst-financial-projections/SKILL.md
skills/startup-business-analyst-market-opportunity/SKILL.md
skills/startup-financial-modeling/SKILL.md
skills/startup-metrics-framework/SKILL.md
skills/stride-analysis-patterns/SKILL.md
skills/stripe-integration/SKILL.md
skills/systems-programming-rust-project/SKILL.md
skills/tailwind-design-system/SKILL.md
skills/tdd-orchestrator/SKILL.md
skills/tdd-workflows-tdd-green/SKILL.md
skills/tdd-workflows-tdd-red/SKILL.md
skills/team-collaboration-issue/SKILL.md
skills/team-collaboration-standup-notes/SKILL.md
skills/team-composition-analysis/SKILL.md
skills/temporal-python-pro/SKILL.md
skills/temporal-python-testing/SKILL.md
skills/terraform-module-library/SKILL.md
skills/terraform-specialist/SKILL.md
skills/test-automator/SKILL.md
skills/threat-mitigation-mapping/SKILL.md
skills/threat-modeling-expert/SKILL.md
skills/track-management/SKILL.md
skills/turborepo-caching/SKILL.md
skills/tutorial-engineer/SKILL.md
skills/typescript-advanced-types/SKILL.md
skills/typescript-pro/SKILL.md
skills/ui-ux-designer/SKILL.md
skills/ui-visual-validator/SKILL.md
skills/unit-testing-test-generate/SKILL.md
skills/unity-developer/SKILL.md
skills/unity-ecs-patterns/SKILL.md
skills/uv-package-manager/SKILL.md
skills/vector-database-engineer/SKILL.md
skills/vector-index-tuning/SKILL.md
skills/wcag-audit-patterns/SKILL.md
skills/web3-testing/SKILL.md
skills/workflow-patterns/SKILL.md
skills/tdd-workflows-tdd-cycle/SKILL.md
skills/tdd-workflows-tdd-refactor/SKILL.md

Metadata

Files
0
Version
e63f7dd
Hash
55e2e1a8
Indexed
2026-07-05 10:36

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-09 04:27
浙ICP备14020137号-1 $Carte des visiteurs$