skills/aws-serverless/SKILL.md
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.
npx skillsauth add a-pavithraa/aws-serverless-skill aws-serverlessInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| 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.
| Feature | AWS GA | Supported Runtimes | |---------|--------|--------------------| | SnapStart | Nov 2021 (Java); Oct 2024 (Python, .NET) | Java 11+, Python 3.12+, .NET 8+ — not Node, Ruby, or container images |
Load references based on what the user is asking:
references/lambda-patterns.mdreferences/lambda-powertools.mdreferences/monitoring.mdreferences/event-driven.mdreferences/api-gateway.mddevelopment
Patterns and best practices for AWS infrastructure as code with Terraform. Use when the user asks about Terraform module structure, naming conventions, state management, IAM policies (least privilege, OIDC), CI/CD pipelines for infrastructure (GitHub Actions, OIDC authentication), security scanning (Checkov, CKV_AWS checks), secrets management, KMS key policies, confused deputy prevention, Lambda function URL auth, API Gateway WAF/logging, or general IaC architecture decisions. Triggers on: Terraform, OpenTofu, IaC, modules, tfstate, remote state, OIDC, IAM, least privilege, GitHub Actions, CI/CD, infrastructure pipeline, AWS provider, Checkov, static analysis, IaC scanning, confused deputy, source ARN, KMS, CMK, secrets in state, ephemeral resources, Lambda function URL, API Gateway WAF.
devops
Patterns and best practices for Amazon DynamoDB data modeling and access patterns. Use when the user asks about DynamoDB table design, single-table design, GSIs, multi-attribute composite keys, one-to-many relationships, cost optimization, or Terraform DynamoDB resources. Triggers on: DynamoDB, single-table design, GSI, partition key, sort key, access patterns, filter expressions, TTL, vertical sharding, composite keys, multi-attribute keys.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------