Habilidades workflow-orchestration-patterns
⚙️

workflow-orchestration-patterns

Seguro

Projete fluxos de trabalho distribuídos confiáveis com padrões Temporal

Também disponível em: wshobson

Construir sistemas distribuídos confiáveis é desafiador devido a falhas, timeouts e complexidade de gerenciamento de estado. Esta habilidade fornece padrões de orquestração de fluxo de trabalho comprovados do Temporal que lidam com falhas automaticamente, preservam estado após crashes e escalam horizontalmente.

Suporta: Claude Codex Code(CC)
📊 71 Adequado
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "workflow-orchestration-patterns". Projete um workflow de pagamento com etapas de reserva de inventário, cobrança e finalização

Resultado esperado:

Aqui está um projeto de padrão saga: 1) ReserveInventoryActivity (compensação: ReleaseInventoryActivity), 2) ChargePaymentActivity (compensação: RefundPaymentActivity), 3) FulfillOrderActivity (compensação: CancelFulfillmentActivity). Registre cada compensação antes da execução. Em caso de falha, execute compensações em ordem LIFO. Todas as activities devem ser idempotentes.

A utilizar "workflow-orchestration-patterns". Por que não posso usar datetime.now() no meu workflow?

Resultado esperado:

Workflows devem ser determinísticos para replay. datetime.now() retorna valores diferentes cada vez, quebrando determinismo. Use workflow.now() ao invés, que fornece tempo determinístico baseado no relógio do workflow. O mesmo princípio aplica-se a random() - use workflow.random() para números aleatórios determinísticos.

A utilizar "workflow-orchestration-patterns". Como lidar com uma chamada de API de 3º que pode levar horas?

Resultado esperado:

Use o Padrão de Callback Assíncrono: 1) Activity envia requisição para sistema externo, 2) Workflow aguarda signal usando workflow.wait_for_condition(), 3) Sistema externo chama webhook quando completo, 4) Signal handler retoma workflow com resposta. Inclua timeout caso o sistema externo nunca responda.

Auditoria de Segurança

Seguro
v1 • 2/25/2026

Static analysis detected 24 potential security issues (external commands, weak cryptography, system reconnaissance), but all are FALSE POSITIVES. The skill contains only markdown documentation with code examples in backticks for illustration purposes. No executable code is present - this is a purely educational skill about Temporal workflow patterns with pseudo-code diagrams and best practices. The 'backtick' patterns are markdown formatting, not shell execution. The 'weak cryptography' flags are false positives from words like 'temporal' matching crypto patterns. The skill is safe to publish.

1
Arquivos analisados
336
Linhas analisadas
1
achados
1
Total de auditorias
Problemas de Baixo Risco (1)
Static Analysis False Positives
Static scanner detected 24 patterns (external_commands, blocker, cryptography) but all are markdown documentation formatting, not executable code. Lines 27, 92-222 contain backtick-enclosed text for code examples (e.g., `workflow.now()`, `datetime.now()`) and pseudo-code diagrams. These are documentation illustrations, not actual shell commands or cryptographic operations. The skill is pure educational content with no execution capabilities.
Auditado por: claude

Pontuação de qualidade

38
Arquitetura
100
Manutenibilidade
87
Conteúdo
23
Comunidade
100
Segurança
100
Conformidade com especificações

O Que Você Pode Construir

Coordenação de transações de e-commerce

Implemente transações distribuídas para processamento de pedidos que reservam inventário, processam pagamentos e finalizam pedidos com rollback automático em caso de qualquer falha

Automação de processos de negócios de longa duração

Crie fluxos de trabalho de aprovação em múltiplas etapas que duram dias ou semanas com persistência automática de estado, tratamento de timeout e lógica de escalonamento humano

Arquitetura de orquestração de microserviços

Projete padrões resilientes de comunicação entre serviços usando workflows de entidade e compensação saga ao invés de transações distribuídas frágeis

Tente Estes Prompts

Projetar um workflow de transação distribuída
Projete um workflow Temporal para uma transação de [domain] que envolve [steps]. Inclua lógica de compensação para cada etapa e explique como lidar com falhas parciais.
Converter máquina de estados para workflow
Tenho uma máquina de estados com [states] e transições. Ajude-me a projetar isso como um workflow Temporal com determinismo e separação de activities adequados.
Solucionar violações de determinismo de workflow
Meu workflow falhou com erro de determinismo. O código usa [code snippet]. Explique por que isso viola determinismo e como corrigir usando alternativas workflow-safe.
Projeto de arquitetura de workflow escalável
Preciso processar [number] itens por dia através de workflows. Projete uma arquitetura escalável usando fan-out/fan-in, child workflows e particionamento de task queue.

Melhores Práticas

  • Mantenha workflows focados em lógica de orquestração - coloque todas as chamadas externas em activities
  • Torne todas as activities idempotentes para que retries sejam seguros - use chaves de idempotência ou upserts
  • Sempre configure timeouts e políticas de retry - distinga entre erros retryable e non-retryable

Evitar

  • Chamar APIs externas ou bancos de dados diretamente do código do workflow - sempre use activities
  • Usar datetime.now(), random(), ou threading em workflows - quebra determinismo e replay
  • Tornar activities não-idempotentes - retries causarão efeitos colaterais duplicados

Perguntas Frequentes

Qual a diferença entre um workflow e uma activity?
Workflows contêm lógica de orquestração e tomada de decisão. Devem ser determinísticos e não podem fazer chamadas externas. Activities lidam com todas as interações externas como chamadas de API e escritas em banco de dados. Activities podem ser não-determinísticas e incluem lógica de retry embutida.
Por que workflows devem ser determinísticos?
Temporal faz replay de workflows do history durante recuperação. Se as mesmas entradas produzem saídas diferentes, o replay quebra e o estado se torna inconsistente. Determinismo garante que workflows recuperem exatamente das falhas e se comportem de forma previsível entre execuções.
Como lidar com compensação em transações saga?
Registre cada activity de compensação antes de executar sua etapa correspondente. Armazene compensações em uma lista. Em caso de falha, execute todas compensações em ordem reversa (last-in-first-out). Garanta que cada compensação seja idempotente para que retries sejam seguros.
Workflows podem rodar para sempre?
Sim, workflows podem rodar por anos. Temporal persiste estado automaticamente e sobrevive a falhas de infraestrutura. Entity workflows representando objetos de longa duração como carrinhos ou contas podem persistir pela vida útil daquela entidade, recebendo signals e respondendo a queries.
Como escalar workflows para processar milhões de tarefas?
Não escale workflows individuais. Use fan-out/fan-in: spawn muitos child workflows ou activities paralelas, aguarde conclusão, então agregue resultados. Para um milhão de tarefas, spawn mil child workflows cada um processando mil tarefas. Mantenha cada workflow limitado.
O que acontece se uma activity falhar?
Temporal retry activities automaticamente por padrão. Configure políticas de retry com intervalo inicial, coeficiente de backoff, intervalo máximo e tentativas máximas. Para erros non-retryable como entrada inválida, lance um tipo de erro específico para parar retries imediatamente.

Detalhes do Desenvolvedor

Estrutura de arquivos

📄 SKILL.md