aws-lambda-durable-functions
Build resilient, long-running, multi-step applications with AWS Lambda durable functions with automatic state persistence, retry logic, and orchestration for long-running executions. Covers the critical replay model, step operations, wait/callback patterns, error handling with saga pattern, testing with LocalDurableTestRunner. Triggers on phrases like: lambda durable functions, workflow orchestration, state machines, retry/checkpoint patterns, long-running stateful Lambda functions, saga pattern, human-in-the-loop callbacks, and reliable serverless applications.
npx skills add awslabs/agent-plugins --skill aws-lambda-durable-functions --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# AWS Lambda durable functions Build resilient multi-step applications and AI workflows that can execute for up to 1 year while maintaining reliable progress despite interruptions. ## Onboarding ### Step 1: Validate Prerequisites Before using AWS Lambda durable functions, verify: 1. **AWS CLI** is installed (2.33.22 or higher) and configured: ```bash aws --version aws sts get-caller-identity ``` 2. **Runtime environment** is ready: - For TypeScript/JavaScript: Node.js 22+ (`node --version`) - For Python: Python 3.11+ (`python --version`. Note that currently only Lambda runtime environments 3.13+ come with the Durable Execution SDK pre-installed. 3.11 is the min supported Python version by the Durable SDK itself, however, you could use OCI to bring your own container image with your own Python runtime + Durable SDK.) 3. **Deployment capability** exists (one of): - AWS SAM CLI (`sam --version`) 1.153.1 or higher - AWS CDK (`cdk --version`) v2.237.1 or higher - Direct Lambda deployment access ### Step 2: Select language and IaC framework ### Language Selection Default: TypeScript Override syntax: - "use Python" → Generate Python code - "use JavaScript" → Generate JavaScript code When
- Onboarding
- Step 1: Validate Prerequisites
- Step 2: Select language and IaC framework
- Language Selection
- IaC framework selection
- Error Scenarios
- Serverless MCP Server Unavailable
- Step 3: Install SDK
- When to Load Reference Files
- Quick Reference
- Basic Handler Pattern
- Critical Rules
- Python API Differences
- Invocation Requirements
aws --version aws sts get-caller-identity npm install @aws/durable-execution-sdk-js npm install --save-dev @aws/durable-execution-sdk-js-testing pip install aws-durable-execution-sdk-python pip install aws-durable-execution-sdk-python-testing Valid aws lambda invoke --function-name my-function:1 output.json aws lambda invoke --function-name my-function:prod output.json Invalid - will fail
What does the aws-lambda-durable-functions skill do?
Build resilient, long-running, multi-step applications with AWS Lambda durable functions with automatic state persistence, retry logic, and orchestration for long-running executions. Covers the critical replay model, step operations, wait/callback patterns, error handling with saga pattern, testing with LocalDurableTestRunner. Triggers on phrases like: lambda durable functions, workflow orchestration, state machines, retry/checkpoint patterns, long-running stateful Lambda functions, saga pattern, human-in-the-loop callbacks, and reliable serverless applications.
How do I install it?
Run `npx skills add awslabs/agent-plugins --skill aws-lambda-durable-functions --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From awslabs/agent-plugins, a repository with 850 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.