
Aws Skills
- 56 installs
- 8 repo stars
- Updated August 4, 2026
- bbeierle12/skill-mcp-claude
AWS Skills is a skill providing AWS CDK best practices, serverless patterns, cost optimization, and event-driven architecture guidance.
About
AWS Skills provides AWS development guidance covering CDK project structure, serverless patterns, and event-driven architecture. It documents Lambda and API Gateway stacks, DynamoDB single-table design, EventBridge and SQS patterns, cost optimization, IAM least privilege, and CloudWatch monitoring. A developer uses it when deploying to AWS or writing infrastructure with the AWS CDK.
- AWS development guidance with CDK best practices and serverless patterns
- Covers Lambda, API Gateway, DynamoDB single-table design, and EventBridge/SQS
- Includes cost optimization, IAM least privilege, and CloudWatch/X-Ray monitoring
Aws Skills by the numbers
- 56 all-time installs (skills.sh)
- Ranked #695 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
aws-skills capabilities & compatibility
- Capabilities
- devops · api development · database
- Works with
- aws
- Use cases
- devops · api development · database
- Pricing
- Free
What aws-skills says it does
AWS development with CDK best practices, serverless patterns, cost optimization, and event-driven architecture.
Use when deploying to AWS, writing Lambda functions, configuring API Gateway, working with DynamoDB, S3, or any AWS service.
npx skills add https://github.com/bbeierle12/skill-mcp-claude --skill aws-skillsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 56 |
|---|---|
| repo stars | ★ 8 |
| Last updated | August 4, 2026 |
| Repository | bbeierle12/skill-mcp-claude ↗ |
What it does
Write and deploy AWS infrastructure with CDK best practices, serverless patterns, and cost controls.
Who is it for?
Building and deploying AWS serverless infrastructure with CDK, Lambda, DynamoDB, and EventBridge
Skip if: Non-AWS clouds or infrastructure work outside the AWS ecosystem
When should I use this skill?
Deploying to AWS, writing Lambda functions, configuring API Gateway, or working with DynamoDB, S3, or other AWS services
What you get
AWS infrastructure that follows CDK structure, least-privilege IAM, cost controls, and monitoring
- CDK stack code
- Lambda handler patterns
- DynamoDB table design
Files
AWS Development Skills
AWS CDK Best Practices
Project Structure
infrastructure/
├── bin/
│ └── app.ts # CDK app entry point
├── lib/
│ ├── stacks/
│ │ ├── api-stack.ts
│ │ ├── database-stack.ts
│ │ └── storage-stack.ts
│ ├── constructs/
│ │ ├── lambda-function.ts
│ │ └── api-gateway.ts
│ └── config/
│ └── environment.ts
├── lambda/
│ └── handlers/
├── cdk.json
└── package.jsonStack Definition
import * as cdk from 'aws-cdk-lib';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as apigateway from 'aws-cdk-lib/aws-apigateway';
import { Construct } from 'constructs';
interface ApiStackProps extends cdk.StackProps {
environment: string;
domainName?: string;
}
export class ApiStack extends cdk.Stack {
public readonly api: apigateway.RestApi;
constructor(scope: Construct, id: string, props: ApiStackProps) {
super(scope, id, props);
const handler = new lambda.Function(this, 'ApiHandler', {
runtime: lambda.Runtime.NODEJS_18_X,
handler: 'index.handler',
code: lambda.Code.fromAsset('lambda/handlers'),
environment: { NODE_ENV: props.environment },
memorySize: 256,
timeout: cdk.Duration.seconds(30),
});
this.api = new apigateway.RestApi(this, 'Api', {
restApiName: `${props.environment}-api`,
deployOptions: {
stageName: props.environment,
throttlingRateLimit: 1000,
throttlingBurstLimit: 500,
},
});
const integration = new apigateway.LambdaIntegration(handler);
this.api.root.addMethod('GET', integration);
}
}Serverless Patterns
Lambda Best Practices
import { APIGatewayProxyHandler } from 'aws-lambda';
// Initialize outside handler for connection reuse
const dynamodb = new DynamoDB.DocumentClient();
export const handler: APIGatewayProxyHandler = async (event) => {
try {
const body = JSON.parse(event.body || '{}');
const result = await processRequest(body);
return response(200, result);
} catch (error) {
console.error('Error:', error);
return response(500, { error: 'Internal server error' });
}
};
function response(statusCode: number, body: any) {
return {
statusCode,
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
},
body: JSON.stringify(body),
};
}DynamoDB Single-Table Design
const table = new dynamodb.Table(this, 'Table', {
partitionKey: { name: 'PK', type: dynamodb.AttributeType.STRING },
sortKey: { name: 'SK', type: dynamodb.AttributeType.STRING },
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
});
// Access patterns
// User by ID: PK=USER#123, SK=PROFILE
// User's orders: PK=USER#123, SK=ORDER#timestamp
// Order by ID: GSI1PK=ORDER#456, GSI1SK=ORDER#456Event-Driven with EventBridge
const rule = new events.Rule(this, 'OrderCreatedRule', {
eventPattern: {
source: ['orders'],
detailType: ['OrderCreated'],
},
});
rule.addTarget(new targets.LambdaFunction(processOrderHandler));
rule.addTarget(new targets.SqsQueue(notificationQueue));SQS + Lambda Pattern
const dlq = new sqs.Queue(this, 'DeadLetterQueue');
const queue = new sqs.Queue(this, 'ProcessingQueue', {
visibilityTimeout: cdk.Duration.seconds(300),
deadLetterQueue: { queue: dlq, maxReceiveCount: 3 },
});
processor.addEventSource(new SqsEventSource(queue, {
batchSize: 10,
maxBatchingWindow: cdk.Duration.seconds(5),
}));Cost Optimization
Lambda Optimization
const handler = new lambda.Function(this, 'Handler', {
memorySize: 256,
timeout: cdk.Duration.seconds(10),
architecture: lambda.Architecture.ARM_64, // Cost savings
});S3 Lifecycle Rules
const bucket = new s3.Bucket(this, 'Bucket', {
lifecycleRules: [{
transitions: [
{ storageClass: s3.StorageClass.INFREQUENT_ACCESS, transitionAfter: cdk.Duration.days(30) },
{ storageClass: s3.StorageClass.GLACIER, transitionAfter: cdk.Duration.days(90) },
],
expiration: cdk.Duration.days(365),
}],
});Security Best Practices
IAM Least Privilege
// Grant methods (preferred)
table.grantReadWriteData(handler);
bucket.grantRead(handler);Secrets Management
const secret = secretsmanager.Secret.fromSecretNameV2(this, 'DbSecret', 'prod/db/credentials');
secret.grantRead(handler);Monitoring
CloudWatch Alarms
new cloudwatch.Alarm(this, 'LambdaErrors', {
metric: handler.metricErrors(),
threshold: 1,
evaluationPeriods: 1,
});X-Ray Tracing
const handler = new lambda.Function(this, 'Handler', {
tracing: lambda.Tracing.ACTIVE,
});{
"name": "aws-skills",
"description": "AWS development with CDK best practices, serverless patterns, cost optimization, and event-driven architecture. Use when deploying to AWS, writing Lambda functions, configuring API Gateway, working with DynamoDB, S3, or any AWS service.",
"tags": [
"infrastructure",
"deployment",
"python",
"scaffolding"
],
"sub_skills": [],
"source": "claude-user",
"type": "template",
"depends_on": [],
"enhances": [
"mcp-builder"
],
"last_reviewed_at": "2026-05-22",
"review_score": 60,
"relevance_tier": "B"
}
Related skills
FAQ
What CDK patterns does it cover?
Stack structure, Lambda constructs, API Gateway, DynamoDB single-table design, EventBridge, and SQS+Lambda.
Does it cover cost and security?
Yes, including ARM_64 Lambda, S3 lifecycle rules, IAM least privilege, and Secrets Manager access.