aws-lambda

A set of rules for writing AWS Lambda functions, which are small programs that run in the cloud when triggered without managing servers. It covers function structure, configuration, shared code, and reuse between invocations.

In plain words
What is it for?
Use it when building Lambda handlers, deciding how to split serverless work, reusing SDK clients, managing shared dependencies with layers, and configuring functions with environment variables.
Why use it?
It helps keep functions focused, secure, and less costly to run. Reusing clients and keeping configuration outside the code can also reduce repeated setup work.

Cursor rule

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/sanjeed5/awesome-cursor-rules-mdc/aws-lambda
Clone the repo
git clone --depth 1 https://github.com/sanjeed5/awesome-cursor-rules-mdc
Per session 1,365 This file is loaded in full into every session.
When invoked 1,365 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01365 $0.01365
Opus 5 $0.00682 $0.00682
Sonnet 5 $0.00273 $0.00273
Haiku 4.5 $0.00136 $0.00136

Measured 2d ago against content hash 787cba061f9c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

aws-lambda scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

rules-mdc/aws-lambda.mdc · 173 lines

How it starts

The opening of the file, as written. The whole thing — 173 lines — stays where its author put it; the contents beside it link to each section on GitHub.

aws-lambda Best Practices

This guide outlines the definitive best practices for developing AWS Lambda functions. Adhere to these principles to build reliable, cost-effective, and secure serverless applications.

Code Organization and Structure

1. Single Responsibility Principle: Each Lambda function must perform one distinct task. Decompose complex workflows into smaller, focused functions orchestrated by services like AWS Step Functions.

2. Initialize Outside the Handler: Leverage execution environment reuse by initializing SDK clients, database connections, and heavy dependencies in the global scope.

❌ BAD:

import boto3

def handler(event, context):
    s3 = boto3.client('s3') # Initialized on every invocation
    # ...

✅ GOOD:

import boto3

s3 = boto3.client('s3') # Initialized once per execution environment

def handler(event, context):
    # s3 client is reused across invocations
    # ...

3. Use Lambda Layers for Shared Code: Keep deployment packages small and promote code reuse for common libraries and dependencies.

4. Configuration via Environment Variables: Never hardcode operational parameters. Use environment variables for dynamic configuration. For sensitive data, use AWS Secrets Manager or AWS Systems Manager Parameter Store.

5. Structured JSON Logging: Output logs in JSON format to CloudWatch. This makes logs easily queryable and analyzable. Use aws-lambda-powertools Logger utility.

❌ BAD:

print(f"Processing event: {event}")

✅ GOOD:

from aws_lambda_powertools import Logger
logger = Logger()

@logger.inject_lambda_context
def handler(event, context):
    logger.info("Processing event", event=event)
    # ...

6. Infrastructure as Code (AWS CDK v2): Define your Lambda functions and their surrounding infrastructure (API Gateway, DynamoDB, IAM roles) using AWS CDK v2. This ensures version control, repeatability, and safe deployments.

✅ GOOD:

# Example using AWS CDK v2 (Python)
from aws_cdk import Stack, aws_lambda as lambda_
from constructs import Construct

class MyLambdaStack(Stack):
    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        lambda_.Function(self, "MyHandler",
            runtime=lambda_.Runtime.PYTHON_3_12,
            handler="index.handler",
            code=lambda_.Code.from_asset("lambda"), # 'lambda' directory contains index.py
            environment={
                "TABLE_NAME": "MyTable",
            },
            # Add more configurations like memory, timeout, IAM roles
        )

Read the full file on GitHub · 173 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 173 lines · 0 tokens per session scan A 787cba061f9c

Subscribe to this mod's changes

aws-lambda is a cursor rule published in the GitHub repository sanjeed5/awesome-cursor-rules-mdc (3,570 stars, last pushed 3mo ago), licensed CC0-1.0. It adds 1,365 tokens to every session, about $0.0068 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.