[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6K0TH9SMRJ1HM7EJSSA9SN6":3,"skill-same:01M6K0TH9SMRJ1HM7EJSSA9SN6":121},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6K0TH9SMRJ1HM7EJSSA9SN6","aws-lambda-durable-functions",null,"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\u002Fcallback patterns, error handling with saga pattern, testing with LocalDurableTestRunner. Triggers on phrases like: lambda durable functions, workflow orchestration, state machines, retry\u002Fcheckpoint patterns, long-running stateful Lambda functions, saga pattern, human-in-the-loop callbacks, and reliable serverless applications.","NagyVikt\u002Fcodex-plugins","NagyVikt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F137165288?v=4","01M6K0SJ3R2DAZRJKJJS10VN87","Viktor Nagy","01M6K0SJ9HXN0GBD91QDQ9WNVV",2,"MIT","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"aws","lambda","functions","aws lambda","aws lambda durable functions","pattern","stateful","retry","Callbacks","error","state machines","critical","Saga Pattern","human","testing","model","loop","workflow orchestration","workflow","orchestration","2026-11-10 10:12:30",false,"---\nname: aws-lambda-durable-functions\ndescription: >\n  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\u002Fcallback patterns, error handling with saga pattern, testing with LocalDurableTestRunner. Triggers on phrases like: lambda durable functions, workflow orchestration, state machines, retry\u002Fcheckpoint patterns, long-running stateful Lambda functions, saga pattern, human-in-the-loop callbacks, and reliable serverless applications.\n---\n\n# AWS Lambda durable functions\n\nBuild resilient multi-step applications and AI workflows that can execute for up to 1 year while maintaining reliable progress despite interruptions.\n\n## Onboarding\n\n### Step 1: Validate Prerequisites\n\nBefore using AWS Lambda durable functions, verify:\n\n1. **AWS CLI** is installed (2.33.22 or higher) and configured:\n\n   ```bash\n   aws --version\n   aws sts get-caller-identity\n   ```\n\n2. **Runtime environment** is ready:\n   - For TypeScript\u002FJavaScript: Node.js 22+ (`node --version`)\n   - 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.)\n\n3. **Deployment capability** exists (one of):\n   - AWS SAM CLI (`sam --version`) 1.153.1 or higher\n   - AWS CDK (`cdk --version`) v2.237.1 or higher\n   - Direct Lambda deployment access\n\n### Step 2: Select language and IaC framework\n\n### Language Selection\n\nDefault: TypeScript\n\nOverride syntax:\n\n- \"use Python\" → Generate Python code\n- \"use JavaScript\" → Generate JavaScript code\n\nWhen not specified, ALWAYS use TypeScript\n\n### IaC framework selection\n\nDefault: CDK\n\nOverride syntax:\n\n- \"use CloudFormation\" → Generate YAML templates\n- \"use SAM\" → Generate YAML templates\n\nWhen not specified, ALWAYS use CDK\n\n### Error Scenarios\n\n#### Unsupported Language\n\n- List detected language\n- State: \"Durable Execution SDK is not yet available for [framework]\"\n- Suggest supported languages as alternatives\n\n#### Unsupported IaC Framework\n\n- List detected framework\n- State: \"[framework] might not support Lambda durable functions yet\"\n- Suggest supported frameworks as alternatives\n\n### Serverless MCP Server Unavailable\n\n- Inform user: \"AWS Serverless MCP not responding\"\n- Ask: \"Proceed without MCP support?\"\n- DO NOT continue without user confirmation\n\n### Step 3: Install SDK\n\n**For TypeScript\u002FJavaScript:**\n\n```bash\nnpm install @aws\u002Fdurable-execution-sdk-js\nnpm install --save-dev @aws\u002Fdurable-execution-sdk-js-testing\n```\n\n**For Python:**\n\n```bash\npip install aws-durable-execution-sdk-python\npip install aws-durable-execution-sdk-python-testing\n```\n\n## When to Load Reference Files\n\nLoad the appropriate reference file based on what the user is working on:\n\n- **Getting started**, **basic setup**, **example**, **ESLint**, or **Jest setup** -> see [getting-started.md](references\u002Fgetting-started.md)\n- **Understanding replay model**, **determinism**, or **non-deterministic errors** -> see [replay-model-rules.md](references\u002Freplay-model-rules.md)\n- **Creating steps**, **atomic operations**, or **retry logic** -> see [step-operations.md](references\u002Fstep-operations.md)\n- **Waiting**, **delays**, **callbacks**, **external systems**, or **polling** -> see [wait-operations.md](references\u002Fwait-operations.md)\n- **Parallel execution**, **map operations**, **batch processing**, or **concurrency** -> see [concurrent-operations.md](references\u002Fconcurrent-operations.md)\n- **Error handling**, **retry strategies**, **saga pattern**, or **compensating transactions** -> see [error-handling.md](references\u002Ferror-handling.md)\n- **Advanced error handling**, **timeout handling**, **circuit breakers**, or **conditional retries** -> see [advanced-error-handling.md](references\u002Fadvanced-error-handling.md)\n- **Testing**, **local testing**, **cloud testing**, **test runner**, or **flaky tests** -> see [testing-patterns.md](references\u002Ftesting-patterns.md)\n- **Deployment**, **CloudFormation**, **CDK**, **SAM**, **log groups**, **deploy**, or **infrastructure** -> see [deployment-iac.md](references\u002Fdeployment-iac.md)\n- **Advanced patterns**, **GenAI agents**, **completion policies**, **step semantics**, or **custom serialization** -> see [advanced-patterns.md](references\u002Fadvanced-patterns.md)\n- **troubleshooting**, **stuck execution**, **failed execution**, **debug execution ID**, or **execution history** -> see [troubleshooting-executions.md](references\u002Ftroubleshooting-executions.md)\n\n## Quick Reference\n\n### Basic Handler Pattern\n\n**TypeScript:**\n\n```typescript\nimport { withDurableExecution, DurableContext } from '@aws\u002Fdurable-execution-sdk-js';\n\nexport const handler = withDurableExecution(async (event, context: DurableContext) => {\n  const result = await context.step('process', async () => processData(event));\n  return result;\n});\n```\n\n**Python:**\n\n```python\nfrom aws_durable_execution_sdk_python import durable_execution, DurableContext\n\n@durable_execution\ndef handler(event: dict, context: DurableContext) -> dict:\n    result = context.step(lambda _: process_data(event), name='process')\n    return result\n```\n\n### Critical Rules\n\n1. **All non-deterministic code MUST be in steps** (Date.now, Math.random, API calls)\n2. **Cannot nest durable operations** - use `runInChildContext` to group operations\n3. **Closure mutations are lost on replay** - return values from steps\n4. **Side effects outside steps repeat** - use `context.logger` (replay-aware)\n\n### Python API Differences\n\nThe Python SDK differs from TypeScript in several key areas:\n\n- **Steps**: Use `@durable_step` decorator + `context.step(my_step(args))`, or inline `context.step(lambda _: ..., name='...')`. Prefer the decorator for automatic step naming.\n- **Wait**: `context.wait(duration=Duration.from_seconds(n), name='...')`\n- **Exceptions**: `ExecutionError` (permanent), `InvocationError` (transient), `CallbackError` (callback failures)\n- **Testing**: Use `DurableFunctionTestRunner` class directly - instantiate with handler, use context manager, call `run(input=...)`\n\n### Invocation Requirements\n\nDurable functions **require qualified ARNs** (version, alias, or `$LATEST`):\n\n```bash\n# Valid\naws lambda invoke --function-name my-function:1 output.json\naws lambda invoke --function-name my-function:prod output.json\n\n# Invalid - will fail\naws lambda invoke --function-name my-function output.json\n```\n\n## IAM Permissions\n\nYour Lambda execution role MUST have the `AWSLambdaBasicDurableExecutionRolePolicy` managed policy attached. This includes:\n\n- `lambda:CheckpointDurableExecution` - Persist execution state\n- `lambda:GetDurableExecutionState` - Retrieve execution state\n- CloudWatch Logs permissions\n\n**Additional permissions needed for:**\n\n- **Durable invokes**: `lambda:InvokeFunction` on target function ARNs\n- **External callbacks**: Systems need `lambda:SendDurableExecutionCallbackSuccess` and `lambda:SendDurableExecutionCallbackFailure`\n\n## Validation Guidelines\n\nWhen writing or reviewing durable function code, ALWAYS check for these replay model violations:\n\n1. **Non-deterministic code outside steps**: `Date.now()`, `Math.random()`, UUID generation, API calls, database queries must all be inside steps\n2. **Nested durable operations in step functions**: Cannot call `context.step()`, `context.wait()`, or `context.invoke()` inside a step function — use `context.runInChildContext()` instead\n3. **Closure mutations that won't persist**: Variables mutated inside steps are NOT preserved across replays — return values from steps instead\n4. **Side effects outside steps that repeat on replay**: Use `context.logger` for logging (it is replay-aware and deduplicates automatically)\n\nWhen implementing or modifying tests for durable functions, ALWAYS verify:\n\n1. All operations have descriptive names\n2. Tests get operations by NAME, never by index\n3. Replay behavior is tested with multiple invocations\n4. Use `LocalDurableTestRunner` for local testing\n\n### MCP Server Configuration\n\n**Write access is enabled by default.** The plugin ships with `--allow-write` in `.mcp.json`, so the MCP server can create projects, generate IaC, and deploy on behalf of the user.\n\nAccess to sensitive data (like Lambda and API Gateway logs) is **not** enabled by default. To grant it, add `--allow-sensitive-data-access` to `.mcp.json`.\n\n## Resources\n\n- [AWS Lambda durable functions Documentation](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fdurable-functions.html)\n- [JavaScript SDK Repository](https:\u002F\u002Fgithub.com\u002Faws\u002Faws-durable-execution-sdk-js)\n- [Python SDK Repository](https:\u002F\u002Fgithub.com\u002Faws\u002Faws-durable-execution-sdk-python)\n- [IAM Policy Reference](https:\u002F\u002Fdocs.aws.amazon.com\u002Faws-managed-policy\u002Flatest\u002Freference\u002FAWSLambdaBasicDurableExecutionRolePolicy.html)\n","# AWS Lambda durable functions\n\nBuild resilient multi-step applications and AI workflows that can execute for up to 1 year while maintaining reliable progress despite interruptions.\n\n## Onboarding\n\n### Step 1: Validate Prerequisites\n\nBefore using AWS Lambda durable functions, verify:\n\n1. **AWS CLI** is installed (2.33.22 or higher) and configured:\n\n   ```bash\n   aws --version\n   aws sts get-caller-identity\n   ```\n\n2. **Runtime environment** is ready:\n   - For TypeScript\u002FJavaScript: Node.js 22+ (`node --version`)\n   - 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.)\n\n3. **Deployment capability** exists (one of):\n   - AWS SAM CLI (`sam --version`) 1.153.1 or higher\n   - AWS CDK (`cdk --version`) v2.237.1 or higher\n   - Direct Lambda deployment access\n\n### Step 2: Select language and IaC framework\n\n### Language Selection\n\nDefault: TypeScript\n\nOverride syntax:\n\n- \"use Python\" → Generate Python code\n- \"use JavaScript\" → Generate JavaScript code\n\nWhen not specified, ALWAYS use TypeScript\n\n### IaC framework selection\n\nDefault: CDK\n\nOverride syntax:\n\n- \"use CloudFormation\" → Generate YAML templates\n- \"use SAM\" → Generate YAML templates\n\nWhen not specified, ALWAYS use CDK\n\n### Error Scenarios\n\n#### Unsupported Language\n\n- List detected language\n- State: \"Durable Execution SDK is not yet available for [framework]\"\n- Suggest supported languages as alternatives\n\n#### Unsupported IaC Framework\n\n- List detected framework\n- State: \"[framework] might not support Lambda durable functions yet\"\n- Suggest supported frameworks as alternatives\n\n### Serverless MCP Server Unavailable\n\n- Inform user: \"AWS Serverless MCP not responding\"\n- Ask: \"Proceed without MCP support?\"\n- DO NOT continue without user confirmation\n\n### Step 3: Install SDK\n\n**For TypeScript\u002FJavaScript:**\n\n```bash\nnpm install @aws\u002Fdurable-execution-sdk-js\nnpm install --save-dev @aws\u002Fdurable-execution-sdk-js-testing\n```\n\n**For Python:**\n\n```bash\npip install aws-durable-execution-sdk-python\npip install aws-durable-execution-sdk-python-testing\n```\n\n## When to Load Reference Files\n\nLoad the appropriate reference file based on what the user is working on:\n\n- **Getting started**, **basic setup**, **example**, **ESLint**, or **Jest setup** -> see [getting-started.md](references\u002Fgetting-started.md)\n- **Understanding replay model**, **determinism**, or **non-deterministic errors** -> see [replay-model-rules.md](references\u002Freplay-model-rules.md)\n- **Creating steps**, **atomic operations**, or **retry logic** -> see [step-operations.md](references\u002Fstep-operations.md)\n- **Waiting**, **delays**, **callbacks**, **external systems**, or **polling** -> see [wait-operations.md](references\u002Fwait-operations.md)\n- **Parallel execution**, **map operations**, **batch processing**, or **concurrency** -> see [concurrent-operations.md](references\u002Fconcurrent-operations.md)\n- **Error handling**, **retry strategies**, **saga pattern**, or **compensating transactions** -> see [error-handling.md](references\u002Ferror-handling.md)\n- **Advanced error handling**, **timeout handling**, **circuit breakers**, or **conditional retries** -> see [advanced-error-handling.md](references\u002Fadvanced-error-handling.md)\n- **Testing**, **local testing**, **cloud testing**, **test runner**, or **flaky tests** -> see [testing-patterns.md](references\u002Ftesting-patterns.md)\n- **Deployment**, **CloudFormation**, **CDK**, **SAM**, **log groups**, **deploy**, or **infrastructure** -> see [deployment-iac.md](references\u002Fdeployment-iac.md)\n- **Advanced patterns**, **GenAI agents**, **completion policies**, **step semantics**, or **custom serialization** -> see [advanced-patterns.md](references\u002Fadvanced-patterns.md)\n- **troubleshooting**, **stuck execution**, **failed execution**, **debug execution ID**, or **execution history** -> see [troubleshooting-executions.md](references\u002Ftroubleshooting-executions.md)\n\n## Quick Reference\n\n### Basic Handler Pattern\n\n**TypeScript:**\n\n```typescript\nimport { withDurableExecution, DurableContext } from '@aws\u002Fdurable-execution-sdk-js';\n\nexport const handler = withDurableExecution(async (event, context: DurableContext) => {\n  const result = await context.step('process', async () => processData(event));\n  return result;\n});\n```\n\n**Python:**\n\n```python\nfrom aws_durable_execution_sdk_python import durable_execution, DurableContext\n\n@durable_execution\ndef handler(event: dict, context: DurableContext) -> dict:\n    result = context.step(lambda _: process_data(event), name='process')\n    return result\n```\n\n### Critical Rules\n\n1. **All non-deterministic code MUST be in steps** (Date.now, Math.random, API calls)\n2. **Cannot nest durable operations** - use `runInChildContext` to group operations\n3. **Closure mutations are lost on replay** - return values from steps\n4. **Side effects outside steps repeat** - use `context.logger` (replay-aware)\n\n### Python API Differences\n\nThe Python SDK differs from TypeScript in several key areas:\n\n- **Steps**: Use `@durable_step` decorator + `context.step(my_step(args))`, or inline `context.step(lambda _: ..., name='...')`. Prefer the decorator for automatic step naming.\n- **Wait**: `context.wait(duration=Duration.from_seconds(n), name='...')`\n- **Exceptions**: `ExecutionError` (permanent), `InvocationError` (transient), `CallbackError` (callback failures)\n- **Testing**: Use `DurableFunctionTestRunner` class directly - instantiate with handler, use context manager, call `run(input=...)`\n\n### Invocation Requirements\n\nDurable functions **require qualified ARNs** (version, alias, or `$LATEST`):\n\n```bash\n# Valid\naws lambda invoke --function-name my-function:1 output.json\naws lambda invoke --function-name my-function:prod output.json\n\n# Invalid - will fail\naws lambda invoke --function-name my-function output.json\n```\n\n## IAM Permissions\n\nYour Lambda execution role MUST have the `AWSLambdaBasicDurableExecutionRolePolicy` managed policy attached. This includes:\n\n- `lambda:CheckpointDurableExecution` - Persist execution state\n- `lambda:GetDurableExecutionState` - Retrieve execution state\n- CloudWatch Logs permissions\n\n**Additional permissions needed for:**\n\n- **Durable invokes**: `lambda:InvokeFunction` on target function ARNs\n- **External callbacks**: Systems need `lambda:SendDurableExecutionCallbackSuccess` and `lambda:SendDurableExecutionCallbackFailure`\n\n## Validation Guidelines\n\nWhen writing or reviewing durable function code, ALWAYS check for these replay model violations:\n\n1. **Non-deterministic code outside steps**: `Date.now()`, `Math.random()`, UUID generation, API calls, database queries must all be inside steps\n2. **Nested durable operations in step functions**: Cannot call `context.step()`, `context.wait()`, or `context.invoke()` inside a step function — use `context.runInChildContext()` instead\n3. **Closure mutations that won't persist**: Variables mutated inside steps are NOT preserved across replays — return values from steps instead\n4. **Side effects outside steps that repeat on replay**: Use `context.logger` for logging (it is replay-aware and deduplicates automatically)\n\nWhen implementing or modifying tests for durable functions, ALWAYS verify:\n\n1. All operations have descriptive names\n2. Tests get operations by NAME, never by index\n3. Replay behavior is tested with multiple invocations\n4. Use `LocalDurableTestRunner` for local testing\n\n### MCP Server Configuration\n\n**Write access is enabled by default.** The plugin ships with `--allow-write` in `.mcp.json`, so the MCP server can create projects, generate IaC, and deploy on behalf of the user.\n\nAccess to sensitive data (like Lambda and API Gateway logs) is **not** enabled by default. To grant it, add `--allow-sensitive-data-access` to `.mcp.json`.\n\n## Resources\n\n- [AWS Lambda durable functions Documentation](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fdurable-functions.html)\n- [JavaScript SDK Repository](https:\u002F\u002Fgithub.com\u002Faws\u002Faws-durable-execution-sdk-js)\n- [Python SDK Repository](https:\u002F\u002Fgithub.com\u002Faws\u002Faws-durable-execution-sdk-python)\n- [IAM Policy Reference](https:\u002F\u002Fdocs.aws.amazon.com\u002Faws-managed-policy\u002Flatest\u002Freference\u002FAWSLambdaBasicDurableExecutionRolePolicy.html)\n",{"name":5,"description":7},"main","9a4409c8751439c3aeeea2bc3940ba05dc3cd3b5","plugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions",0,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins","https:\u002F\u002Fgithub.com\u002FNagyVikt","https:\u002F\u002Fwebu.hu\u002F","Codex is a tool they said...\r\n\r\nCreator of GitGuardex, CueCards. Tech stack: Next.js · TypeScript · Rust · Linux. ","2026-03-30 02:19:53",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add NagyVikt\u002Fcodex-plugins --skill aws-lambda-durable-functions",{"tool":67,"command":68},"bunx","bunx skills add NagyVikt\u002Fcodex-plugins --skill aws-lambda-durable-functions",{"tool":70,"command":71},"pnpm","pnpm dlx skills add NagyVikt\u002Fcodex-plugins --skill aws-lambda-durable-functions","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002FSKILL.md",true,[75,81,85,89,93,97,101,105,109,113,117],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fadvanced-error-handling.md","REFERENCE","参考文档",4991,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Fadvanced-error-handling.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fadvanced-patterns.md",10015,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Fadvanced-patterns.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fconcurrent-operations.md",8629,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Fconcurrent-operations.md",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fdeployment-iac.md",14663,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Fdeployment-iac.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Ferror-handling.md",11155,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Ferror-handling.md",{"path":98,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fgetting-started.md",11357,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Fgetting-started.md",{"path":102,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Freplay-model-rules.md",8493,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Freplay-model-rules.md",{"path":106,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fstep-operations.md",7588,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Fstep-operations.md",{"path":110,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Ftesting-patterns.md",17803,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Ftesting-patterns.md",{"path":114,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Ftroubleshooting-executions.md",2138,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Ftroubleshooting-executions.md",{"path":118,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fwait-operations.md",9776,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Faws\u002Faws-serverless\u002Fskills\u002Faws-lambda-durable-functions\u002Freferences\u002Fwait-operations.md",[122,157,188,212,240,262],{"skillNo":123,"name":45,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":139,"publishedAt":47},"01M6K1ZEN8P9R2S6NPNJNJ8JVH","Vercel Workflow DevKit (WDK) expert guidance. Use when building durable workflows, long-running tasks, API routes or agents that need pause\u002Fresume, retries, step-based execution, or crash-safe orchestration with Vercel Workflow.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fworkflow\u002FSKILL.md",[127,130,131,136],{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":137,"categoryName":138,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000038","人力资源",[45,140,141,142,143,144,145,146,43,147,148,149,150,151,40,152,153,154,155,156],"workflows","create","run","streaming","logs","start","why","wait for","branch","auto","log","conversation","lib","condition","rendering","retries","sleep",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":171,"publishedAt":47},"01M6K1Z71NWFSPHK2VJJ73MVSY","verification","Full-story verification — infers what the user is building, then verifies the complete flow end-to-end: browser → API → data → response. Triggers on dev server start and 'why isn't this working' signals.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fverification\u002FSKILL.md",[163,164,165,168],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":166,"categoryName":167,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000031","产品经理",{"categoryNo":169,"categoryName":170,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000033","数据分析师",[159,172,143,173,174,175,148,176,177,178,179,180,181,182,183,184,36,185,186,187],"auth","routing middleware","api","projects","user story","full stack","jest","local","project","end","app","false","unit","middleware","loading","unit test",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":195,"publishedAt":47},"01M6K1YPRYJS3BQEDP8HKBHPEJ","vercel-storage","Vercel storage expert guidance — Blob, Edge Config, and Marketplace storage (Neon Postgres, Upstash Redis). Use when choosing, configuring, or using data storage with Vercel applications.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-storage\u002FSKILL.md",[194],{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},[196,197,198,199,142,200,201,149,202,203,204,205,206,207,182,152,208,209,210,211],"storage","vercel storage","vercel","config","supabase","migrate","router","clerk","expert","prisma","connection pooling","neon","turso","upstash","URL","auth0",{"skillNo":213,"name":214,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":216,"categories":217,"keywords":225,"publishedAt":47},"01M6K1YFEP0GPPGMQ3D0FPTS27","vercel-services","Vercel Services — deploy multiple services within a single Vercel project. Use for monorepo layouts or when combining a backend (Python, Go) with a frontend (Next.js, Vite) in one deployment.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-services\u002FSKILL.md",[218,221,222],{"categoryNo":219,"categoryName":220,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":223,"categoryName":224,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[226,227,198,228,229,230,231,232,233,234,235,52,30,236,180,237,182,238,36,239],"vercel services","services","frontend","docker compose","SET","configure","monorepo","go api","fastapi","up","go backend","get","apps","python backend",{"skillNo":241,"name":242,"nameZh":6,"description":243,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":244,"categories":245,"keywords":246,"publishedAt":47},"01M6K1Y8S3CRD43DPKX0PK1MTT","vercel-sandbox","Vercel Sandbox guidance — ephemeral Firecracker microVMs for running untrusted code safely. Supports AI agents, code generation, and experimentation. Use when executing user-generated or AI-generated code in isolation.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-sandbox\u002FSKILL.md",[],[247,248,198,249,250,141,142,251,252,253,254,255,256,257,258,259,186,260,242,261],"sandbox","vercel sandbox","safe","ai agents","code","ai sdk","Code Generation","playground","generated","spawn","install","runner","io","child","student",{"skillNo":263,"name":264,"nameZh":6,"description":265,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":266,"categories":267,"keywords":269,"publishedAt":47},"01M6K1Y1J8S7AN97H75SHBGF7J","vercel-queues","Vercel Queues guidance (public beta) — durable event streaming with topics, consumer groups, retries, and delayed delivery. $0.60\u002F1M ops. Powers Workflow DevKit. Use when building async processing, fan-out patterns, or event-driven architectures.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-queues\u002FSKILL.md",[268],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[270,198,45,140,143,271,230,174,231,235,272,273,274,275,182,152,276,155,186,277],"vercel queues","beta","message","delivery","across","worker","processing","at"]