PluginBench
Skill
Official
Pass
Audit score 90

temporal-developer

temporalio/skill-temporal-developer

Develop, debug, and manage Temporal durable workflows across Python, TypeScript, Go, Java, .NET, Ruby, and Rust.

What is temporal-developer?

Temporal is a durable execution platform that automatically survives failures. This skill guides you through building workflows, activities, and workers in multiple languages, debugging non-determinism errors and stuck workflows, using the Temporal CLI and dev server, and implementing patterns like signals, queries, sagas, and versioning.

  • Build workflows, activities, and workers in Python, TypeScript, Go, Java, .NET, Ruby, or Rust
  • Debug non-determinism errors, stuck workflows, activity retries, and history replay issues
  • Run local dev servers with `temporal server start-dev` and interact with workflows via CLI
  • Implement durable execution patterns: signals, queries, heartbeats, child workflows, saga patterns, and continue-as-new
  • Use Temporal's job queue (Standalone Activities) for background and async work
  • Apply versioning strategies to safely change workflow code while workflows are running

How to install temporal-developer

npx skills add https://github.com/temporalio/skill-temporal-developer --skill temporal-developer
Prerequisites
  • Temporal CLI installed (check with `temporal version`; install via https://docs.temporal.io/cli if missing)
  • An SDK for your language (Python, TypeScript, Go, Java, .NET, Ruby, or Rust)
  • A running Temporal Cluster (local dev server, self-hosted, or Temporal Cloud)
Claude Code
Cursor
Windsurf
Cline

How to use temporal-developer

  1. 1.Start a local dev server: `temporal server start-dev`
  2. 2.Choose your SDK language and read the relevant SDK guide (Python, TypeScript, Go, Java, .NET, Ruby, or Rust)
  3. 3.Define a Workflow function and Activity functions in your chosen language
  4. 4.Create a Worker process that registers your Workflow and Activity definitions and polls the Task Queue
  5. 5.Run the Worker and use the Temporal CLI to start workflows: `temporal workflow start --task-queue <queue-name> --type <workflow-name>`
  6. 6.Use `temporal workflow signal`, `temporal workflow query`, and `temporal workflow update` to interact with running workflows
  7. 7.Refer to the determinism rules and troubleshooting guide when workflows fail or get stuck

Use cases

Good for
  • Building a multi-step order processing workflow that survives service restarts
  • Debugging why a workflow is stuck due to non-deterministic code or activity retry loops
  • Running a local Temporal dev server to test workflows before deploying to production
  • Implementing a saga pattern to coordinate distributed transactions across multiple services
  • Using Standalone Activities to run background jobs without a workflow orchestrator
Who it's for
  • Backend engineers building durable workflows and background job systems
  • Developers debugging Temporal workflow execution and determinism issues
  • Teams migrating from cron jobs or message queues to durable execution
  • Architects designing fault-tolerant orchestration systems

temporal-developer FAQ

What is the difference between Workflows and Activities?

Workflows are deterministic orchestration functions that define the logic and order of work. Activities are non-deterministic operations (API calls, database writes, file I/O) that can fail and be retried. Workflows call Activities; Activities do not call Workflows.

Why do I get a non-determinism error?

Temporal replays workflow code from history to recover from failures. If your workflow code generates different commands on replay (e.g., random numbers, current time, non-deterministic loops), the SDK detects a mismatch and blocks the workflow. Use Temporal's deterministic utilities (e.g., `workflow.now()`, named random streams) instead of language built-ins.

Can I run Temporal in production without Temporal Cloud?

Yes. You can self-host a Temporal Cluster (managing the server and database yourself) or use Temporal Cloud (fully managed). The local dev server (`temporal server start-dev`) is for development and testing only.

What is a Standalone Activity?

A Standalone Activity is Temporal's job queue: you run an Activity directly from a Client without a Workflow. Use this for simple async work that doesn't need orchestration.

How do I safely change workflow code while workflows are running?

Use versioning strategies (e.g., `workflow.get_version()` in Python) to branch on the workflow version. This allows old running workflows to finish with old code while new workflows use new code. See the versioning guide for your language.

Full instructions (SKILL.md)

Source of truth, from temporalio/skill-temporal-developer.


name: temporal-developer description: Develop, debug, and manage Temporal applications across Python, TypeScript, Go, Java, .NET, Ruby, and Rust. Use when the user is building workflows, activities, workers, or background job queues with a Temporal SDK, debugging issues like non-determinism errors, stuck workflows, or activity retries, using Temporal CLI, Temporal Server, or Temporal Cloud, or working with durable execution concepts like signals, queries, heartbeats, versioning, continue-as-new, child workflows, or saga patterns. Also use when the user mentions "run a Temporal workflow from the CLI", "start a dev server", "run temporal server start-dev", "temporal workflow start", "temporal workflow execute", "temporal workflow signal", "temporal workflow query", "temporal workflow update".

Skill: temporal-developer

Overview

Temporal is a durable execution platform that makes workflows survive failures automatically. This skill provides guidance for building Temporal applications in Python, TypeScript, Go, Java, .NET, Ruby, and Rust.

Out of Scope

  • Operational CLI commands such as batch operations, health queries, Cloud administration, tcld, and scripting → use the temporal-ops skill.
  • Serverless Worker deployment and troubleshooting → use the temporal-serverless skill.
  • First-time Temporal Cloud setup including a Namespace, API key, sample app, and first Workflow → use the temporal-cloud-setup skill.

If a task shifts into one of these areas, follow the relevant skill. Local development and developer-facing Workflow CLI commands remain covered here.

Core Architecture

The Temporal Cluster is the central orchestration backend. It maintains three key subsystems: the Event History (a durable log of all workflow state), Task Queues (which route work to the right workers), and a Visibility store (for searching and listing workflows). There are three ways to run a Cluster:

  • Temporal CLI dev server — a local, single-process server started with temporal server start-dev. Suitable for development and testing only, not production.
  • Self-hosted — you deploy and manage the Temporal server and its dependencies (e.g., database) in your own infrastructure for production use.
  • Temporal Cloud — a fully managed production service operated by Temporal. No cluster infrastructure to manage.

Workers are long-running processes that you run and manage. They poll Task Queues for work and execute your code. You might run a single Worker process on one machine during development, or run many Worker processes across a large fleet of machines in production. Each Worker hosts two types of code:

  • Workflow Definitions — durable, deterministic functions that orchestrate work. These must not have side effects.
  • Activity Implementations — non-deterministic operations (API calls, file I/O, etc.) that can fail and be retried.

Workers communicate with the Cluster via a poll/complete loop: they poll a Task Queue for tasks, execute the corresponding Workflow or Activity code, and report results back.

History Replay: Why Determinism Matters

Temporal achieves durability through history replay:

  1. Initial Execution - Worker runs workflow, generates Commands, stored as Events in history
  2. Recovery - On restart/failure, Worker re-executes workflow from beginning
  3. Matching - SDK compares generated Commands against stored Events
  4. Restoration - Uses stored Activity results instead of re-executing

If Commands don't match Events = Non-determinism Error = Workflow blocked

Workflow CodeCommandEvent
Execute activityScheduleActivityTaskActivityTaskScheduled
Sleep/timerStartTimerTimerStarted
Child workflowStartChildWorkflowExecutionChildWorkflowExecutionStarted

See Temporal determinism rules for detailed explanation.

Choose References for the Task

Identify the SDK language and the developer's task. Read the relevant core reference in the section below and its language-specific counterpart when available. Load additional references only as the task requires.

For a new project, a first implementation, or broad SDK guidance, read the appropriate SDK guide:

For tasks that use Temporal CLI or start a local dev server, check whether temporal is installed before using it. If it is missing, follow the Temporal CLI installation guide.

Primary References

Job Queues and Background Jobs

Temporal's job queue is Standalone Activities. When the developer asks for a job queue, background or async jobs, a work queue, or whether Temporal can replace Celery, Sidekiq, BullMQ, Resque, Hangfire, or SQS-plus-workers, build it with a Standalone Activity — not a Workflow wrapping a single Activity, and not a dispatcher Workflow that receives jobs by Signal.

Temporal Task Queues are the routing mechanism Workers poll, not a queue that producers push jobs into. Do not answer a job queue question by describing Temporal Task Queues.

When a developer says "task queue" they may mean "job queue": Celery, Dramatiq, Huey, and Asynq all use Task nomenclature, while Sidekiq, Hangfire, BullMQ, Resque, RQ, and Faktory use Job. Read "can I use Temporal as a task queue?" as a job queue question, and reserve Temporal's Task Queue meaning for your own reply.

  • Temporal job queue guide - Job-queue vocabulary mapped to Temporal, migrating off an existing job queue, anti-patterns, and per-language SDK guides and runnable samples

Additional Topics

  • references/{your_language}/observability.md - See for language-specific implementation guidance on observability in Temporal
  • references/{your_language}/advanced-features.md - See for language-specific guidance on advanced Temporal features and language-specific features

Third-Party Integrations

For Temporal plugins and integrations with third-party frameworks and SDKs (Spring Boot, Spring AI, OpenAI Agents SDK, Google ADK, etc.), see integrations catalog — a single catalog table with the language, what each integration does, and a pointer to its reference file under references/{language}/integrations/.

Feedback

Reporting Issues in This Skill

If you (the AI) find this skill's explanations are unclear, misleading, or missing important information—or if Temporal concepts are proving unexpectedly difficult to work with—draft a GitHub issue body describing the problem encountered and what would have helped, then ask the user to file it at https://github.com/temporalio/skill-temporal-developer/issues/new. Do not file the issue autonomously.

Related skills

More from temporalio/skill-temporal-developer and the wider catalog.

WEweread-skills logo

weread-skills

tencent/wechatreading

WeChat Reading assistant—search books, manage shelves, view notes and highlights, browse reviews, and discover personalized recommendations.

46k installs
TMtmeet-skill logo

tmeet-skill

tencentcloud/tencentmeeting-cli

Command-line interface for Tencent Meeting: manage meetings, recordings, transcripts, and minutes via CLI.

2.7k installs
AIai-model-nodejs logo

ai-model-nodejs

tencentcloudbase/cloudbase-skills

Node.js backend AI with text generation, image generation, and agent orchestration via CloudBase SDK.

12k installs
AIai-model-nodejs logo

ai-model-nodejs

tencentcloudbase/skills

Use this skill for Node.js backend AI via @cloudbase/node-sdk (>=3.16.0) — cloud functions, CloudRun, Express, Koa, NestJS, serverless APIs, scheduled jobs, LLM proxies. Only SDK supporting image generation (ai.createImageModel + generateImage). Text models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the model field of generateText/streamText. MUST run two-step preflight before code — see body. Keywords: backend, 云函数, 云托管, serverless, LLM proxy, agent orchestration, generateText, streamText, generateImage, createModel, hunyuan-image, Token Credits, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for browser/Web (use ai-model-web) or Mini Program (use ai-model-wechat).

862 installs
AIai-model-web logo

ai-model-web

tencentcloudbase/skills

Use this skill when a browser/Web app (React, Vue, Angular, Next, Nuxt, static sites, SPAs, dashboards, AI chat UI) needs AI models via @cloudbase/js-sdk. Default routing for page/页面/Web/前端/frontend/网页/H5 AI — call directly from browser, do NOT propose a Node.js proxy. Covers generateText and streamText. Models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the model field. MUST run two-step preflight before code — see body. Keywords: 页面, Web, 前端, React, Vue, Next, Nuxt, SPA, AI chat UI, generateText, streamText, createModel, hunyuan-exp, Token Credits, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for Node.js backend (use ai-model-nodejs), Mini Program (use ai-model-wechat), or image generation (Node SDK only).

802 installs
AIai-model-wechat logo

ai-model-wechat

tencentcloudbase/skills

Use this skill for WeChat Mini Program AI via wx.cloud.extend.AI (小程序, 企业微信小程序, wx.cloud apps). Features generateText and streamText with callbacks (onText, onEvent, onFinish). Models via wx.cloud.extend.AI.createModel with groups hunyuan-exp (小程序成长计划), cloudbase (main managed), or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the data wrapper model field. API differs from JS/Node SDK — streamText needs data wrapper, generateText returns raw response. MUST run two-step preflight before code — see body. Keywords: Mini Program AI, wx.cloud.extend.AI, 小程序成长计划, ai_miniprogram_inspire_plan, Token Credits 资源包, generateText, streamText, createModel, hunyuan-exp, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for browser/Web (use ai-model-web), Node.js backend (use ai-model-nodejs), or image generation (use ai-model-nodejs).

930 installs