技能 workflow-automation
📦

workflow-automation

安全

构建持久化工作流自动化系统

不再让工作因网络故障和超时而丢失。学习使用持久化执行平台构建可靠、容错的工作流,能够承受重启并优雅地处理错误。

支持: Claude Codex Code(CC)
🥉 74 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“workflow-automation”。 比较 Temporal 和 Inngest 在 TypeScript 编写的支付处理系统中的差异

预期结果:

对于 TypeScript 支付系统,我推荐 Inngest 以加快开发速度。Temporal 提供更多控制但需要基础设施管理。Inngest 提供托管式可靠性和基于 SDK 的开发。关键权衡:Temporal 更好地处理复杂状态机工作流,而 Inngest 擅长事件驱动的简洁性。两者都提供持久化执行,但 Inngest 的开发者上手速度更快。

正在使用“workflow-automation”。 当工作流重试时,如何防止重复扣费客户?

预期结果:

始终在首次支付尝试前生成唯一的幂等性键。将此键与每次支付请求一起发送到支付处理器。如果工作流使用相同的键重试,处理器将识别重复请求并返回原始结果而非再次扣费。将键与交易记录一起存储,设置幂等性有效期(通常为 24-48 小时)。

正在使用“workflow-automation”。 我的 n8n 工作流在调用慢速 API 时总是超时

预期结果:

永远不要直接从工作流调用慢速 API。相反,使用编排器 - 工作者模式:工作流将作业分派给工作者服务,由工作者异步进行 API 调用。工作者通过 webhook 或事件将结果回传。为所有 HTTP 节点设置超时(通常 30-60 秒)。对于非常慢的操作,实现带指数退避间隔的轮询。

安全审计

安全
v1 • 2/25/2026

All static analysis findings are false positives. The 'backtick execution' detection refers to Markdown code formatting in documentation text, not actual Ruby/shell commands. The 'weak cryptography' detection refers to the word 'execution' in documentation context, not cryptographic implementation. This skill contains only documentation about workflow automation patterns with no executable code, security risks, or prompt injection attempts.

1
已扫描文件
73
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

支付处理系统

设计容错支付工作流,处理网络故障、优雅超时,并使用幂等性键防止重复扣费。

数据管道编排

协调多步骤 ETL 工作流,支持并行处理、错误恢复和基于检查点的恢复,适用于长时间运行的数据任务。

微服务集成

实现事件驱动的工作流,使用 saga 模式协调多个服务,支持分布式事务和自动回滚。

试试这些提示

选择合适的平台
我需要为 [用例] 构建 [工作流类型]。我的团队具有 [技能水平] 经验,优先级是 [优先级]。比较 Temporal、Inngest、n8n 和 AWS Step Functions 在此场景下的优劣。推荐最合适的方案并解释权衡。
设计幂等操作
我正在构建 [工作流类型],需要调用 [外部服务/API]。我应该如何实现幂等性?展示生成和验证幂等性键的模式,并说明存储位置。
构建错误处理结构
为可能因 [错误类型] 失败的 [操作类型] 设计重试策略。配置指数退避、最大重试次数和回退行为。展示如何在 [平台名称] 中构建此结构。
拆分单体工作流
我有一个执行 [复杂流程] 的单体工作流。它难以调试且经常从头开始重启。帮我将其拆分为更小的、带检查点的步骤,并在它们之间保持持久化状态。

最佳实践

  • 始终为外部 API 调用使用幂等性键,防止重试时的重复操作
  • 为所有活动和外部服务调用设置明确的超时,防止工作流挂起
  • 将长工作流拆分为带检查点状态的小步骤,以便更快地从故障中恢复
  • 为重试实现带抖动的指数退避,避免压垮下游服务

避免

  • 不要在工作流代码中直接执行 I/O 操作或副作用——始终委托给活动或工作者
  • 永远不要构建试图在一个地方完成所有工作的单体工作流;它们会变得难以调试且无法高效重试
  • 避免将大型数据负载作为工作流参数传递——将数据存储在外部的同时传递引用

常见问题

什么是持久化执行,为什么我需要它?
持久化执行意味着你的工作流状态能够在进程重启、网络故障和崩溃后存活。系统会自动重试失败的步骤并从最后一个成功的检查点恢复。这消除了从头重建失败工作流的需要,减少了待命负担和数据丢失。
我应该使用 Temporal、Inngest、n8n 还是 AWS Step Functions?
对于具有最大控制权的复杂有状态工作流,选择 Temporal。对于需要快速开发的事件驱动应用,选择 Inngest。对于无需编码的业务流程自动化,选择 n8n。当已经在 AWS 生态系统中且有简单编排需求时,选择 AWS Step Functions。最佳选择取决于你的团队技能、复杂性需求和基础设施偏好。
如何在工作流重试时防止重复操作?
通过在任何外部操作之前生成唯一键来实现幂等性。将此键与每个 API 请求、数据库写入或支付扣费一起发送。下游服务检查该键是否已被处理,如果是则返回缓存结果而非再次执行操作。将幂等性键存储至少覆盖你的重试窗口持续时间。
什么是带抖动的指数退避?
指数退避在每次失败后增加重试延迟(1 秒、2 秒、4 秒、8 秒)。抖动为这些间隔添加随机性,防止多个重试同步并压垮服务的惊群问题。大多数平台提供内置重试策略——使用它们而不是编写自己的 sleep 循环。
工作流可以直接调用外部 API 吗?
技术上可以,但会创建脆弱性。API 超时会导致工作流挂起。相反,使用活动函数或工作者异步进行 HTTP 调用,并设置适当的超时。你的工作流分派工作并等待完成事件或 webhook。这种分离使工作流保持响应能力并对下游故障具有弹性。
如何调试失败的工作流?
所有工作流平台都提供执行历史,显示每个步骤、输入/输出和失败原因。在活动代码中使用结构化日志。为每个工作流步骤设置描述性名称。对于复杂故障,启用调试日志重放执行。大多数平台还提供追踪集成和查询 API 用于检查运行中的工作流状态。

开发者详情

文件结构

📄 SKILL.md