Skip to content

Commit 9d30181

Browse files
mitul-scursoragentCopilot
authored
[workflow] Adopt Workflow SDK branding (#133)
* [workflow] Adopt Workflow SDK branding Retire user-facing DevKit and WDK terminology while retaining legacy matcher aliases and syncing the current upstream workflow skill. Co-authored-by: Cursor <cursoragent@cursor.com> * [workflow] Add Analytics API import Expose getWorld in the quick reference so users can access workflow analytics through the runtime World. Co-authored-by: Cursor <cursoragent@cursor.com> * fix: narrow build-agents prompt suppression Co-authored-by: mitul-s <19615826+mitul-s@users.noreply.github.com> * Revert "fix: narrow build-agents prompt suppression" Restore the dedicated Vercel Agent routing exclusion because the matcher change was unrelated to PR #133. This reverts commit 248f11c. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: mitul-s <19615826+mitul-s@users.noreply.github.com>
1 parent 49da553 commit 9d30181

17 files changed

Lines changed: 559 additions & 287 deletions

File tree

.claude/skills/benchmark-agents/SKILL.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: benchmark-agents
3-
description: Advanced AI agent benchmark scenarios that push Vercel's cutting-edge platform features — Workflow DevKit, AI Gateway, MCP, Chat SDK, Queues, Flags, Sandbox, and multi-agent orchestration. Designed to stress-test skill injection for complex, multi-system builds.
3+
description: Advanced AI agent benchmark scenarios that push Vercel's cutting-edge platform features — Workflow SDK, AI Gateway, MCP, Chat SDK, Queues, Flags, Sandbox, and multi-agent orchestration. Designed to stress-test skill injection for complex, multi-system builds.
44
---
55

66
# Benchmark Agents — Advanced AI Systems
@@ -163,7 +163,7 @@ After sessions build, verify these patterns in the generated projects:
163163

164164
### Project structure
165165
```bash
166-
echo -n "src/: "; test -d "$base/src" && echo YES || echo NO # Should be NO for WDK projects
166+
echo -n "src/: "; test -d "$base/src" && echo YES || echo NO # Should be NO for Workflow SDK projects
167167
echo -n "workflows/: "; test -d "$base/workflows" && echo YES || echo NO
168168
echo -n "withWorkflow: "; grep -q "withWorkflow" "$base"/next.config.* && echo YES || echo NO
169169
echo -n "components.json: "; test -f "$base/components.json" && echo YES || echo NO
@@ -204,7 +204,7 @@ head -5 "$wf" # Should show: import { getWritable } from "workflow"
204204
- "store all designs in a gallery"
205205

206206
### DON'T:
207-
- "use Vercel Workflow DevKit with getWritable"
207+
- "use Vercel Workflow SDK with getWritable"
208208
- "use gateway('google/gemini-3.1-flash-image-preview')"
209209
- "install npx ai-elements"
210210
- "add withWorkflow to next.config.ts"
@@ -227,13 +227,13 @@ head -5 "$wf" # Should show: import { getWritable } from "workflow"
227227
| Agent uses `dall-e-3` for images | Agent doesn't know about gemini image gen | PostToolUse validate warns, capabilities table in ai-sdk (v0.9.7) |
228228
| Agent uses `experimental_generateImage` | Old API | PostToolUse validate warns, recommend `generateText` + `result.files` (v0.9.9) |
229229
| Raw markdown rendering (`**bold**` visible) | Agent skips AI Elements | `MessageResponse` documented as universal renderer (v0.9.2) |
230-
| `@/../../workflows/` broken import | Workflows outside `@` alias root | Canonical structure docs: no `src/` for WDK (v0.8.3) |
230+
| `@/../../workflows/` broken import | Workflows outside `@` alias root | Canonical structure docs: no `src/` for Workflow SDK (v0.8.3) |
231231
| `withWorkflow` missing from next.config | Agent skipped setup step | Marked as "Required" in workflow skill (v0.8.1) |
232232
| `defineHook` but no resume route | Agent didn't wire the 3-piece pattern | Documented as 3 required pieces (v0.9.3) |
233233
| `generateObject()` used (removed in v6) | Agent's training data | PostToolUse validate catches as error (v0.9.3) |
234234
| `getWritable()` in workflow scope | Sandbox violation | Strengthened warning in skill (v0.8.1) |
235235
| Missing `vercel link` + `vercel env pull` | No OIDC credentials | Added as "Required" setup step (v0.9.1) |
236-
| `getStepMetadata().retryCount` undefined on first attempt | WDK quirk | Documented: guard with `?? 0` (v0.9.1) |
236+
| `getStepMetadata().retryCount` undefined on first attempt | Workflow SDK quirk | Documented: guard with `?? 0` (v0.9.1) |
237237
| shadcn not installed | No trigger for scaffolding | Added `create-next-app` bashPattern to shadcn (v0.8.0) |
238238
| Skill cap too low (3) | Only 3 skills injected per tool call | Raised to 5 with 18KB budget (v0.8.0) |
239239

@@ -295,7 +295,7 @@ The standard improvement cycle:
295295
Scenarios 01, 04, 09 — AI SDK, Gateway, Sandbox, AI Elements without durable workflows.
296296

297297
### Tier 2 — Durable Agents (45-60 min)
298-
Scenarios 02, 03, 06, 10 — Workflow DevKit, multi-step durability, agent orchestration.
298+
Scenarios 02, 03, 06, 10 — Workflow SDK, multi-step durability, agent orchestration.
299299

300300
### Tier 3 — Platform Integration (45-60 min)
301301
Scenarios 05, 07, 08, 11, 12 — Chat SDK, Queues, Flags, Firewall, cross-platform messaging.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ A text-form relational graph covering:
8282
| `vercel-services` | Multiple frontends and backends in one project, with public rewrites and private service bindings |
8383
| `vercel-storage` | Blob, Edge Config, Neon Postgres, Upstash Redis, migration from sunset packages |
8484
| `verification` | Full-story verification — infers user story, verifies end-to-end browser → API → data → response |
85-
| `workflow` | Workflow DevKit — durable execution, DurableAgent, steps, Worlds, pause/resume |
85+
| `workflow` | Workflow SDK — durable execution, DurableAgent, steps, Worlds, pause/resume |
8686

8787
### Agents (3 specialists)
8888

@@ -266,7 +266,7 @@ bun run build:from-skills # Stage 4: Resolve template includes
266266
- AI SDK v6 (Agents, MCP, DevTools, Reranking, Image Editing)
267267
- AI Elements (pre-built React components for AI interfaces)
268268
- Chat SDK (multi-platform chat bots — Slack, Telegram, Teams, Discord)
269-
- Workflow DevKit (DurableAgent, Worlds, open source)
269+
- Workflow SDK (DurableAgent, Worlds, open source)
270270
- AI Gateway (100+ models, provider routing, cost tracking)
271271
- Vercel Functions (Fluid Compute, streaming, Cron Jobs)
272272
- Vercel Services (multiple frontends and backends, public rewrites, private bindings)

agents/ai-architect.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ What does the AI feature need to do?
2020
│ ├─ Single tool call → `generateText` with `tools` parameter
2121
│ ├─ Multi-step reasoning with tools → AI SDK `ToolLoopAgent` class
2222
│ │ ├─ Short-lived (< 60s) → Agent in Route Handler
23-
│ │ └─ Long-running (minutes to hours) → Workflow DevKit `DurableAgent`
23+
│ │ └─ Long-running (minutes to hours) → Workflow SDK `DurableAgent`
2424
│ └─ MCP server integration → `@ai-sdk/mcp` StreamableHTTPClientTransport
2525
2626
├─ Process files / images / audio
@@ -34,7 +34,7 @@ What does the AI feature need to do?
3434
│ └─ Generate with context → `generateText` with retrieved chunks in prompt
3535
3636
└─ Multi-agent system
37-
├─ Agents share context? → Workflow DevKit `Worlds` (shared state)
37+
├─ Agents share context? → Workflow SDK `Worlds` (shared state)
3838
├─ Independent agents? → Multiple `ToolLoopAgent` instances with separate tools
3939
└─ Orchestrator pattern? → Parent Agent delegates to child Agents via tools
4040
```
@@ -368,7 +368,7 @@ Use when: Chat that can take actions (search, CRUD, calculations).
368368
### Pattern 3: Background Agent
369369

370370
```
371-
Client → Route Handler → Workflow DevKit (DurableAgent)
371+
Client → Route Handler → Workflow SDK (DurableAgent)
372372
↓ ↓ tool calls
373373
Returns runId External APIs / DB
374374
↓ ↓

agents/ai-architect.md.tmpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ What does the AI feature need to do?
2020
│ ├─ Single tool call → `generateText` with `tools` parameter
2121
│ ├─ Multi-step reasoning with tools → AI SDK `ToolLoopAgent` class
2222
│ │ ├─ Short-lived (< 60s) → Agent in Route Handler
23-
│ │ └─ Long-running (minutes to hours) → Workflow DevKit `DurableAgent`
23+
│ │ └─ Long-running (minutes to hours) → Workflow SDK `DurableAgent`
2424
│ └─ MCP server integration → `@ai-sdk/mcp` StreamableHTTPClientTransport
2525
2626
├─ Process files / images / audio
@@ -34,7 +34,7 @@ What does the AI feature need to do?
3434
│ └─ Generate with context → `generateText` with retrieved chunks in prompt
3535
3636
└─ Multi-agent system
37-
├─ Agents share context? → Workflow DevKit `Worlds` (shared state)
37+
├─ Agents share context? → Workflow SDK `Worlds` (shared state)
3838
├─ Independent agents? → Multiple `ToolLoopAgent` instances with separate tools
3939
└─ Orchestrator pattern? → Parent Agent delegates to child Agents via tools
4040
```
@@ -165,7 +165,7 @@ Use when: Chat that can take actions (search, CRUD, calculations).
165165
### Pattern 3: Background Agent
166166

167167
```
168-
Client → Route Handler → Workflow DevKit (DurableAgent)
168+
Client → Route Handler → Workflow SDK (DurableAgent)
169169
↓ ↓ tool calls
170170
Returns runId External APIs / DB
171171
↓ ↓

agents/deployment-expert.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Build failed?
5555
├─ Long-running task?
5656
│ ├─ Under 5 min → Use Fluid Compute with streaming
5757
│ ├─ Up to 15 min → Use Vercel Functions with `maxDuration` in vercel.json
58-
│ └─ Hours/days → Use Workflow DevKit (DurableAgent or workflow steps)
58+
│ └─ Hours/days → Use Workflow SDK (DurableAgent or workflow steps)
5959
└─ DB query slow? → Add connection pooling, check cold start, use Edge Config
6060
```
6161

generated/skill-manifest.json

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@
586586
{
587587
"pattern": "DurableAgent|use workflow|use step|from\\s+[''\"]workflow[''\"]|@workflow/",
588588
"targetSkill": "workflow",
589-
"message": "Workflow DevKit pattern detected in AI code — loading WDK guidance for durable agent execution, step isolation, and crash-safe orchestration.",
589+
"message": "Workflow SDK pattern detected in AI code — loading Workflow SDK guidance for durable agent execution, step isolation, and crash-safe orchestration.",
590590
"skipIfFileContains": "createWorkflow|withWorkflow"
591591
},
592592
{
@@ -1376,7 +1376,7 @@
13761376
{
13771377
"pattern": "setTimeout\\s*\\(|setInterval\\s*\\(|while\\s*\\(\\s*true",
13781378
"targetSkill": "workflow",
1379-
"message": "Long-running or polling logic in chat bot — loading Workflow DevKit for durable execution that survives deploys.",
1379+
"message": "Long-running or polling logic in chat bot — loading Workflow SDK for durable execution that survives deploys.",
13801380
"skipIfFileContains": "use workflow|from\\s+[''\"]workflow[''\"]"
13811381
},
13821382
{
@@ -3817,11 +3817,11 @@
38173817
},
38183818
{
38193819
"pattern": "maxRetries\\s*[=:]|retryCount\\s*[=:]|retry\\s*\\(\\s*|for\\s*\\([^)]*retry|while\\s*\\([^)]*retry",
3820-
"message": "Manual retry logic detected. Use Vercel Workflow DevKit for automatic retries with durable execution.",
3820+
"message": "Manual retry logic detected. Use Vercel Workflow SDK for automatic retries with durable execution.",
38213821
"severity": "recommended",
38223822
"skipIfFileContains": "use workflow|use step|@vercel/workflow|from\\s+[''\"\"](workflow)[''\"\"]",
38233823
"upgradeToSkill": "workflow",
3824-
"upgradeWhy": "Replace manual retry loops with Workflow DevKit steps that provide automatic retries, crash safety, and observability.",
3824+
"upgradeWhy": "Replace manual retry loops with Workflow SDK steps that provide automatic retries, crash safety, and observability.",
38253825
"upgradeMode": "soft"
38263826
},
38273827
{
@@ -3843,7 +3843,7 @@
38433843
{
38443844
"pattern": "setTimeout\\s*\\(|setInterval\\s*\\(|await\\s+new\\s+Promise\\s*\\([^)]*setTimeout",
38453845
"targetSkill": "workflow",
3846-
"message": "Long-running or polling logic in serverless handler — loading Workflow DevKit for durable execution."
3846+
"message": "Long-running or polling logic in serverless handler — loading Workflow SDK for durable execution."
38473847
},
38483848
{
38493849
"pattern": "writeFile(Sync)?\\(|createWriteStream\\(|from\\s+[''\\\"](multer|formidable)[''\"]|fs\\.writeFile",
@@ -3863,7 +3863,7 @@
38633863
{
38643864
"pattern": "while\\s*\\(\\s*true\\s*\\)\\s*\\{|for\\s*\\(\\s*;\\s*;\\s*\\)\\s*\\{|setInterval\\s*\\(\\s*async",
38653865
"targetSkill": "workflow",
3866-
"message": "Polling loop in serverless function detected — loading Workflow DevKit for durable, crash-safe execution with pause/resume.",
3866+
"message": "Polling loop in serverless function detected — loading Workflow SDK for durable, crash-safe execution with pause/resume.",
38673867
"skipIfFileContains": "use workflow|use step|from\\\\s+['\\\"]workflow['\\\"]"
38683868
},
38693869
{
@@ -3881,7 +3881,7 @@
38813881
{
38823882
"pattern": "maxRetries\\s*[=:]|retryCount\\s*[=:]|retry\\s*\\(\\s*|for\\s*\\([^)]*retry|while\\s*\\([^)]*retry",
38833883
"targetSkill": "workflow",
3884-
"message": "Manual retry logic in serverless handler — loading Workflow DevKit guidance for automatic retries with durable execution.",
3884+
"message": "Manual retry logic in serverless handler — loading Workflow SDK guidance for automatic retries with durable execution.",
38853885
"skipIfFileContains": "use workflow|use step|@vercel/workflow|from\\s+[''\"\"](workflow)[''\"\"]"
38863886
}
38873887
],
@@ -4680,7 +4680,7 @@
46804680
"summary": "",
46814681
"docs": [
46824682
"https://vercel.com/docs/workflow",
4683-
"https://useworkflow.dev"
4683+
"https://workflow-sdk.dev"
46844684
],
46854685
"sitemap": "https://vercel.com/sitemap/docs.xml",
46864686
"pathPatterns": [
@@ -4767,7 +4767,7 @@
47674767
},
47684768
{
47694769
"pattern": "from\\s+['\"]@vercel/workflow['\"]",
4770-
"message": "Workflow DevKit requires AI Gateway OIDC setup — ensure vercel link + vercel env pull for VERCEL_OIDC_TOKEN",
4770+
"message": "Workflow SDK requires AI Gateway OIDC setup — ensure vercel link + vercel env pull for VERCEL_OIDC_TOKEN",
47714771
"severity": "recommended"
47724772
},
47734773
{
@@ -4778,7 +4778,7 @@
47784778
},
47794779
{
47804780
"pattern": "context\\.run\\s*\\(",
4781-
"message": "context.run() is not a WDK pattern — use \"use step\" directive for retryable, observable steps",
4781+
"message": "context.run() is not a Workflow SDK pattern — use \"use step\" directive for retryable, observable steps",
47824782
"severity": "error",
47834783
"upgradeToSkill": "workflow",
47844784
"upgradeWhy": "Guides migration from context.run() to the \"use step\" directive for durable, retryable workflow steps.",
@@ -4848,7 +4848,7 @@
48484848
{
48494849
"pattern": "process\\.env\\.(OPENAI_API_KEY|ANTHROPIC_API_KEY)|from\\s+[''\"]@ai-sdk/(anthropic|openai)[''\"\"]",
48504850
"targetSkill": "ai-gateway",
4851-
"message": "Direct provider API key in workflow — loading AI Gateway guidance for OIDC auth (required for WDK AI steps).",
4851+
"message": "Direct provider API key in workflow — loading AI Gateway guidance for OIDC auth (required for Workflow SDK AI steps).",
48524852
"skipIfFileContains": "gateway\\(|@ai-sdk/gateway|VERCEL_OIDC"
48534853
},
48544854
{
@@ -4867,6 +4867,7 @@
48674867
"promptSignals": {
48684868
"phrases": [
48694869
"vercel workflow",
4870+
"workflow sdk",
48704871
"workflow devkit",
48714872
"durable workflow",
48724873
"durable execution",
@@ -5464,6 +5465,7 @@
54645465
"implement step function"
54655466
],
54665467
"entities": [
5468+
"Workflow SDK",
54675469
"Workflow DevKit",
54685470
"WDK",
54695471
"step",

skills/ai-sdk/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ chainTo:
278278
-
279279
pattern: 'DurableAgent|use workflow|use step|from\s+[''"]workflow[''"]|@workflow/'
280280
targetSkill: workflow
281-
message: 'Workflow DevKit pattern detected in AI code — loading WDK guidance for durable agent execution, step isolation, and crash-safe orchestration.'
281+
message: 'Workflow SDK pattern detected in AI code — loading Workflow SDK guidance for durable agent execution, step isolation, and crash-safe orchestration.'
282282
skipIfFileContains: 'createWorkflow|withWorkflow'
283283
-
284284
pattern: "from\\s+['\"]langchain['\"]|from\\s+['\"]@langchain/"

skills/ai-sdk/overlay.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ chainTo:
277277
-
278278
pattern: 'DurableAgent|use workflow|use step|from\s+[''"]workflow[''"]|@workflow/'
279279
targetSkill: workflow
280-
message: 'Workflow DevKit pattern detected in AI code — loading WDK guidance for durable agent execution, step isolation, and crash-safe orchestration.'
280+
message: 'Workflow SDK pattern detected in AI code — loading Workflow SDK guidance for durable agent execution, step isolation, and crash-safe orchestration.'
281281
skipIfFileContains: 'createWorkflow|withWorkflow'
282282
-
283283
pattern: "from\\s+['\"]langchain['\"]|from\\s+['\"]@langchain/"

skills/chat-sdk/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ chainTo:
127127
-
128128
pattern: 'setTimeout\s*\(|setInterval\s*\(|while\s*\(\s*true'
129129
targetSkill: workflow
130-
message: 'Long-running or polling logic in chat bot — loading Workflow DevKit for durable execution that survives deploys.'
130+
message: 'Long-running or polling logic in chat bot — loading Workflow SDK for durable execution that survives deploys.'
131131
skipIfFileContains: 'use workflow|from\s+[''"]workflow[''"]'
132132
-
133133
pattern: 'process\.env\.(OPENAI_API_KEY|ANTHROPIC_API_KEY)|from\s+[''"]@ai-sdk/(anthropic|openai)[''""]'

skills/chat-sdk/overlay.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ chainTo:
126126
-
127127
pattern: 'setTimeout\s*\(|setInterval\s*\(|while\s*\(\s*true'
128128
targetSkill: workflow
129-
message: 'Long-running or polling logic in chat bot — loading Workflow DevKit for durable execution that survives deploys.'
129+
message: 'Long-running or polling logic in chat bot — loading Workflow SDK for durable execution that survives deploys.'
130130
skipIfFileContains: 'use workflow|from\s+[''"]workflow[''"]'
131131
-
132132
pattern: 'process\.env\.(OPENAI_API_KEY|ANTHROPIC_API_KEY)|from\s+[''"]@ai-sdk/(anthropic|openai)[''""]'

0 commit comments

Comments
 (0)