# aws-lambda-durable-functions

Скилл учит ИИ писать долгоживущие функции AWS Lambda с сохранением состояния до одного года. Пригодится при сборке серверлесс-пайплайнов и пошаговых сценариев для ИИ-агентов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 5800 установок · ★ 3282
- Автор: aws
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/aws/agent-toolkit-for-aws/tree/HEAD/skills/specialized-skills/serverless-skills/aws-lambda-durable-functions/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/aws-lambda-durable-functions

## Что делает

Скилл объясняет агенту правила replay-модели для долгоживущих AWS Lambda. Все недетерминированные операции вроде `Math.random()`, генерации UUID, запросов к базе или сторонним API обязаны находиться внутри `context.step()`, иначе повторный прогон функции сломает сохранённое состояние. Вкладывать вызовы шагов друг в друга нельзя — для группировки логики используется `context.runInChildContext()`.

Включить durable execution для уже готовой рабочей функции задним числом не получится. Функцию требуется создавать заново сразу с поддержкой долгоживущего режима, а исходный код переносить. Для вызова всегда нужен квалифицированный ARN с версией, алиасом или суффиксом `$LATEST` — обычное имя функции сразу вернёт ошибку.

Скилл описывает работу с TypeScript через `@aws/durable-execution-sdk-js` и Python через `aws_durable_execution_sdk_python`, шаблоны саги для отката сбоев, задержки через `context.wait()` и запуск тестов с помощью `DurableFunctionTestRunner`. Для роли исполнения понадобится прикрепить политику `AWSLambdaBasicDurableExecutionRolePolicy`.

## Требования
- Работает с: AWS

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill aws-lambda-durable-functions -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/aws-lambda-durable-functions/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/aws-lambda-durable-functions/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill aws-lambda-durable-functions -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/aws-lambda-durable-functions/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill aws-lambda-durable-functions -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/aws-lambda-durable-functions/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install aws/agent-toolkit-for-aws aws-lambda-durable-functions
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/aws-lambda-durable-functions/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill aws-lambda-durable-functions -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/aws/agent-toolkit-for-aws --path skills/specialized-skills/serverless-skills/aws-lambda-durable-functions
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/aws-lambda-durable-functions/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add aws/agent-toolkit-for-aws --skill aws-lambda-durable-functions -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/aws/agent-toolkit-for-aws/tree/HEAD/skills/specialized-skills/serverless-skills/aws-lambda-durable-functions/SKILL.md

## Когда брать
- настроить долгоживущую AWS Lambda с сохранением промежуточного состояния
- написать пошаговый сценарий на TypeScript или Python без нарушений replay-модели
- добавить паузы `context.wait()` и ожидание внешних колбэков
- изолировать недетерминированные операции и генераторы UUID внутри шагов
- протестировать сценарий локально через тестовый раннер SDK

## Примеры запросов агенту
- Помоги написать durable-функцию на TypeScript с тремя шагами через context.step
- Как настроить обработку ошибок по паттерну сага в AWS Lambda durable functions?
- Проверь код обработчика на ошибки replay-модели и вложенные вызовы шагов

## Похожие
- [aws-lambda-typescript-integration](https://affpapa.org/nevibecode/skills/aws-lambda-typescript-integration.md) — скилл · 3600 установок
- [aws-lambda](https://affpapa.org/nevibecode/skills/aws-lambda.md) — скилл · 321 установка
- [aws-lambda-php-integration](https://affpapa.org/nevibecode/skills/aws-lambda-php-integration.md) — скилл · 3500 установок
- [aws-lambda-functions](https://affpapa.org/nevibecode/skills/aws-lambda-functions.md) — скилл · 614 установок
- [serverless](https://affpapa.org/nevibecode/skills/serverless.md) — скилл · 655 установок
- [inngest-durable-functions](https://affpapa.org/nevibecode/skills/inngest-durable-functions.md) — скилл · 3800 установок

Из того же набора: [aws/agent-toolkit-for-aws](https://affpapa.org/nevibecode/by/aws/agent-toolkit-for-aws.md) — 133 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
