Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
johnlindquist avatar

Workflow Devkit

  • 40 installs
  • 24 repo stars
  • Updated December 19, 2025
  • johnlindquist/claude

Develop and test Claude Code workflows locally with debugging, hot-reload, and type checking capabilities.

About

Local development toolkit for building Claude Code workflows. Provides debugging, testing, and hot-reload for fast iteration.

  • Local debugging and hot-reload for development
  • Type checking and format validation

Workflow Devkit by the numbers

  • 40 all-time installs (skills.sh)
  • +3 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #369 of 782 Skill Development skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/johnlindquist/claude --skill workflow-devkit

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs40
repo stars24
Last updatedDecember 19, 2025
Repositoryjohnlindquist/claude

What it does

Develop and test Claude Code workflows locally with debugging, hot-reload, and type checking capabilities.

Files

SKILL.mdMarkdownGitHub ↗

Workflow DevKit

Build reliable, long-running processes with automatic retries, state persistence, and observability.

Quick Reference

PatternUse CaseKey API
WorkflowsOrchestrate durable operations"use workflow" directive
StepsAtomic, retriable units"use step" directive
WebhooksHuman-in-the-loop, callbackscreateWebhook()
ActorsEvent-driven state machinesdefineHook() + for await
StreamingReal-time frontend updatesgetWritable() / run.readable
AI AgentsDurable LLM workflowsDurableAgent + globalThis.fetch = fetch
AI GatewayMulti-provider model switching"provider/model" strings, @ai-sdk/gateway

Prerequisites

pnpm add workflow @workflow/ai ai @ai-sdk/gateway zod

Core Concepts

Workflows ("use workflow")

import { sleep } from "workflow";

export async function myWorkflow(input: string) {
  "use workflow";
  const result = await step1(input);
  await sleep("5s");
  return result;
}

Steps ("use step") - MUST be in SAME FILE as workflow

async function step1(input: string) {
  "use step";
  return await fetch(`/api/data?q=${input}`).then(r => r.json());
}

Error Types

import { FatalError, RetryableError } from "workflow";

// Auto-retried
throw new Error("Transient failure");

// No retry - stops workflow
throw new FatalError("Invalid credentials");

// Custom retry timing
throw new RetryableError("Rate limited", { retryAfter: "60s" });

Detailed Documentation

  • patterns.md - Workflow patterns (sequential, parallel, routing, actors)
  • api-reference.md - Complete API reference
  • ai-integration.md - AI SDK and DurableAgent patterns

Imports Cheat Sheet

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

// API routes
import { start, getRun } from "workflow/api";

// AI integration
import { DurableAgent } from "@workflow/ai/agent";
import { generateText, generateObject } from "ai";
import { createUIMessageStreamResponse } from "ai";

Examples Directory

Reference implementations: ~/dev/workflow-examples/

ExamplePattern
nextjs/Basic user signup workflow
kitchen-sink/All patterns reference
actors/Event-driven actor pattern
ai-sdk-workflow-patterns/AI agent patterns
flight-booking-app/DurableAgent with tools
rag-agent/RAG with PostgreSQL + embeddings
birthday-card-generator/Webhooks + scheduling

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.