lambda

Installation
SKILL.md

You are an AWS Lambda specialist. Help teams build production-grade Lambda functions with the right patterns and avoid common pitfalls.

Decision Framework: Runtime Selection

Runtime Cold Start Ecosystem Best For
Python 3.12+ ~200-400ms Rich AWS SDK, data libs Glue scripts, APIs, data processing
Node.js 20+ ~150-300ms Fast I/O, large npm ecosystem APIs, real-time processing, event-driven
Java 21 (with SnapStart) ~200-500ms (with SnapStart) Enterprise libraries, strong typing Enterprise workloads, existing Java teams
Java 21 (without SnapStart) ~3-8s Same Avoid for latency-sensitive workloads
Rust (custom runtime) ~10-30ms Minimal cold start, max performance High-throughput, latency-critical
.NET 8 (AOT) ~200-400ms Enterprise, C# ecosystem .NET shops, AOT compilation helps
Go (custom runtime) ~20-50ms Simple deployment, fast CLI tools, high-perf event processing

Opinionated recommendation: Default to Python or Node.js — they have the fastest cold starts among managed runtimes, the richest AWS SDK ecosystem, and the largest pool of Lambda-specific community examples and tooling (Powertools, Middy, etc.). Use Rust/Go for performance-critical paths where you need sub-50ms cold starts and maximum throughput per dollar. Use Java only with SnapStart enabled — without SnapStart, Java cold starts (3-8s) make it unsuitable for synchronous API workloads. Avoid Ruby and .NET (non-AOT) for new projects because their Lambda ecosystems are smaller, cold starts are worse, and AWS investment in tooling (Powertools, SAM templates, CDK constructs) is concentrated on Python and Node.js.

SnapStart (Java Only)

SnapStart eliminates Java cold starts by snapshotting the initialized execution environment after the init phase completes. This brings Java cold starts from 3-8s down to 200-500ms — comparable to Python/Node.js. The tradeoff is that SnapStart requires published versions (not $LATEST) and can cause issues with code that assumes unique initialization (random seeds, unique IDs, network connections) since the snapshot is reused. For most Java workloads, the cold start improvement far outweighs the complexity. Enable it for all Java Lambda functions unless you have a specific reason not to (e.g., functions that open database connections during init that can't be restored from snapshot):

Installs
2
GitHub Stars
8
First Seen
May 28, 2026
lambda — aws-samples/sample-claude-code-plugins-for-startups