Pular para o conteúdo
Skillpedia
APIs e servidores (backend)41 mil · #4810

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

https://github.com/wshobson/agents/blob/main/plugins/backend-development/skills/workflow-orchestration-patterns/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/backend-development/skills/workflow-orchestration-patterns/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-patterns

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/backend-development/skills/workflow-orchestration-patterns/SKILL.md -o SKILL.md
Conteú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

  1. Mantenha workflows focados - Responsabilidade única por workflow
  2. Workflows pequenos - Use child workflows para escalabilidade
  3. Limites claros - Workflow orquestra, atividades executam
  4. Teste localmente - Use ambiente de teste com "time-skipping"

Design de Atividade

  1. Operações idempotentes - Seguro para retentar
  2. De curta duração - Segundos a minutos, não horas
  3. Configuração de timeout - Sempre defina timeouts
  4. Heartbeat para tarefas longas - Relate o progresso
  5. 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 de workflow.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:

  1. Workflows = orquestração, Atividades = chamadas externas
  2. Determinismo é inegociável para workflows
  3. Idempotência é crítica para atividades
  4. Preservação de estado é automática
  5. 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas