---
title: "Dex SDK"
description: "Dex SDK is a specialist sub-skill. It helps the agent build, debug, test, and run applications with the public Dex SDK. It supports Python, Go, Java, TypeScript, and Rust."
canonical_url: "https://docs.superdurable.io/build-with-ai/dex-developer-skill/dex-sdk/"
source: "docs/content/build-with-ai/dex-developer-skill/dex-sdk.mdx"
locale: "en"
---

> Index of every page for AI agents: https://docs.superdurable.io/llms.txt

# Dex SDK

Dex SDK is a specialist sub-skill. It helps the agent build, debug, test, and
run applications with the public Dex SDK.
It supports Python, Go, Java, TypeScript, and Rust.

## Install and use

[Install Dex Skills](https://docs.superdurable.io/build-with-ai/dex-developer-skill.md#install-and-use-dex-skills) once; it installs all three Skills. Then call this Skill in your coding agent, for example in Codex and in Claude Code with the Plugin:

```text
$dex-sdk Diagnose why this Flow retries after the payment Step completes.
/superdurable-dex:dex-sdk Diagnose why this Flow retries after the payment Step completes.
```

[Install and use Dex Skills](https://docs.superdurable.io/build-with-ai/dex-developer-skill.md#install-and-use-dex-skills) has the invocation for every host.

For a complete product or business-process request, start with
[Dex App Builder](https://docs.superdurable.io/build-with-ai/dex-developer-skill/dex-app-builder.md). App Builder loads Dex SDK when it
starts on the backend.

## When to use it

Use Dex SDK for focused technical work on:

- Flows, Steps, waits, transitions, and failure routes;
- Attributes, AttributeMaps, Channels, ChannelMaps, and Streams;
- typed RPCs, Timers, SubFlows, Workers, and Clients;
- retries, timeouts, heartbeats, durability, locks, and recovery;
- SDK version compatibility, testing, troubleshooting, or operations;
- Dex Web, `dexcli`, Flow visualization, and application observability.

The skill works on your application, not on Dex. It does not start changing
Dex Server to solve an application problem unless you explicitly ask it to
work on Dex itself.

## Version and source authority

Before it writes code, the skill finds out the application's language,
package manager, installed Dex SDK version, how the Worker and Client start,
and the repository's test commands.

The skill relies on the repository source, the lockfile, the installed SDK,
and the official examples for that SDK version. It keeps the installed version
unless you ask to upgrade. If it cannot find source for that exact version, it
stops after designing the Flow model, which does not depend on a version. It
does not invent an API.

It loads only the handbook for your language and the references the task
needs, not all five languages.

## Model before implementation

For any non-trivial change, the skill writes down the model before it edits
code:

- the Flow's identity, typed start input, and completion output;
- Steps, transitions, and the points where work is saved;
- Flow defaults, and per-method retry, timeout, heartbeat, load, or lock
  options;
- durable state, messages, RPCs, Streams, and Timers;
- failure recovery and SubFlow boundaries;
- Worker, Client, registry, and serialization setup, and how the application
  calls the Flow.

The model uses precise domain names. It prefers official Dex patterns over
hand-written coordination loops.

## Implementation and verification

A complete application change includes typed inputs, outputs, and failures;
Flow and Step definitions; persistence schema entries; injected dependencies;
registry wiring; Worker and Client setup when needed; the application's entry
point, such as an HTTP endpoint; and an integration test against a real Dex
Server.

Before handoff, the skill checks the build or type check, the integration
scenario, recovery after retries and timeouts, duplicate requests, behavior
after the Flow ends, that every primitive is registered, heartbeats, Stream
behavior, and that the Worker and Client configurations are compatible.

Running Flows limit what you can rename or change in the schema. The skill
keeps existing Flow, Step, Attribute, Channel, Stream, and RPC names unless
you have an explicit migration plan.

## Diagnostics and operations

When it diagnoses a problem, the skill only reads by default. It can inspect
Dex Web, `dexcli`, SDK errors, and application logs. Without your permission
it does not stop, time travel, publish to, invoke, delete, edit, or otherwise
change a Flow.

The skill keeps typed Dex errors intact until your domain logic can tell
apart a business rejection, a call that raced with a closing Flow, a service
failure worth retrying, and a local bug. It uses retained Streams only to
observe what happened, on a best-effort basis. It never treats them as the
source of truth for business state.

## Relationship to the other skills

- [Dex App Builder](https://docs.superdurable.io/build-with-ai/dex-developer-skill/dex-app-builder.md) loads the Dex SDK core and Go
  guidance during backend work, then adds its own stricter rules.
- [Dex Connector Contributor](https://docs.superdurable.io/build-with-ai/dex-developer-skill/dex-connector-contributor.md) loads the
  shared Dex rules and Go guidance when it implements official Connectors.
- When you invoke Dex SDK directly, the task stays a focused technical task.
  It does not grow into the full product workflow.

Return to [Dex Skills overview and installation](https://docs.superdurable.io/build-with-ai/dex-developer-skill.md).

## Next

[Durable Agents](https://docs.superdurable.io/agent-frameworks.md)
