Token导航 LogoToken导航TokenDH.com
开发需要联网github未标认证来源可访问许可证需确认审计提醒

migrating-to-workflow-sdkmigrating TO 工作流 SDK

Agent Skill

migrating-to-workflow-sdk 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,740

周安装

74

GitHub Stars

1,994

下载量

610
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:migrating-to-workflow-sdk(migrating TO 工作流 SDK)
来源仓库:https://github.com/vercel/workflow
仓库路径:skills/migrating-to-workflow-sdk
安装命令:
npx skills add https://github.com/vercel/workflow --skill migrating-to-workflow-sdk
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/vercel/workflow --skill migrating-to-workflow-sdk

简介

migrating-to-workflow-sdk 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装并使用。
  • 安装前需确认权限范围和维护状态,注意是否触发联网、命令执行或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Migrating to the Workflow SDK

Use this skill when converting an existing orchestration system to the Workflow SDK.

Intake

  1. Identify the source system:

- Temporal - Inngest - Trigger.dev - AWS Step Functions

  1. Identify the target runtime:

- Managed hosting -> keep examples focused on start(), getRun(), hooks/webhooks, and route handlers. - Self-hosted -> also read references/runtime-targets.md and explicitly say the workflow/step code can stay the same, but deployment still needs a World implementation and startup bootstrap.

  1. Extract the source constructs:

- entrypoint - waits / timers - external callbacks / approvals - retries / failure handling - child workflows / fan-out - progress streaming - external side effects

Default migration rules

  • Put orchestration in "use workflow" functions.
  • Put side effects, SDK calls, DB calls, HTTP calls, and stream I/O in "use step" functions.
  • Use sleep() only in workflow context.
  • For Signals, step.waitForEvent(), and .waitForTaskToken, choose exactly one resume surface:

- resume/internal -> createHook() + resumeHook() when the app resumes from server-side code with a deterministic business token. - resume/url/default -> createWebhook() when the external system needs a generated callback URL and the default 202 Accepted response is fine. - resume/url/manual -> createWebhook({respondWith: 'manual'}) only when the prompt explicitly requires a custom response body, status, or headers. - If a callback-URL prompt does not specify response semantics, default to resume/url/default and make the assumption explicit in ## Open Questions.

  • Never pair createWebhook() with resumeHook(), and never pass token: to createWebhook().
  • Wrap start() and getRun() inside "use step" functions for child runs.
  • Use getStepMetadata().stepId as the idempotency key for external writes.
  • Use getWritable() in workflow context to obtain the stream, but interact with it (write, close) only inside "use step" functions.
  • Prefer rollback stacks for multi-step compensation.
  • Choose app-boundary syntax in this order:

1. If the prompt explicitly asks for framework-agnostic app-boundary code, use plain Request / Response even when a framework like Hono is named. 2. Otherwise, if the target framework is named, shape app-boundary examples to that framework. 3. Otherwise, keep examples framework-agnostic with Request / Response. Do not default to Next.js-only route signatures unless Next.js is explicitly named.

Fast memory aid: - Callback URL + default ack -> createWebhook() - Callback URL + custom ack -> createWebhook({respondWith: 'manual'}) - Deterministic server-side resume -> createHook() + resumeHook()

Fast-path router

Load references/resume-routing.md when the source pauses for Signals, step.waitForEvent(), or .waitForTaskToken.

Fast defaults:

  • callback URL only -> resume/url/default
  • callback URL + explicit custom response -> resume/url/manual
  • deterministic server-side resume -> resume/internal
  • self-hosted -> add runtime/self-hosted
  • named framework -> add boundary/named-framework
  • explicit framework-agnostic request -> add boundary/framework-agnostic

Before drafting ## Migrated Code, write the selected route keys in ## Migration Plan.

Source references

  • Temporal -> references/temporal.md
  • Inngest -> references/inngest.md
  • Trigger.dev -> references/trigger-dev.md
  • AWS Step Functions -> references/aws-step-functions.md

Shared references

  • references/shared-patterns.md — reusable code templates for hooks, child workflows, idempotency, streaming, and rollback.
  • references/runtime-targets.md — Managed vs custom World guidance.
  • references/resume-routing.md — route-key selection, obligations, and exact ## Migration Plan shape.
  • references/retries.md — canonical retry mechanics: stepFn.maxRetries, RetryableError({retryAfter}), FatalError.

Required output shape

Return the migration in this structure:

## Migration Plan
## Source -> Target Mapping
## Migrated Code
## App Boundary / Resume Endpoints
## Verification Checklist
## Open Questions

Verification checklist

Fail the draft if any of these are true:

  • ## Migration Plan omits Route keys
  • ## Migration Plan omits Why these route keys
  • ## Migration Plan lists route keys that do not match the prompt
  • ## Migration Plan lists required code obligations that do not match the selected route keys
  • Source-framework primitives remain in the migrated code
  • Side effects remain in workflow context
  • sleep() appears inside a step
  • Stream interaction (getWriter(), write(), close()) appears inside a workflow function
  • Child workflows call start() / getRun() directly from workflow context
  • External writes omit idempotency keys
  • Hooks/webhooks are missing where the source used signals, waitForEvent, or task tokens
  • A callback-URL flow uses createHook() + resumeHook() instead of createWebhook()
  • A resume/url/default or resume/url/manual migration invents a user-authored callback route or resumeWebhook() wrapper when webhook.url should be the only resume surface
  • createWebhook() is given a custom token or paired with resumeHook()

Validation note:

  • Reading webhook request data in workflow context is allowed. Only request.respondWith() is step-only.

Additional fail conditions:

  • resume/internal output omits resumeHook() in app-boundary code
  • resume/internal output omits a deterministic business token
  • resume/internal output emits createWebhook() or webhook.url
  • resume/url/default output does not pass webhook.url to the external system
  • resume/url/default output emits resumeHook(), respondWith: 'manual', or RequestWithResponse without a custom-response requirement in the prompt
  • resume/url/default output invents a user-authored callback route or resumeWebhook() wrapper when webhook.url is the intended resume surface
  • resume/url/manual output does not pass webhook.url to the external system
  • resume/url/manual output omits RequestWithResponse or await request.respondWith(...)
  • resume/url/manual output calls request.respondWith(...) outside a "use step" function
  • resume/url/manual output invents a user-authored callback route or resumeWebhook() wrapper when webhook.url is the intended resume surface
  • createWebhook() is paired with resumeHook()
  • self-hosted output omits World extends Queue, Streamer, Storage, startWorkflowWorld(), or the explicit note that the workflow and step code can stay the same while the app still needs a custom World
  • named-framework output mixes framework syntax with plain Request / Response app-boundary code without a framework-agnostic override

For concrete passing code, load:

  • references/shared-patterns.md -> ## Generated callback URL (default response)
  • references/shared-patterns.md -> ## Generated callback URL (manual response)
  • references/runtime-targets.md -> ## Self-hosted output block
  • references/aws-step-functions.md -> ## Combined recipe: callback URL on self-hosted Hono

Sample prompt

Migrate this Inngest workflow to the Workflow SDK.
It uses step.waitForEvent() with a timeout and step.realtime.publish().

Expected response shape:

## Migration Plan
## Source -> Target Mapping
## Migrated Code
## App Boundary / Resume Endpoints
## Verification Checklist
## Open Questions

Example references

Load a worked example only when the prompt needs concrete code:

  • references/shared-patterns.md -> ## Named-framework internal resume example (Hono)
  • references/shared-patterns.md -> ## Generated callback URL (default response)
  • references/shared-patterns.md -> ## Generated callback URL (manual response)
  • references/runtime-targets.md -> ## Self-hosted output block
  • references/aws-step-functions.md -> ## Combined recipe: callback URL on self-hosted Hono

Reject these counterexamples:

  • resume/url/default or resume/url/manual + user-authored callback route when webhook.url is the intended resume surface
  • createWebhook() paired with resumeHook()
  • named-framework app-boundary output mixed with plain Request / Response without a framework-agnostic override

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.63%
按下载量换算211

Claude

32.42%
按下载量换算198

Cursor

19.07%
按下载量换算116

Gemini CLI

10.49%
按下载量换算64

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills