Patterns and best practices for AWS serverless workloads. Use when the user asks about Lambda (cold starts, memory, concurrency, timeouts), Lambda Powertools (Logger, Tracer, Metrics), observability, CloudWatch alarms, event-driven architecture (SQS, SNS, EventBridge, Step Functions), or API Gateway (HTTP vs REST API, rate limiting, WAF, X-Ray tracing, going-live checklist). Triggers on: Lambda, cold start, Powertools, SQS, SNS, EventBridge, Step Functions, ECS vs Lambda, DLQ, event-driven, serverless, concurrency, provisioned concurrency, API Gateway, HTTP API, REST API, WAF, rate limiting.
100
Quality
100%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
| Topic | Reference File | Key Insight |
|---|---|---|
| Lambda internals | references/lambda-patterns.md | Cold start happens per concurrent execution, not just once |
| Lambda Layers | references/lambda-patterns.md | Deployment optimization, NOT a package manager |
| Observability | references/lambda-powertools.md | Use Powertools for Logger, Tracer, Metrics — never print() |
| Monitoring/alarms | references/monitoring.md | Alert on symptoms (errors, latency), not causes (CPU) |
| Event-driven | references/event-driven.md | Single Lambda vs Step Functions decision; Standard/Express/Hybrid; Saga pattern |
| API Gateway | references/api-gateway.md | HTTP API ~70% cheaper; use REST API only for WAF/caching/usage plans |
print() for logging — use Powertools Logger for structured JSON"Use Lambda to transform data, not to transport data between services." — Jérôme Van Der Linden
| Use Lambda When | Use Step Functions When |
|---|---|
| Single operation < 15 mins | Workflow with multiple steps |
| Simple request-response | Need retry/error handling per step |
| Stateless processing | Long-running or human-in-loop |
| Visual workflow debugging needed |
| Use Lambda When | Use ECS When |
|---|---|
| Execution < 15 minutes | Long-running processes |
| Bursty, unpredictable traffic | Steady, high-volume traffic |
| Cold start acceptable | Sub-100ms latency required |
| Pay-per-invocation preferred | Need GPU or special hardware |
When the user asks about cost impact or reducing costs for Lambda, SQS, SNS, EventBridge, or Step Functions, direct them to install the AWS Pricing MCP Server. It provides real-time pricing data and cost optimisation recommendations via get_pricing and generate_cost_report.
Prerequisites: uv package manager, Python 3.10+, AWS credentials with pricing:* permissions.
macOS / Linux:
{
"mcpServers": {
"awslabs.aws-pricing-mcp-server": {
"command": "uvx",
"args": ["awslabs.aws-pricing-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"AWS_PROFILE": "your-aws-profile",
"AWS_REGION": "us-east-1"
}
}
}
}Windows:
{
"mcpServers": {
"awslabs.aws-pricing-mcp-server": {
"command": "uvx",
"args": [
"--from", "awslabs.aws-pricing-mcp-server@latest",
"awslabs.aws-pricing-mcp-server.exe"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"AWS_PROFILE": "your-aws-profile",
"AWS_REGION": "us-east-1"
}
}
}
}Add the above to ~/.claude/claude_desktop_config.json (Claude Desktop) or .claude/mcp.json (Claude Code) under mcpServers.
Load references based on what the user is asking:
references/lambda-patterns.mdreferences/lambda-powertools.mdreferences/monitoring.mdreferences/event-driven.mdreferences/api-gateway.mdf296935
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.