Help us improve
Share bugs, ideas, or general feedback.
From developer-kit-aws
Provides AWS CloudFormation templates and patterns for DynamoDB tables with GSIs, LSIs, auto-scaling, streams, encryption, TTL, PITR, and best practices for parameters, outputs, conditions. Use when provisioning DynamoDB via CloudFormation.
npx claudepluginhub giuseppe-trisciuoglio/developer-kit --plugin developer-kit-awsHow this skill is triggered — by the user, by Claude, or both
Slash command
/developer-kit-aws:aws-cloudformation-dynamodbThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Provides production-ready NoSQL database infrastructure patterns using AWS CloudFormation templates with DynamoDB tables, GSIs, LSIs, auto-scaling, encryption, TTL, and streams.
Provides AWS cloud patterns for Lambda, DynamoDB single-table design, CDK infrastructure, and S3 event processing with TypeScript examples.
Provides AWS CloudFormation patterns for S3 buckets, policies, versioning, lifecycle rules, and template structures with Parameters, Outputs, Mappings, Conditions, and cross-stack references. Use for production S3 infrastructure.
Provides TypeScript patterns for DynamoDB-Toolbox v2: schema/table/entity modeling, .build() workflows, query/scan access patterns, batch/transaction operations, single-table designs with computed keys. For type-safe DynamoDB access layers in TS services.
Share bugs, ideas, or general feedback.
Provides production-ready NoSQL database infrastructure patterns using AWS CloudFormation templates with DynamoDB tables, GSIs, LSIs, auto-scaling, encryption, TTL, and streams.
Covers DynamoDB tables, primary keys, secondary indexes (GSI/LSI), capacity modes, auto-scaling, encryption, TTL, streams, and best practices for parameters, outputs, and cross-stack references.
Creating DynamoDB tables, configuring keys and indexes, setting capacity modes, implementing auto-scaling, enabling encryption/TTL/streams, and organizing CloudFormation templates.
Follow these steps to create DynamoDB tables with CloudFormation:
aws cloudformation validate-template before deploymentaws cloudformation create-stack or update-stackaws cloudformation describe-stack-events for failures or ROLLBACK status| Resource Type | Purpose |
|---|---|
AWS::DynamoDB::Table | Create DynamoDB table |
AWS::ApplicationAutoScaling::ScalableTarget | Auto scaling configuration |
AWS::ApplicationAutoScaling::ScalingPolicy | Scaling policies |
AWS::KMS::Key | KMS key for encryption |
AWS::IAM::Role | IAM roles for auto scaling |
| BillingMode | PAY_PER_REQUEST or PROVISIONED |
| SSESpecification | Server-side encryption |
DynamoDBTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: !Sub "${AWS::StackName}-table"
BillingMode: PAY_PER_REQUEST
AttributeDefinitions:
- AttributeName: pk
AttributeType: S
KeySchema:
- AttributeName: pk
KeyType: HASH
DynamoDBTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: !Sub "${AWS::StackName}-table"
BillingMode: PAY_PER_REQUEST
AttributeDefinitions:
- AttributeName: pk
AttributeType: S
- AttributeName: gsi-pk
AttributeType: S
KeySchema:
- AttributeName: pk
KeyType: HASH
GlobalSecondaryIndexes:
- IndexName: gsi-index
KeySchema:
- AttributeName: gsi-pk
KeyType: HASH
Projection:
ProjectionType: ALL
SessionTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: !Sub "${AWS::StackName}-sessions"
BillingMode: PAY_PER_REQUEST
AttributeDefinitions:
- AttributeName: sessionId
AttributeType: S
KeySchema:
- AttributeName: sessionId
KeyType: HASH
TimeToLiveSpecification:
AttributeName: expiresAt
Enabled: true
ScalableTarget:
Type: AWS::ApplicationAutoScaling::ScalableTarget
Properties:
MaxCapacity: 100
MinCapacity: 5
ResourceId: !Sub "table/${DynamoDBTable}"
RoleARN: !GetAtt AutoScalingRole.Arn
ScalableDimension: dynamodb:table:ReadCapacityUnits
ServiceNamespace: dynamodb
See references/complete-examples.md for more complete examples including encryption, streams, auto scaling, and production tables.
AWSTemplateFormatVersion: 2010-09-09
Description: DynamoDB table with GSI and auto-scaling
Parameters:
TableName:
Type: String
Default: my-table
BillingMode:
Type: String
Default: PAY_PER_REQUEST
Resources:
DynamoDBTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: !Ref TableName
BillingMode: !Ref BillingMode
Outputs:
TableName:
Value: !Ref DynamoDBTable
TableArn:
Value: !GetAtt DynamoDBTable.Arn
See references/advanced-configuration.md for detailed Parameters, Mappings, Conditions, Outputs, IAM roles, and cross-stack references.
Table already exists: Use unique table names or stack deletion policy GSI creation fails: Verify attribute definitions include GSI attributes Auto-scaling not working: Check IAM role permissions and service-linked role TTL not expiring: Ensure TTL attribute is Number type, not String Streams not enabled: Can only enable streams during table creation Encryption errors: Verify KMS key exists in same region as table