workflow-orchestration-patterns
Faz seu agente projetar fluxos de trabalho confiáveis para sistemas distribuídos. Ajuda a gerenciar processos longos e transações que abrangem vários serviços.
O que ela faz
Esta ferramenta ajuda a organizar processos complexos que precisam acontecer em etapas, mesmo que demorem muito tempo ou envolvam vários sistemas. Ela garante que tudo funcione corretamente, mesmo se algo der errado.
Quando usar
- ✓Organizar um processo de pedido de cliente que envolve estoque, pagamento e envio.
- ✓Gerenciar um processo longo de aprovação de documentos que pode levar dias.
- ✓Coordenar várias partes de um sistema para garantir que uma transação seja concluída ou falhe completamente.
Exemplo do que pedir para a IA
“Como posso organizar um processo de reserva de hotel que envolve verificar disponibilidade, confirmar o quarto e processar o pagamento?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela funciona definindo um 'fluxo de trabalho' principal que coordena chamadas para 'atividades' menores. Se uma atividade falhar, o fluxo de trabalho pode tentar novamente ou seguir um plano de recuperação, salvando seu progresso automaticamente.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add wshobson/agents --skill workflow-orchestration-patternsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/backend-development/skills/workflow-orchestration-patterns/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões de Orquestração de Workflow
Domine a arquitetura de orquestração de workflow com Temporal, cobrindo decisões fundamentais de design, padrões de resiliência e melhores práticas para construir sistemas distribuídos confiáveis.
Quando Usar Orquestração de Workflow
Casos de Uso Ideais (Fonte: docs.temporal.io)
- Processos de múltiplas etapas que abrangem máquinas/serviços/bancos de dados
- Transações distribuídas que exigem semântica de tudo ou nada
- Workflows de longa duração (horas a anos) com persistência automática de estado
- Recuperação de falhas que devem continuar a partir do último passo bem-sucedido
- Processos de negócios: reservas, pedidos, campanhas, aprovações
- Gerenciamento de ciclo de vida de entidades: rastreamento de inventário, gerenciamento de contas, fluxos de trabalho de carrinho
- Automação de infraestrutura: pipelines de CI/CD, provisionamento, implantações
- Sistemas human-in-the-loop que exigem timeouts e escalonamentos
Quando NÃO Usar
- Operações CRUD simples (use chamadas diretas de API)
- Pipelines de processamento de dados puros (use Airflow, processamento em lote)
- Requisição/resposta sem estado (use APIs padrão)
- Streaming em tempo real (use Kafka, processadores de eventos)
Padrões Detalhados e Exemplos Trabalhados
A documentação detalhada de padrões está em references/details.md. Leia esse arquivo quando o nível de navegação acima for insuficiente.
Melhores Práticas
Design de Workflow
- Mantenha workflows focados - Responsabilidade única por workflow
- Workflows pequenos - Use child workflows para escalabilidade
- Limites claros - Workflow orquestra, atividades executam
- Teste localmente - Use ambiente de teste com "time-skipping"
Design de Atividade
- Operações idempotentes - Seguro para retentar
- De curta duração - Segundos a minutos, não horas
- Configuração de timeout - Sempre defina timeouts
- Heartbeat para tarefas longas - Relate o progresso
- Tratamento de erros - Distinga entre erros que podem ser retentados e os que não podem
Armadilhas Comuns
Violações de Workflow:
- Usar
datetime.now()em vez deworkflow.now() - Threading ou operações assíncronas no código do workflow
- Chamar APIs externas diretamente do workflow
- Lógica não determinística em workflows
Erros de Atividade:
- Operações não idempotentes (não podem lidar com retentativas)
- Timeouts ausentes (atividades rodam para sempre)
- Nenhuma classificação de erro (validar erros de retentativa)
- Ignorar limites de payload (2MB por argumento)
Considerações Operacionais
Monitoramento:
- Duração da execução do workflow
- Taxas de falha de atividade
- Tentativas de retentativa e backoff
- Contagem de workflows pendentes
Escalabilidade:
- Escalonamento horizontal com workers
- Particionamento de fila de tarefas
- Decomposição de child workflow
- Agrupamento de atividades quando apropriado
Recursos Adicionais
Documentação Oficial:
- Conceitos Essenciais do Temporal: docs.temporal.io/workflows
- Padrões de Workflow: docs.temporal.io/evaluate/use-cases-design-patterns
- Melhores Práticas: docs.temporal.io/develop/best-practices
- Padrão Saga: temporal.io/blog/saga-pattern-made-easy
Princípios Chave:
- Workflows = orquestração, Atividades = chamadas externas
- Determinismo é inegociável para workflows
- Idempotência é crítica para atividades
- Preservação de estado é automática
- Projetar para falha e recuperação
Perguntas frequentes
O que é um 'workflow' e uma 'activity'?
Um 'workflow' é a receita principal que diz o que fazer em que ordem. Uma 'activity' é uma tarefa específica que o workflow manda executar, como 'verificar estoque' ou 'processar pagamento'.
Por que é importante que o código do workflow seja 'determinístico'?
Ser 'determinístico' significa que o workflow sempre fará exatamente as mesmas coisas na mesma ordem, não importa quantas vezes você o execute. Isso é crucial para que ele possa se recuperar de falhas e continuar de onde parou sem erros.
Quando eu NÃO deveria usar isso?
Não use para tarefas simples como salvar um dado (CRUD) ou para processamento rápido de dados. É melhor para processos longos, que precisam de recuperação de falhas ou que envolvem múltiplos passos e sistemas.
Detalhes
Descrição original do autor
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.
repo: wshobson/agents
Popularidade
- Estrelas no GitHub
- 41 mil
- Posição no ranking
- #4810
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
screen-reader-testing
Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.
wshobson/agents
wcag-audit-patterns
Ajuda seu agente a auditar sites para acessibilidade e corrigir problemas de acordo com as diretrizes WCAG.
wshobson/agents
multi-reviewer-patterns
Faz seu agente coordenar revisões de código paralelas, deduplicando achados e consolidando relatórios.
wshobson/agents
parallel-debugging
Permite ao agente depurar problemas complexos com investigações paralelas e análise de causa raiz.
wshobson/agents
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC