Help us improve
Share bugs, ideas, or general feedback.
From developer-kit-java
Configures AWS SDK for Java 2.x clients with credential resolution, HTTP tuning, timeouts, retries, and Spring Boot wiring. Use for service client creation, auth/region debugging, sync/async choices.
npx claudepluginhub giuseppe-trisciuoglio/developer-kit --plugin developer-kit-javaHow this skill is triggered — by the user, by Claude, or both
Slash command
/developer-kit-java:aws-sdk-java-v2-coreThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to set up AWS SDK for Java 2.x clients with production-safe defaults.
Implements AWS Lambda operations using AWS SDK for Java 2.x: invoke functions synchronously/async, create/update/delete functions, manage configs/layers, integrate with Spring Boot.
Provides AWS SDK for Swift patterns: async client creation with struct configs, region/endpoint setup, retries, and custom credentials for S3, DynamoDB, STS. Use for aws-sdk-swift code.
Constructs an AWS SDK v2 aws.Config in a Go service via github.com/xgodev/boost/factory/contrib/aws/aws-sdk-go-v2/v1. Covers the umbrella SDK pattern: one shared config, per-service clients, with examples for Kinesis, S3, SNS, and SQS.
Share bugs, ideas, or general feedback.
Use this skill to set up AWS SDK for Java 2.x clients with production-safe defaults.
It focuses on the decisions that matter most:
Keep SKILL.md focused on setup and delivery flow. Use the references/ files for deeper API details and expanded examples.
S3Client, DynamoDbClient) and async (S3AsyncClient, SqsAsyncClient) clientsS3Client, DynamoDbClient) for request/response flowsS3AsyncClient, SqsAsyncClient) for concurrency, streaming, or backpressureUse DefaultCredentialsProvider with environment-aware defaults:
Override only for multi-account access, test isolation, or profile switching.
Verify: Call StsClient.getCallerIdentity() at startup to confirm credentials resolve.
Set production values explicitly:
Use ApacheHttpClient for sync and NettyNioAsyncHttpClient for async.
Verify: Confirm timeouts and retry behavior under failure conditions.
In Spring Boot:
@Bean singletonsVerify: Check clients are not created inside hot execution paths.
Close custom HTTP clients and SDK clients during shutdown if lifecycle is not managed automatically.
At the boundary layer:
SdkException or service-specific exceptions@PostConstruct in Spring Boot configuration to fail fast on startup if credentials are missingStsClient stsClient = StsClient.builder().build();
GetCallerIdentityResponse identity = stsClient.getCallerIdentity();
// Logs: Successfully authenticated as: {identity.arn()}
@Configuration
public class AwsClientConfiguration {
@Bean
S3Client s3Client() {
return S3Client.builder()
.region(Region.of("eu-south-2"))
.credentialsProvider(DefaultCredentialsProvider.create())
.httpClientBuilder(ApacheHttpClient.builder()
.maxConnections(100)
.connectionTimeout(Duration.ofSeconds(3)))
.overrideConfiguration(ClientOverrideConfiguration.builder()
.apiCallAttemptTimeout(Duration.ofSeconds(10))
.apiCallTimeout(Duration.ofSeconds(30))
.build())
.build();
}
}
SqsAsyncClient sqsAsyncClient = SqsAsyncClient.builder()
.region(Region.US_EAST_1)
.credentialsProvider(DefaultCredentialsProvider.create())
.httpClientBuilder(NettyNioAsyncHttpClient.builder()
.maxConcurrency(200)
.connectionTimeout(Duration.ofSeconds(3))
.readTimeout(Duration.ofSeconds(20)))
.overrideConfiguration(ClientOverrideConfiguration.builder()
.apiCallTimeout(Duration.ofSeconds(30))
.build())
.build();
DefaultCredentialsProvider unless a project requirement says otherwise.references/api-reference.mdreferences/best-practices.mdreferences/developer-guide.mdaws-sdk-java-v2-secrets-manageraws-sdk-java-v2-s3aws-sdk-java-v2-dynamodbaws-sdk-java-v2-bedrock