본문으로 건너뛰기
cccskills
무료GitHub에 공개

workflow

Build workflows with Vercel's Workflow DevKit that preserve progress and resume after restarts. Structure operations as persistent steps, wait for external events, retry temporary failures, and inspect runs to understand how a process is progressing.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Creates durable, resumable workflows using Vercel's Workflow DevKit. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow devkit", or step-based orchestration.

연동 도구Vercel
설치 방법 보기

이럴 때 유용합니다

  • Building processes that resume after restarts
  • Pausing a workflow until an external event arrives
  • Retrying temporary failures in individual steps
  • Inspecting and debugging workflow runs

포함된 파일(1)

  • SKILL.md5.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

CRITICAL: Always Use Correct workflow Documentation

Your knowledge of workflow is outdated.

The workflow documentation outlined below matches the installed version of the Workflow DevKit. Follow these instructions before starting on any workflow-related tasks:

Search the bundled documentation in node_modules/workflow/docs/:

  1. Find docs: glob "node_modules/workflow/docs/**/*.mdx"
  2. Search content: grep "your query" node_modules/workflow/docs/

Documentation structure in node_modules/workflow/docs/:

  • getting-started/ - Framework setup (next.mdx, express.mdx, hono.mdx, etc.)
  • foundations/ - Core concepts (workflows-and-steps.mdx, hooks.mdx, streaming.mdx, etc.)
  • api-reference/workflow/ - API docs (sleep.mdx, create-hook.mdx, fatal-error.mdx, etc.)
  • api-reference/workflow-api/ - Client API (start.mdx, get-run.mdx, resume-hook.mdx, etc.)
  • ai/ - AI SDK integration docs
  • errors/ - Error code documentation

Related packages also include bundled docs:

  • @workflow/ai: node_modules/@workflow/ai/docs/ - DurableAgent and AI integration
  • @workflow/core: node_modules/@workflow/core/docs/ - Core runtime (foundations, how-it-works)
  • @workflow/next: node_modules/@workflow/next/docs/ - Next.js integration

When in doubt, update to the latest version of the Workflow DevKit.

Official Resources

Quick Reference

Directives:

"use workflow";  // First line - makes async function durable
"use step";      // First line - makes function a cached, retryable unit

Essential imports:

// Workflow primitives
import { sleep, fetch, createHook, createWebhook, getWritable } from "workflow";
import { FatalError, RetryableError } from "workflow";
import { getWorkflowMetadata, getStepMetadata } from "workflow";

// API operations
import { start, getRun, resumeHook, resumeWebhook } from "workflow/api";

// Framework integrations
import { withWorkflow } from "workflow/next";
import { workflow } from "workflow/vite";
import { workflow } from "workflow/astro";
// Or use modules: ["workflow/nitro"] for Nitro/Nuxt

Prefer Step Functions to Avoid Sandbox Errors

"use workflow" functions run in a sandboxed VM. "use step" functions have full Node.js access. Put your logic in steps and use the workflow function purely for orchestration.

// Steps have full Node.js and npm access
async function fetchUserData(userId: string) {
  "use step";
  const response = await fetch(`https://api.example.com/users/${userId}`);
  return response.json();
}

async function processWithAI(data: any) {
  "use step";
  // AI SDK works in steps without workarounds
  return await generateText({
    model: openai("gpt-4"),
    prompt: `Process: ${JSON.stringify(data)}`,
  });
}

// Workflow orchestrates steps - no sandbox issues
export async function dataProcessingWorkflow(userId: string) {
  "use workflow";
  const data = await fetchUserData(userId);
  const processed = await processWithAI(data);
  return { success: true, processed };
}

Benefits: Steps have automatic retry, results are persisted for replay, and no sandbox restrictions.

Workflow Sandbox Limitations

When you need logic directly in a workflow function (not in a step), these restrictions apply:

LimitationWorkaround
No fetch()import { fetch } from "workflow" then globalThis.fetch = fetch
No setTimeout/setIntervalUse sleep("5s") from "workflow"
No Node.js modules (fs, crypto, etc.)Move to a step function

Example - Using fetch in workflow context:

import { fetch } from "workflow";

export async function myWorkflow() {
  "use workflow";
  globalThis.fetch = fetch;  // Required for AI SDK and HTTP libraries
  // Now generateText() and other libraries work
}

Note: DurableAgent from @workflow/ai handles the fetch assignment automatically.

Error Handling

Use FatalError for permanent failures (no retry), RetryableError for transient failures:

import { FatalError, RetryableError } from "workflow";

if (res.status >= 400 && res.status < 500) {
  throw new FatalError(`Client error: ${res.status}`);
}
if (res.status === 429) {
  throw new RetryableError("Rate limited", { retryAfter: "5m" });
}

Serialization

All data passed to/from workflows and steps must be serializable.

Supported types: string, number, boolean, null, undefined, bigint, plain objects, arrays, Date, RegExp, URL, URLSearchParams, Map, Set, Headers, ArrayBuffer, typed arrays, Request, Response, ReadableStream, WritableStream.

Not supported: Functions, class instances, Symbols, WeakMap/WeakSet. Pass data, not callbacks.

Streaming

Use getWritable() in step functions to stream data:

async function streamData() {
  "use step";  // Required - streaming only works in steps
  const writer = getWritable();
  await writer.write(data);
  writer.releaseLock();  // Always release the lock
}

// Close when done
await getWritable().close();

Debugging

# Check workflow endpoints are reachable
npx workflow health
npx workflow health --port 3001  # Non-default port

# Visual dashboard for runs
npx workflow web
npx workflow web --app-url http://localhost:3001

# CLI inspection (for agents)
npx workflow inspect runs
npx workflow inspect run <run_id>

Tip: Only import workflow APIs you actually use. Unused imports can cause 500 errors.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Automates website navigation, form entry, and information extraction through browser commands. Helps test web applications, reuse saved login state, and capture screenshots, PDFs, or recordings of browser workflows for inspection and documentation.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Filling and submitting web forms
  • Testing web application behavior
  • Extracting text and links from pages
vercel-labs/open-agents5.9천2026년 8월 29일 업데이트

ai-sdk

무료

Add AI chat, text generation, and agents to applications using AI SDK. The skill checks documentation and source code to guide streaming replies, external tool calls, structured results, React integration, and fixes for outdated API usage.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Add AI chat to an application
  • Build an agent that calls external tools
  • Build answers using retrieved documents
vercel-labs/open-agents5.9천2026년 8월 29일 업데이트

Build and review Tailwind CSS interfaces against consistent rules for typography, accessibility, layout, and animation. Get specific code fixes for violations, including keyboard interactions, loading states, error placement, and motion timing.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing UI components for accessibility
  • Keeping Tailwind CSS styling consistent
  • Checking animation timing and performance
vercel-labs/open-agents5.9천2026년 8월 29일 업데이트

chat-sdk

무료

Build chat bots for multiple platforms using shared TypeScript logic with Chat SDK. The skill guides message handling, interactive cards, webhook connections, streamed AI replies, and adapters that connect platforms or store conversation state.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Build a bot for Slack and Teams
  • Respond to mentions and direct messages
  • Add approval buttons to message cards
vercel-labs/open-agents5.9천2026년 8월 29일 업데이트

Review uncommitted changes, commits, branch differences, or pull requests in context. Identify bugs and concrete security weaknesses, explain when each issue occurs and how serious it is, and provide actionable feedback grounded in the surrounding code.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing uncommitted changes before a commit
  • Checking a specific commit or branch difference
  • Reviewing a pull request before merging
vercel-labs/open-agents5.9천2026년 8월 29일 업데이트

Guides deployment of Open Harness on Vercel, from collecting credentials and setting environment variables to checking the first session. Separates a basic setup from a fuller setup with GitHub repository access.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Deploying a personal copy of Open Harness
  • Identifying credentials needed for a basic deployment
  • Adding GitHub repository access
vercel-labs/open-agents5.9천2026년 8월 29일 업데이트

vercel-labs의 스킬 모두 보기

이 스킬의 문제 신고