AWS Serverless Eda
zxkane/aws-skills
AWS serverless and event-driven architecture expert based on Well-Architected Framework.
AWS Lambda serverless functions for event-driven compute. An agent skill from itsmostafa/aws-agent-skills.
$ npx skills add itsmostafa/aws-agent-skills --skill lambda -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install itsmostafa/aws-agent-skills lambda --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/itsmostafa/aws-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/lambda .claude/skills/lambda && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "lambda" agent skill from https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/lambda into .claude/skills/lambda/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lambda", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/lambdaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add itsmostafa/aws-agent-skills --skill lambda -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install itsmostafa/aws-agent-skills lambda --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/itsmostafa/aws-agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/lambda .agents/skills/lambda && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "lambda" agent skill from https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/lambda into .agents/skills/lambda/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lambda", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add itsmostafa/aws-agent-skills --skill lambda -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install itsmostafa/aws-agent-skills lambda --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/itsmostafa/aws-agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/lambda .cursor/skills/lambda && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "lambda" agent skill from https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/lambda into .cursor/skills/lambda/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lambda", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/itsmostafa/aws-agent-skills.git --path skills/lambda--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add itsmostafa/aws-agent-skills --skill lambda -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install itsmostafa/aws-agent-skills lambda --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/itsmostafa/aws-agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/lambda .gemini/skills/lambda && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "lambda" agent skill from https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/lambda into .gemini/skills/lambda/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lambda", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install itsmostafa/aws-agent-skills lambdaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add itsmostafa/aws-agent-skills --skill lambda -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/itsmostafa/aws-agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/lambda .github/skills/lambda && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "lambda" agent skill from https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/lambda into .github/skills/lambda/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lambda", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add itsmostafa/aws-agent-skills --skill lambda -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install itsmostafa/aws-agent-skills lambda --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/itsmostafa/aws-agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/lambda .opencode/skills/lambda && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "lambda" agent skill from https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/lambda into .opencode/skills/lambda/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lambda", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
lambdaAWS Lambda serverless functions for event-driven compute. An agent skill from itsmostafa/aws-agent-skills.
Lambda is an agent skill from itsmostafa/aws-agent-skills. AWS Lambda serverless functions for event-driven compute. Use when creating functions, configuring triggers, debugging invocations, optimizing cold starts, setting up event source mappings, or managing layers.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `debugging.md` and `deployment.md`).
It sits in Backend & APIs, covering Event-driven systems and Serverless. It works with AWS Lambda. The repository describes itself as: AWS Skills for Agents. The licence is MIT.
Read from SKILL.md and the folder at commit e786d25. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
awsFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.aws.amazon.comboto3.amazonaws.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Lambda loads about 2.2k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 488 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from itsmostafa/aws-agent-skills at commit e786d25, republished under its MIT licence (© itsmostafa). 488 words, ~2,153 tokens.
.claude/skills/lambda/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.AWS Lambda runs code without provisioning servers. You pay only for compute time consumed. Lambda automatically scales from a few requests per day to thousands per second.
Your code packaged with configuration. Includes runtime, handler, memory, timeout, and IAM role.
| Type | Description | Use Case |
|---|---|---|
| Synchronous | Caller waits for response | API Gateway, direct invoke |
| Asynchronous | Fire and forget | S3, SNS, EventBridge |
| Poll-based | Lambda polls source | SQS, Kinesis, DynamoDB Streams |
Lambda creates execution environments to run your function. Components:
Reusable packages of libraries, dependencies, or custom runtimes (up to 5 per function).
AWS CLI:
# Create deployment package
zip function.zip lambda_function.py
# Create function
aws lambda create-function \
--function-name MyFunction \
--runtime python3.12 \
--role arn:aws:iam::123456789012:role/lambda-role \
--handler lambda_function.handler \
--zip-file fileb://function.zip \
--timeout 30 \
--memory-size 256
# Update function code
aws lambda update-function-code \
--function-name MyFunction \
--zip-file fileb://function.zipboto3:
import boto3
import zipfile
import io
lambda_client = boto3.client('lambda')
# Create zip in memory
zip_buffer = io.BytesIO()
with zipfile.ZipFile(zip_buffer, 'w') as zf:
zf.writestr('lambda_function.py', '''
def handler(event, context):
return {"statusCode": 200, "body": "Hello"}
''')
zip_buffer.seek(0)
# Create function
lambda_client.create_function(
FunctionName='MyFunction',
Runtime='python3.12',
Role='arn:aws:iam::123456789012:role/lambda-role',
Handler='lambda_function.handler',
Code={'ZipFile': zip_buffer.read()},
Timeout=30,
MemorySize=256
)# Add permission for S3 to invoke Lambda
aws lambda add-permission \
--function-name MyFunction \
--statement-id s3-trigger \
--action lambda:InvokeFunction \
--principal s3.amazonaws.com \
--source-arn arn:aws:s3:::my-bucket \
--source-account 123456789012
# Configure S3 notification (see S3 skill)aws lambda create-event-source-mapping \
--function-name MyFunction \
--event-source-arn arn:aws:sqs:us-east-1:123456789012:my-queue \
--batch-size 10 \
--maximum-batching-window-in-seconds 5aws lambda update-function-configuration \
--function-name MyFunction \
--environment "Variables={DB_HOST=mydb.cluster-xyz.us-east-1.rds.amazonaws.com,LOG_LEVEL=INFO}"# Create layer
zip -r layer.zip python/
aws lambda publish-layer-version \
--layer-name my-dependencies \
--compatible-runtimes python3.12 \
--zip-file fileb://layer.zip
# Attach to function
aws lambda update-function-configuration \
--function-name MyFunction \
--layers arn:aws:lambda:us-east-1:123456789012:layer:my-dependencies:1# Synchronous invoke
aws lambda invoke \
--function-name MyFunction \
--payload '{"key": "value"}' \
response.json
# Asynchronous invoke
aws lambda invoke \
--function-name MyFunction \
--invocation-type Event \
--payload '{"key": "value"}' \
response.json| Command | Description |
|---|---|
aws lambda create-function | Create new function |
aws lambda update-function-code | Update function code |
aws lambda update-function-configuration | Update settings |
aws lambda delete-function | Delete function |
aws lambda list-functions | List all functions |
aws lambda get-function | Get function details |
| Command | Description |
|---|---|
aws lambda invoke | Invoke function |
aws lambda invoke-async | Async invoke (deprecated) |
| Command | Description |
|---|---|
aws lambda create-event-source-mapping | Add event source |
aws lambda list-event-source-mappings | List mappings |
aws lambda update-event-source-mapping | Update mapping |
aws lambda delete-event-source-mapping | Remove mapping |
| Command | Description |
|---|---|
aws lambda add-permission | Add resource-based policy |
aws lambda remove-permission | Remove permission |
aws lambda get-policy | View resource policy |
# GOOD: Initialize outside handler
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('MyTable')
def handler(event, context):
# Reuses existing connection
return table.get_item(Key={'id': event['id']})Symptom: Task timed out after X seconds
Causes:
Debug:
# Check function configuration
aws lambda get-function-configuration \
--function-name MyFunction \
--query "Timeout"
# Increase timeout
aws lambda update-function-configuration \
--function-name MyFunction \
--timeout 60Symptom: Function crashes with memory error
Fix:
aws lambda update-function-configuration \
--function-name MyFunction \
--memory-size 512Causes:
Solutions:
# Enable Provisioned Concurrency
aws lambda put-provisioned-concurrency-config \
--function-name MyFunction \
--qualifier LIVE \
--provisioned-concurrent-executions 5Symptom: AccessDeniedException
Debug:
# Check execution role
aws lambda get-function-configuration \
--function-name MyFunction \
--query "Role"
# Check role policies
aws iam list-attached-role-policies \
--role-name lambda-roleSymptom: Cannot reach internet or AWS services
Causes:
Solutions:
© itsmostafa, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in skills/lambda of itsmostafa/aws-agent-skills.
Open the folder on GitHubat commit e786d25
Lambda next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Lambda this skillitsmostafa/aws-agent-skills | 1.2k | — | ~2.2k | Automated safety check: Pass | MIT | |
| AWS Serverless Edazxkane/aws-skills | 367 | 4 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Polylith Base CreationDavidVujic/python-polylith | 553 | — | ~757 | Automated safety check: Pass | MIT | |
| Processing S3 Uploads With Step Functionsaws/agent-toolkit-for-aws | 2.8k | — | ~4k | Automated safety check: Pass | Apache-2.0 | |
| AWS Serverlessdavila7/claude-code-templates | 32k | 7 repos | ~2k | Automated safety check: Pass | MIT | |
| AWS Lambda Microvmsawslabs/agent-plugins | 912 | 1 repos | ~4.1k | Automated safety check: Pass | Apache-2.0 |
zxkane/aws-skills
AWS serverless and event-driven architecture expert based on Well-Architected Framework.
DavidVujic/python-polylith
Create a Polylith base with poly create base — the entry point of a deployable application (HTTP API, CLI, message-queue consumer, AWS Lambda handler, GCP Cloud Function, scheduled job).
aws/agent-toolkit-for-aws
Deploy an event-driven workflow that routes S3 uploads to either Lambda or Fargate via Step Functions based on file size.
davila7/claude-code-templates
Specialized skill for building production-ready serverless applications on AWS.
awslabs/agent-plugins
Build, run, debug, and operate applications on AWS Lambda MicroVMs — Firecracker-isolated, snapshot-resumable serverless compute environments that run inside a container with up to 8-hour lifetimes.
awslabs/agent-plugins
Design, build, deploy, test, and debug serverless applications with AWS Lambda.
itsmostafa/aws-agent-skills
AWS API Gateway for REST and HTTP API management. An agent skill from itsmostafa/aws-agent-skills.
itsmostafa/aws-agent-skills
AWS Bedrock foundation models for generative AI. An agent skill from itsmostafa/aws-agent-skills.
itsmostafa/aws-agent-skills
AWS Cognito user authentication and authorization service. An agent skill from itsmostafa/aws-agent-skills.
itsmostafa/aws-agent-skills
AWS CloudFormation infrastructure as code for stack management.
itsmostafa/aws-agent-skills
AWS CloudWatch monitoring for logs, metrics, alarms, and dashboards.
itsmostafa/aws-agent-skills
AWS DynamoDB NoSQL database for scalable data storage. An agent skill from itsmostafa/aws-agent-skills.
Works with
Categories
AWS Lambda serverless functions for event-driven compute. An agent skill from itsmostafa/aws-agent-skills. Lambda is an agent skill from itsmostafa/aws-agent-skills. AWS Lambda serverless functions for event-driven compute.
Lambda fits situations like: creating functions; configuring triggers; debugging invocations; optimizing cold starts.
Run `npx skills add itsmostafa/aws-agent-skills --skill lambda -a claude-code`. Or copy the skill folder (skills/lambda in itsmostafa/aws-agent-skills) into .claude/skills/lambda in your project. Claude Code loads it when a task matches its description.
Run `npx skills add itsmostafa/aws-agent-skills --skill lambda -a codex`. Or copy the skill folder (skills/lambda in itsmostafa/aws-agent-skills) into .agents/skills/lambda in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add itsmostafa/aws-agent-skills --skill lambda -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lambda, .gemini/skills/lambda, .github/skills/lambda and .opencode/skills/lambda in your project.
Going by SKILL.md and its folder, Lambda needs the command-line tools its instructions call (aws). Our summary lists: Python 3.
SKILL.md names 2 domains. As links in the text: docs.aws.amazon.com and boto3.amazonaws.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Lambda is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Lambda: AWS Serverless Eda (zxkane/aws-skills, 367 stars), Polylith Base Creation (DavidVujic/python-polylith, 553 stars), Processing S3 Uploads With Step Functions (aws/agent-toolkit-for-aws, 2.8k stars) and AWS Serverless (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
itsmostafa (a GitHub user) maintains it in itsmostafa/aws-agent-skills, which has 1,160 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 5, 2026.
Source: itsmostafa/aws-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.