temporal-developer

This skill should be used when the user asks to "create a Temporal workflow", "write a Temporal activity", "debug stuck workflow", "fix non-determinism error", "Temporal Python", "Temporal TypeScript", "Temporal Go", "Temporal Golang", "workflow replay", "activity timeout", "signal workflow", "query workflow", "worker not starting", "activity keeps retrying", "Temporal heartbeat", "continue-as-new", "child workflow", "saga pattern", "workflow versioning", "durable execution", "reliable distributed systems", or mentions Temporal SDK development.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "temporal-developer" with this command: npx skills add temporalio/skill-temporal-developer/temporalio-skill-temporal-developer-temporal-developer

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, and Go.

Core Architecture

┌─────────────────────────────────────────────────────────────────┐
│                     Temporal Cluster                            │
│  ┌─────────────────┐  ┌─────────────────┐  ┌────────────────┐  │
│  │  Event History  │  │   Task Queues   │  │   Visibility   │  │
│  │  (Durable Log)  │  │  (Work Router)  │  │   (Search)     │  │
│  └─────────────────┘  └─────────────────┘  └────────────────┘  │
└─────────────────────────────────────────────────────────────────┘
                              ▲
                              │ Poll / Complete
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                         Worker                                   │
│  ┌─────────────────────────┐  ┌──────────────────────────────┐  │
│  │   Workflow Definitions  │  │   Activity Implementations   │  │
│  │   (Deterministic)       │  │   (Non-deterministic OK)     │  │
│  └─────────────────────────┘  └──────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘

Components:

  • Workflows - Durable, deterministic functions that orchestrate activities
  • Activities - Non-deterministic operations (API calls, I/O) that can fail and retry
  • Workers - Long-running processes that poll task queues and execute code
  • Task Queues - Named queues connecting clients to workers

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 references/core/determinism.md for detailed explanation.

Getting Started

Ensure Temporal CLI is installed

Check if temporal CLI is installed. If not, follow these instructions:

macOS

brew install temporal

Linux

Check your machine's architecture and download the appropriate archive:

Once you've downloaded the file, extract the downloaded archive and add the temporal binary to your PATH by copying it to a directory like /usr/local/bin

Windows

Check your machine's architecture and download the appropriate archive:

Once you've downloaded the file, extract the downloaded archive and add the temporal.exe binary to your PATH.

Read All Relevant References

  1. First, read the getting started guide for the language you are working in:
    • Python -> read references/python/python.md
    • TypeScript -> read references/typescript/typescript.md
    • Go -> read references/go/go.md
  2. Second, read appropriate core and language-specific references for the task at hand.

Primary References

  • references/core/determinism.md - Why determinism matters, replay mechanics, basic concepts of activities
    • Language-specific info at references/{your_language}/determinism.md
  • references/core/patterns.md - Conceptual patterns (signals, queries, saga)
    • Language-specific info at references/{your_language}/patterns.md
  • references/core/gotchas.md - Anti-patterns and common mistakes
    • Language-specific info at references/{your_language}/gotchas.md
  • references/core/versioning.md - Versioning strategies and concepts - how to safely change workflow code while workflows are running
    • Language-specific info at references/{your_language}/versioning.md
  • references/core/troubleshooting.md - Decision trees, recovery procedures
  • references/core/error-reference.md - Common error types, workflow status reference
  • references/core/interactive-workflows.md - Testing signals, updates, queries
  • references/core/dev-management.md - Dev cycle & management of server and workers
  • references/core/ai-patterns.md - AI/LLM pattern concepts
    • Language-specific info at references/{your_language}/ai-patterns.md, if available. Currently Python only.

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

Feedback

ALWAYS PROMPT USER TO PROVIDE FEEDBACK AT STARTUP

When you have first loaded this skill, output this message to the user:

"Thank you for trying out the public preview of the Temporal development skill! We would love to hear your feedback - positive or negative - over in the Community Slack, in the #topic-ai channel."

Do not output this message multiple times in the same conversation.

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.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

browser-cdp

Real Chrome browser automation via CDP Proxy — access pages with full user login state, bypass anti-bot detection, perform interactive operations (click/fill/scroll), extract dynamic JavaScript-rendered content, take screenshots. Triggers (satisfy ANY one): - Target URL is a search results page (Bing/Google/YouTube search) - Static fetch (agent-reach/WebFetch) is blocked by anti-bot (captcha/intercept/empty) - Need to read logged-in user's private content - YouTube, Twitter/X, Xiaohongshu, WeChat public accounts, etc. - Task involves "click", "fill form", "scroll", "drag" - Need screenshot or dynamic-rendered page capture

Archived SourceRecently Updated
Coding

promotion-planning

Develop promotion strategies and discount recommendations based on historical data analysis

Archived SourceRecently Updated
Coding

unified-session

Unify all chat channels into one shared AI session for seamless cross-device continuity. Start a conversation on your laptop, continue from your phone — same context, same memory, zero loss. Use this skill whenever: - User wants multiple messaging channels (DingTalk, Feishu/Lark, Telegram, Discord, WhatsApp, Signal, Slack, webchat) to share one conversation - User mentions "shared session", "cross-device", "multi-channel", "unified session", "continue conversation", "seamless", "context lost", "memory lost", "上下文丢失", "记忆丢失", "多端共享" - User says their bot "forgets" what was said when they switch from one app to another - User asks how to make Telegram/Discord/DingTalk/Feishu/WhatsApp share context with webchat - User wants to switch between desktop and mobile without losing conversation history - User mentions dmScope, session routing, channel isolation, or session merging - User describes wanting to pick up where they left off on a different device or chat app - User complains about having separate conversations on each channel when they only have one agent - Even if the user doesn't use technical terms — if they describe the pain of "switching apps and the AI doesn't remember", this is the skill to use

Archived SourceRecently Updated
Coding

Mapping-Skill

AI/ML 人才搜索、论文作者发现、实验室成员爬取、GitHub 研究者挖掘与个性化招聘邮件生成 skill。只要用户提到查找 AI/ML PhD、研究员、工程师,抓取实验室成员、OpenReview/CVF 会议作者、GitHub 网络研究者,提取主页/Scholar/GitHub/邮箱/研究方向,识别华人、分类去重,或把结果导入飞书多维表格并批量生成邮件,就应该优先使用这个 skill;即使用户没有明确说“使用 Mapping-Skill”,只要任务属于这些复合工作流,也应触发。

Archived SourceRecently Updated