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.
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.
┌─────────────────────────────────────────────────────────────────┐
│ Temporal Cluster │
│ ┌─────────────────┐ ┌─────────────────┐ ┌────────────────┐ │
│ │ Event History │ │ Task Queues │ │ Visibility │ │
│ │ (Durable Log) │ │ (Work Router) │ │ (Search) │ │
│ └─────────────────┘ └─────────────────┘ └────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
▲
│ Poll / Complete
▼
┌─────────────────────────────────────────────────────────────────┐
│ Worker │
│ ┌─────────────────────────┐ ┌──────────────────────────────┐ │
│ │ Workflow Definitions │ │ Activity Implementations │ │
│ │ (Deterministic) │ │ (Non-deterministic OK) │ │
│ └─────────────────────────┘ └──────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
Components:
Temporal achieves durability through history replay:
If Commands don't match Events = Non-determinism Error = Workflow blocked
| Workflow Code | Command | Event |
|---|---|---|
| Execute activity | ScheduleActivityTask | ActivityTaskScheduled |
| Sleep/timer | StartTimer | TimerStarted |
| Child workflow | StartChildWorkflowExecution | ChildWorkflowExecutionStarted |
See references/core/determinism.md for detailed explanation.
Check if temporal CLI is installed. If not, follow these instructions:
brew install temporal
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
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.
references/python/python.mdreferences/typescript/typescript.mdreferences/go/go.mdcore and language-specific references for the task at hand.references/core/determinism.md - Why determinism matters, replay mechanics, basic concepts of activities
references/{your_language}/determinism.mdreferences/core/patterns.md - Conceptual patterns (signals, queries, saga)
references/{your_language}/patterns.mdreferences/core/gotchas.md - Anti-patterns and common mistakes
references/{your_language}/gotchas.mdreferences/core/versioning.md - Versioning strategies and concepts - how to safely change workflow code while workflows are running
references/{your_language}/versioning.mdreferences/core/troubleshooting.md - Decision trees, recovery proceduresreferences/core/error-reference.md - Common error types, workflow status referencereferences/core/interactive-workflows.md - Testing signals, updates, queriesreferences/core/dev-management.md - Dev cycle & management of server and workersreferences/core/ai-patterns.md - AI/LLM pattern concepts
references/{your_language}/ai-patterns.md, if available. Currently Python only.references/{your_language}/observability.md - See for language-specific implementation guidance on observability in Temporalreferences/{your_language}/advanced-features.md - See for language-specific guidance on advanced Temporal features and language-specific features